硬件平台:迅为iTOP-3568开发板平台
软件版本:Android11
手把手教你在rk3568开发板上移植Android11。内含硬件原理图分析、底层驱动编写与Android底层框架,JNI编程等众多技能点,让您的学习和使用过程更加轻松~
Android 系统由于用的是 linux 内核,因此内核移植和嵌入式 linux 内核移植差异不大,
大家不要有畏难心理。
android 是一个移动终端操作系统平台,主要有操作系统,中间件,核心应用程序组成
的架构。Android11 也提供了一整套完整的软件框架,方便开发者开发各种应用程序。关于
android 的介绍,大家可以去 android 开发者网站查阅资料。
Android 系统架构如下:
从上层到底层,分别是应用程序层,进程通信层,系统服务层,Android 运行时层和 Linux
核心层。通过上图可以发现,基本应用程序运行在应用程序框架层之上,同样,开发者借助
AndroidSDK 调用应用程序框架 API 开发出来的应用程序也运行在应用程序框架层之上。
Android 是基于 Linux 内核的,所以我们移植 Android11 完全不需要什么担心,其他几个层的
知识,我们在以后移植的过程中再再慢慢了解学习。
那么我们如何学习 android 呢?最权威的资料是 Android 源码,Android 源码主要组成
如下:
l Kernel:Android Linux 内核
l bionic: Android 标准 C 支持库
l bootLoader :Android 内核加载器参考
l Build :Android 的 build 系统
l cts:Android 兼容性测试源
l Dalvik :Dalvik 虚拟机
l External:Android 使用的开放源
l Frameworks:Android 框架
l Hardware:Android HAL 库源
l Package:包含 Android 应用程序
l System:android 初始化进程,蓝牙工具集等。
到这里,我们再来看 android11 源码的源码目录,是不是清晰了很多。
buid.sh 是编译脚本。
瑞芯微官方Android11移植开发教程目录:
瑞芯微官方Android 11 移植开发
第一章Android系统开发编译环境配置
专题一让android系统在iTOP-rk3568上运行起来
第二章Android源码结构简介
第三章 获取Android源码
第四章 配置IO电源域
4.1 电源域的概念
4.2 IO电源域配置方法
4.2.1 VCCIO2解析
4.2.2 VCCIO1解析
4.2.3 VCCIO3解析
4.2.4 VCCIO4解析
4.2.5 VCCIO5解析
4.2.6 VCCIO6解析
4.2.7 VCCIO7解析
4.2.8 PMUIO解析
4.2.9 总结
第五章 RK809电源芯片配置
5.1 配置i2c和中断
5.2 配置供电和输出电压
第六章 编译烧写验证
专题二 Android11 配置串口
第七章 配置调试串口
7.1 硬件原理解析
7.2 设备树配置
7.3 uboot设置调试串口
7.4 使用MobaXterm打开调试串口
第八章配置普通串口
8.1 硬件原理解析
8.2 设备树配置
8.3 修改节点权限
8.4 测试串口
8.5 Android串口APP编写
8.5.1串口硬件连接
8.5.2软件准备
8.5.3创建JNI项目工程
8.5.4编写串口操作的JNI接口
8.5.5编写Mainactivity.java
8.5.6编写activity_main.xml
第九章配置调试串口为普通串口
9.1 在配置文件中关闭 FIQ
9.2 修改设备树
9.3 修改串口权限
第十章Android11 配置485
10.1 硬件原理分析
10.2 编写驱动
10.3 设备树配置
10.4 烧写验证
10.5 编写应用程序APP