很久没更新blog了。暂时把原因归结为---- 一直在努力适应新的环境。这话说得略显矫情。 省去感慨和抱怨,直接切入正题,前段时间拿到三星Exynos4412的开发板。初次体验四核处理器,有点小兴奋。这几天的工作是把Ublox-6M的Gps 驱动移植到Tiny4412的android 4.2.2上。 之前一直在用友善的tiny210+android2.3.1,4.0以上的底层开发接触的比较少。不过最近看了看android源码里的几个HAL的demo,发现有一些小变动,比如LOGE--->ALOGE,某些函数接口参数返回值改变等等。不过这些都可以忽略不计了。
移植过程可以参考我之前的一篇blog:基于android2.3.1的车载导航 里面对android的GPS系统框架做了简单的介绍。 虽然这次改动看似不大,但是移植过程略显曲折,源码改动的细节就不再赘述了,参考我上传的2.3.1的源码即可,这次由于种种原因暂时不上传源码。只说一下移植过程中碰到的问题和解决方法。
问题:编译好的库放到根文件系统后Android启动卡在开机画面。
解决方法:
1..终端的打印信息无法定位错误位置,用logcat,查看系统log。
2.发现log中出现了一直无法打开串口设备文件的错误,是这个错误导致android启动卡在开机画面。
3. 打开设备文件失败,猜想是权限问题,然后在系统shell下 ls -l dev/ttySACX 。的确没猜错。
4.下面就是修改串口设备的权限, 在根文件系统下修改init.rc 修改 ttySACx 的权限为0666。 启动开发板,即可顺利进入系统。
细节问题:包括源码修改,编译,看看这篇文章 基于android2.3.1的车载导航
先show一下新板子
Tiny4412 GPS HAL测试
可用卫星分布,及基本定位信息。
GPS模块 Ublox-6M