嵌入式系统移植 - ANDROID6.0

功能定义

硬件定义

类型 模组说明
SOC RK3126C
PMU RK816
TP GSL1680
LCD 3.9寸(ST7701S SPI+RGB)
RF AP6212(BT+WIFI)
LED 双色灯一枚(NotificationLED / PowerLED)
KEY 五个物理按键(Power / Volume- / Volume+ / Func1 / Func2)
Flash FORESEE NCEMAD9D-16G
DDR SAMSUNG 16bit 1G

软件功能

  • 支持硬件基础功能
  • SystemUI 界面定制
Tips:
Android 5.0 之前使用的是 Dalvik 编译器,当时是边解释边执行,效率偏低。
Android 5.1 之后使用的是 Art 编译器,就是在APP首次安装时,便解释成机器语言,这样做虽然可以提高速度,但是APP安装的速度会变慢。
Android 7.0 中加入了 Jit ,Art 与它同时运行,Art 负责核心代码编译,Jit 则是将没有编译的部分在执行时进行编译。

获取源码

  • 从代码仓库同步代码
    repo init --repo-url ssh://git@localhost/repo.git -u ssh://git@localhost/rk_repo/platform/manifest.git -b android6.0 -m tower_smartdream_v1.0.xml'

  • 根据项目名切出一份目标分支
    repo forall -c 'git checkout -b develop'

首次编译

 $> source build/envsetup.sh
 $> lunch 13
 $> ./build.sh
顺序执行以上三个动作, 编译完成后会在
/RKTools/linux/Linux_Pack_Firmware/rockdev/ 下生成 Update.img
1. prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.15-4.8//x86_64-linux/bin/ld: error: /home/hains/android/system/out/host/linux-x86/obj32/SHARED_LIBRARIES/libart_intermediates/arch/x86/quick_entrypoints_x86.o: unsupported reloc 43 against global symbol art::Runtime::instance_  
解决方法: cp /usr/bin/ld.gold prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.15-4.8/x86_64-linux/bin/ld

开始移植

uBoot

Kernel

Framework

System-APP

发布了53 篇原创文章 · 获赞 19 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/qq_33443989/article/details/102851776