目录
前言
本专栏《RK3568 Android11从开发入门到能独立开发教程》,以AIO-3568J开发板来讲解入门教程;学习嵌入式开发,开发板是不可缺少的工具;想学习的朋友,也可以购买一块开发板来学习;市面上开发板种类比较繁多,选择的话可以根据自己的情况来选择哈,也可以不选择AIO-3568J的开发板,其他RK3568开发板只要开放资料也可以的,比如板子原理图,位号图和SDK开源等开源资料;
同时RK3566也可参考此篇教程学习,因RK3568和RK3566是使用同一套Android11 SDK源码,所以SDK目录结构和代码都是一样的哈;RK3566只是在RK3568的基础上做了些功能裁剪;
本专栏以学习为目的,本专栏提供的所有资料,请勿用于商业用途,用于商业用途小编一概不负责;感谢大家的支持;文章会持续更新,并且也会不断的修正已发布的文章不足之处;如有哪部分讲解内容有误,欢迎各位朋友私信告诉小编给与修正,大家一起互相学习;
一、AIO-3568J开发板
本教程是使用AIO-3568J开发板来作为基础教学,下面是开发板的图片和功能:
AIO-3568J的开发板接口还是挺丰富的,这些接口在实际项目开发中也是能满足大多数的项目开发使用;
二、教程目录引导
● 基础环境篇
1、[RK3568 Android11] 教程之开发工具和软件说明
2、[RK3568 Android11] 教程之VMware虚拟机安装步骤
3、[RK3568 Android11] 教程之安装Ubuntu18.04系统
4、[RK3568 Android11] 教程之Ubuntu18.04安装samba服务
5、[RK3568 Android11] 教程之Xshell软件安装和使用
6、[RK3568 Android11] 教程之SDK源码解压和编译依赖包安装
7、[RK3568 Android11] 教程之source insight添加工程
● git使用篇
1、[RK3568 Android11] 教程之git服务安装
2、[RK3568 Android11] 教程之创建git远程仓库方法
3、[RK3568 Android11] 教程之SDK源码上传git远程仓库
4、[RK3568 Android11] 教程之.gitignore过滤文件
● 编译源码和升级篇
1、[RK3568 Android11] 教程之android11源码编译
2、[RK3568 Android11] 教程之升级固件方法
2.1 [RK3568 Android11] 教程之升级固件方法一(电脑驱动安装)
2.2 [RK3568 Android11] 教程之升级固件方法二(电脑升级Update包)
2.3 [RK3568 Android11] 教程之升级固件方法三(电脑升级部分img方法)
2.4 [RK3568 Android11] 教程之升级固件方法四(TF升级卡制作)
3、[RK3568 Android11] 教程之原厂SDK源码适配AIO-3568J板子跑起来
4、[RK3568 Android11] 开发之kernel和resource烧入(打包boot.img)方法
● debug调试技术篇
1、[RK3568 Android11] 教程之高效率开发调试方法
2、[RK3568 Android11] 教程之调试串口
3、[RK3568 Android11] 教程之ADB工具
4、内核printk打印;
4.1 [RK3568 Android11] 教程之内核printk函数的用法
4.2 [RK3568 Android11] 教程之内核printk函数日志等级
4.3 [RK3568 Android11] 教程之内核printk便捷调试方法
5、调试利器
5.1 [RK3568 Android11] 教程之kernel源码分析利器dump_stack
5.2 [RK3568 Android11] 教程之内核ramoops机制
5.3 [RK3568 Android11] 教程之内核错误码
● 驱动知识基础篇
1、设备树DTS
1.1 [RK3568 Android11] 教程之设备树DTS讲解
2、Makefile和Kconfig
2.1 [RK3568 Android11] 教程之kernel Makefile和Kconfig关系讲解
2.2 [RK3568 Android11] 教程之kernel Makefile分析和语法讲解
2.3 [RK3568 Android11] 教程之kernel Kconfig分析和语法讲解
2.4 [RK3568 Android11] 教程之kernel Makefile和Kconfig使用示例
3、platform总线驱动
3.1 [RK3568 Android11] 教程之了解platform总线驱动
3.2 [RK3568 Android11] 教程之platform总线 GPIO简单驱动
4、定时器
4.1 [RK3568 Android11] 教程之定时器(timer)
4.2 [RK3568 Android11] 教程之高精度定时器(hrtimer)
5、工作队列和延时工作队列;
5.1 [RK3568 Android11] 教程之Workqueue工作队列
5.2 [RK3568 Android11] 教程之Workqueue延时工作队列
6、中断;
6.1 [RK3568 Android11] 教程之硬件中断(IRQ)
6.2 [RK3568 Android11] 教程之硬件中断(实验一)
7、内核各种锁;
7.1 [RK3568 Android11] 教程之并发和竞争
7.2 [RK3568 Android11] 教程之内核处理并发和竞争机制(原子操作一)
7.3 [RK3568 Android11] 教程之内核处理并发和竞争机制(原子操作实验)
7.4 [RK3568 Android11] 教程之内核处理并发和竞争机制(自旋锁)
7.5 [RK3568 Android11] 教程之内核处理并发和竞争机制(自旋锁实验)
7.6 [RK3568 Android11] 教程之内核处理并发和竞争机制(读写自旋锁)
7.7 [RK3568 Android11] 教程之内核处理并发和竞争机制(信号量)
7.8 [RK3568 Android11] 教程之内核处理并发和竞争机制(信号量实验)
7.9 [RK3568 Android11] 教程之内核处理并发和竞争机制(互斥锁)
7.10 [RK3568 Android11] 教程之内核处理并发和竞争机制(互斥锁实验)
8、按键上报驱动;
9、ADC驱动;
10、字符驱动;
11、sysfsx虚拟文件驱动;
12、input系统;
13、内存篇
13.1 [RK3568 Android11] 教程之数据段(BSS段、DATA段)、代码段(TEXT)、堆栈段(内存管理一)
13.2 [RK3568 Android11] 教程之kmalloc动态申请内存
13.3 [RK3568 Android11] 教程之kzalloc动态申请内存
13.4 [RK3568 Android11] 教程之vmalloc动态申请内存待更新,敬请期待......
● 驱动调试篇
1、设备树DTS篇
1.1 [RK3568 Android11] 教程之IO电源域和rk809 DTS讲解
2、LCD显示篇
2.1 [RK3568 Android11] 开发之LVDS屏幕
2.2 [RK3568 Android11] 开发之MIPI屏幕调试
2.3 [RK3568 Android11] 开发之RK628D HDMI IN 显示一
2.4 [RK3568 Android11] 开发之RK628D HDMI IN 显示二
3、触摸屏篇
3.1 [RK3568 Android11] 开发之GT911触摸屏调试
4、Camera篇
4.1 [RK3568 Android11] 开发之MIPI Camera
5、音频篇
5.1 [RK3568 Android11] 开发之调试RK809 codec音频-SPK喇叭
5.2 [RK3568 Android11] 开发之调试RK809 codec音频-耳机
5.3 [RK3568 Android11] 开发之调试RK809 codec音频-MIC
5.4 [RK3568 Android11] 开发之RK628D HDMI IN 音频一
5.5 [RK3568 Android11] 开发之RK628D HDMI IN 音频二
6、存储篇
6.1 [RK3568 Android11] 开发之M.2 SSD固态硬盘
6.2 [RK3568 Android11] 开发之SATA硬盘
7、WIFI篇
7.1 [RK3568 Android11] 开发之WiFi6(AP6275S)
8、蓝牙篇
8.1 [RK3568 Android11] 开发之蓝牙(AP6275S)
9、4G网络篇
9.1 [RK3568 Android11] 开发之4G模块(移远模块)
10、parameter分区篇
10.1 [RK3568 Android11] 教程之parameter分区了解
10.2 [RK3568 Android11] 教程之parameter分区大小修改
10.3 [RK3568 Android11] 教程之parameter新建分区
11、watchdog看门狗
11.1 [RK3568 Android11] 教程之watchdog看门狗
11.2 [RK3568 Android11] 教程之watchdog看门狗应用
12、sensor传感器
12.1 [RK3568 Android11] 教程之cm32181光线传感器驱动
13、开机logo
13.1 [RK3568 Android11] 教程之替换uboot和kernel开机logo图片
13.2 [RK3568 Android11] 教程之制作和替换android开机logo图片
13.3 [RK3568 Android11] 教程之android视频开机logo
14、RK storage
14.1 [RK3568 Android11] 教程之使用RKDevInfoWriteTool工具烧录SN和MAC地址等
15、GPIO
15.1 [RK3568 Android11]开发之PCA9535 GPIO扩展芯片调试
15.2 [RK3568 Android11]开发之PCA9535 GPIO使用方法
待更新,敬请期待......
● Android中间层篇
1、[RK3568 Android11] 教程之双屏异显指定主副屏
2、[RK3568 Android11] 教程之屏幕旋转和显示密度配置
3、selinux模式修改
3.1 [RK3568 Android11] 开发之修改selinux模式
3.2 [RK3568 Android11] 开发之user版本关闭selinux
4、[RK3568 Android11] 开发之默认系统语言和时区
5、[RK3568 Android11] 开发之创建属于此项目的mk配置文件
6、[RK3568 Android11] 开发之修改默认使用的dts文件名
7、[RK3568 Android11] 教程之解决shell格式错误和^M问题
8、GPS
8.1 [RK3568 Android11]开发之GPS调试(一)
8.2 [RK3568 Android11]开发之GPS调试(二)
待更新,敬请期待......
● Android上层调试篇
1、[RK3568 Android11] 开发之默认不锁屏,永不休眠,浅度睡眠,鼠标右键功能
2、权限
2.1 [RK3568 Android11] 开发之默认授予系统预置的APP权限
2.2 [RK3568 Android11] 开发之默认授予第三方安装的APP权限
3、显示和隐藏项
3.1 [RK3568 Android11] 开发之系统永久隐藏导航栏
3.2 [RK3568 Android11] 开发之系统动态隐藏导航栏(一)
3.3 [RK3568 Android11] 开发之系统动态隐藏导航栏(二)
3.4 [RK3568 Android11] 开发之系统动态隐藏导航栏(三)
3.5 [RK3568 Android11] 开发之系统隐藏状态栏
3.6 [RK3568 Android11] 开发之系统动态隐藏状态栏(一)
3.7 [RK3568 Android11] 开发之系统动态隐藏状态栏(二)
3.8 [RK3568 Android11] 开发之系统动态隐藏状态栏(三)
3.9 [RK3568 Android11] 开发之系统永久隐藏下拉框
3.10 [RK3568 Android11] 开发之系统动态隐藏下拉框(一)
3.11 [RK3568 Android11] 开发之系统动态隐藏下拉框(二)
3.12 [RK3568 Android11] 开发之系统动态隐藏下拉框(三)
4、USB OTG模式切换
4.1 [RK3568 Android11] 教程之USB OTG模式切换
4.2 [RK3568 Android11] 开发之开发者选项中添加USB OTG模式切换(一)
4.3 [RK3568 Android11] 开发之开发者选项中添加USB OTG模式切换(二)
4.4 [RK3568 Android11] 开发之开发者选项中添加USB OTG模式切换(三)
4.5 [RK3568 Android11] 开发之开发者选项中添加USB OTG模式切换(不保存状态)
4.6 [RK3568 Android11] 开发之APP应用切换USB OTG模式
5、中文输入法
5.1 [RK3568 Android11] 开发之内置默认中文输入法(谷歌输入法)
6、屏幕旋转
6.1 [RK3568 Android11] 开发之可动态设置屏幕旋转(一)
6.2 [RK3568 Android11] 开发之可动态设置屏幕旋转(二)
6.3 [RK3568 Android11] 开发之强制APP横屏或者竖屏显示
7、系统API
7.1 [RK3568 Android11] 教程之添加JNI系统服务—底层驱动篇(一)
7.2 [RK3568 Android11] 教程之添加JNI系统服务—Hardware层篇(二)
7.3 [RK3568 Android11] 教程之添加JNI系统服务—JNI层篇(三)
7.4 [RK3568 Android11] 教程之添加JNI系统服务—SystemService篇(四)
7.5 [RK3568 Android11] 教程之添加JNI系统服务—Selinux权限篇(五)
7.6 [RK3568 Android11] 教程之添加JNI系统服务—APP调用led系统服务API篇(六)
待更新,敬请期待......
教程内容已发表的,会已链接的形式给出,只需点击该链接可跳转到该内容;教程内容会随时进行修改和排版,请知悉;