看到有人回复小编的帖子,小编非常高兴。愈发的告诉自己要认真的发好每一篇文章。之前的一段时间,小编主要介绍了关于硬件方面的东西,还有在android情况下的开发环境。这两天小编经过认真的思考,觉得非常有必要给大家将DragonBoard 410c在Linaro Linux系统下的开发环境介绍给大家。
讲之前,有必要给大家科普Dragon Board 410c的协议规范,DragonBoard 410c兼容96Boards消费版(CE)规范。咱们先来了解一下96Boards规范。
96Boards 是 ARM 开放平台规范,是第一个定义 Cortex-A 开发板的开放规范,该规范由Linaro社区委员会组织维护。标准化扩展 Peripheral I/O 总线,显示和相机等。定位移动、嵌入及数字家庭领域。允许硬件生态系统开发一系列兼容组件的产品,在其生命周期可以在任意兼容 96Boards 的平台上使用。
DragonBoard 410c基于Linaro的96board规范,有助于开发商、制造商、大学和商业制造商利用骁龙410处理器的能力,例如下一代机器人、医疗设备、楼宇自动化、数字标牌和游戏机等。
环境准备
1
、交叉编译环境准备
DragonBoard 410c是一个64位的ARMv8平台,所以在PC机上编译ARM架构的代码需要交叉编译环境。首先下载
http://blog.csdn.net/cuichuankai/article/details/49946243,然后将下载的压缩包解压到你自己指定的目录下:
2、下载Linux Kernel源码
Linux Kernel的代码信息可以通过 http://blog.csdn.net/cuichuankai/article/details/49946243来查找。
据tags信息,我们可以看到,DragonBoard 410c的最新Linux源码是15.09版本,下面我们来下载Linux源码。
现在,我们已经下载到Linux源码了,大家可以根据自己的需要修改kernel代码。
3、编译kernel
首先,我们先要设置环境变量:
前面第一步我们已经下载了交叉编译器,所以CROSS_COMPILE设置为如下:
15.09版本上存在一个build的问题,所以我们需要通过cherry-pick来修复一下:
已经万事俱备了,下面我们开始编译kernel:
4、编译boot image
boot image是由三部分组成的:设备树表镜像(dt.img)、kernel镜像(Image)和init ramdisk镜像。kernel镜像我们在上面已经编译出来了,下面我们来看看其他两部分从哪里获取。
首先,我们需要下载安装dt工具以及镜像生成工具。
然后,编译dt镜像:
init ramdisk镜像可以通过以下命令获取:
已经都准备好了,下面我们就可以生成boot image了。
5、烧写boot image
在烧写前,我们可以先测试一下boot image能否正常工作。
如果可以正常启动,那么我们就可以通过fastboot命令烧写了。