snifer

【原创】基于6410的Android-2.1系统编译

0
阅读(2725)

6410以其处理速度和存储容量的优势在近年来得到飞速发展,今天我写一下如何对6410板子编译Android-2.1系统,我用的板子名称是ETC6410。具体分为如下几个步骤:
1、我们在android-2.1 源码下提供了一个编译脚本android_build.sh,这个脚本会自动编译android 源码,并制作好一个可用的android 文件系统。进入android-2.1 的目录后运行下面的命令即可:
# cd ~/android-2.1-ETC6410-r1
# sudo ./android_build.sh
编译结束后,将在Android-2.1-ETC6410-r1/rootfs 目录下产生相应的文件系统的内容,其中android.tar.gz 用来直接烧写到板子的flash 中,这个目录下的其他文件就是这个文件系统的内容了。
2. 我们在Android-2.1 下为WIFI、Camera、JPEG、GPS 开发了相应的支持包,并以库文件(so)的形式提供。不过在编译的时候,需要对GPS 的so 文件进行一定的处理。
因为我们提供的GPS 模块在可能有2 种默认的波特率,一种是9600,一种是4800,对于不同的波特率需要使用不同的libgps.so 文件。我们在Android-2.1 的源码中的Android-2.1-ETC6410-r1/vendor/etcarm/ETC6410目录下提供了:
libgps.so
libgps-4800-debug.so
libgps-4800-release.so
libgps-9600-debug.so
libgps-9600-release.so
这 5 个libgps.so 文件,其中:
l libgps.so 是当前所用的libgps.so 文件,默认是libgps-9600-release.so 重命名而来的,其他4 个so 文件都需要命名为libgps.so 才能被Android 使用;
l libgps-4800-debug.so 是默认波特率为4800 的GPS 模块所使用的libgps.so文件,并且使用这个so 文件会输出gps 模块工作时候的详细调试信息(Android 下使用logcat 可以看到);
l libgps-4800-release.so 是默认波特率为4800 的GPS 模块所使用的libgps.so文件,只输出了公司相关信息等少量的调试信息(Android 下使用logcat 可以看到);
l libgps-9600-debug.so 是默认波特率为9600 的GPS 模块所使用的libgps.so文件,并且使用这个so 文件会输出gps 模块工作时候的详细调试信息;
l libgps-9600-release.so 是默认波特率为9600 的GPS 模块所使用的libgps.so文件,只输出了公司相关信息等少量的调试信息;
如果使用默认的libgps.so 无法让板子自带的GPS Status 程序运行起来(运行方法在6.9 节有说明),那么应该这个模块的默认波特率应该是4800,将libgps-4800-release.so 重命名为libgps.so 代替原来的libgps 即可,可以解压android.tar.gz 之后直接更换libgps.so再重新生成android.tar.gz 烧写到板子中。如果还有问题可以使用debug 版本的libgps.so来得到更多的信息。
这就是基于基于6410的Android-2.1系统编译的重要内容,希望能对大家有所帮助。