如之前的android编译笔记里面描述,目前已经可以编译出armv7-neon的android镜像了,也就是说目前的环境以及aosp可以支持定制android程序了。
昨天晚上在device下面已经粗略的改了一套6410的设备文件。然后仔细看看了,6410的指令集是armv6的,4.4.2的aosp里面好像只有支持v7和v5的,没有直接支持v6。考虑到v5的指令集是可以放在v6的设备上面跑的,于是先尝试把target改成armv5te的进行编译,结果一开始就出错了。明显4.4.2已经不再支持v5te了,只是有些代码还没有彻底清理掉。通过lunch也可以看出来,选项里面并没有armv5的设备可以选择。这样子就有些纠结,到底还是在这上面鼓捣还是怎么搞来着……
今天想了想,树莓派1用的芯片也是博通的arm1176的芯片,听说树莓派上面有移植过android,当然还不知道版本多少。晚上查了查,貌似4.4.2的有声明在port,但是最新进度没有去同步查过,看到的声明也是14年的事情。然后在github上面找到了android for
armv6的一个开源项目,好像是for cm12的。所以准备先花点时间看看能不能在4.4.2上面把那些支持同步过来。
不过目前对android的和指令集有关的东西理解不多。大致看了代码,好像c库和dalvik虚拟机都会和这个东西有关。但是隐约记得有些java的app也会通过service调用ndk里面的东西,这个搞起来就比较麻烦了……不过考虑自己的目标只是在6410上移植好内核和跟文件系统,可以进到console就算成功,所以还是试一下!
另外armvX的几个版本的差异也顺便记一下,除了armv7-neon的这个东西,其他的都是和vfp这个版本有关系,7开始都是3、4的版本,前面都是1、2,可怜的arm1176
以上2015.02.10