全志A31编译环境搭建

平台:全志A31
内核版本:linux-3.3
gcc版本:arm-linux-gnueabi-gcc 4.6.1
操作系统:Ubantu 2.6.32-38-generic

项目中需要编译A31平台的驱动并在pad上面运行,运行的环境如上所说的。此处只涉及到内核的编译问题,至于模块的配置以及boot的编译并不在此范围内。

全志会提供两个压缩的内核文件,分别为android.tar.gzlichee.tar.gz。在这里只用到lichee.tar.gz这个文件。加压之即可获取到内核源码以及工具链。下面的链接提供了A31_Android移植的说明文档。A31_Android移植


解压lichee.tar.gz

$tar -zxvf lichee.tar.gz

获取到如下的文件:

lichee目录

目录内容
boot-v1.0u-boot源码相关
linux-3.3内核源码
tools工具链以及所有模块的使用状态及GPIO配置脚本
…………………………

README

查看到README的内容如下:

README

很明显,我们是要编译内核源码,所以需要选择2的方式,即

$./build.sh -p sun6i_fiber

执行上述命令之后就完成了内核的编译。就可以通过该内核编译的驱动文件了。


编译错误解决

make的时候出现了如下的错误:

编译出错

google搜索到该原因是没有加编译选项指定平台ARCH=arm,加上即可。

$make ARCH=arm

再次编译出现如下的错误:

编译出错2

同样是google,但是没有一个好的结果。lichee里面的toolchain的版本是4.6.3的版本,我把它换为4.6.1的版本就可以编译通过了。


注:下面的内容是为了学习使用添加进去的,可以忽略之。

build.sh

#!/bin/bash
set -e

buildroot/scripts/common.sh $@

由于很少接触脚本,第一次看到set -e的命令,特地搜索了一下。

Every script you write should include set -e at the top. This tells bash that it should exit the script if any statement returns a non-true return value. The benefit of using -e is that it prevents errors snowballing into serious issues when they could have been caught earlier. Again, for readability you may want to use set -o errexit.
你写的每个脚本都应该在文件开头加上set -e,这句语句告诉bash如果任何语句的执行结果不是true则应该退出。这样的好处是防止错误像滚雪球般变大导致一个致命的错误,而这些错误本应该在之前就被处理掉。如果要增加可读性,可以使用set -o errexit,它的作用与set -e相同。

上面的引用是来自于这篇文章—–Unix/Linux 脚本中 “set -e” 的作用

上述脚本实际上是执行如下语句:

$set -e
$buildroot/scripts/common.sh -p sun6i_fiber
全志A31最全开发资料包(用户手册+硬件参考设计+Check List+软硬件设计文档资料): Firmware Hardware IC PMU A31&A31s SDKv4.5 规格说明书.pdf A31(s)_fiber_fex_guide_v2.0.pdf A31-A31s-Android4.4快速移植指南(SDKv4.5).pdf A31-A31s-Android4.4系统方向配置说明.pdf A31s_SDK4.5_512M_for_KitKat方案规格及配置说明.pdf A31_Camera模组自适应说明_V1.0_20130529.pdf A31_linux_bsp_user_manual.pdf A31_Standby调试说明文档_20130418.pdf A31平台audio适配层使用说明文档.pdf A31平台camera模块开发说明文档(新驱动).pdf A31平台CTP模块开发说明文档.pdf A31平台DMA开发说明文档.pdf A31平台G-sensor模块开发说明文档.pdf A31平台IIC设备驱动开发说明文档.pdf A31平台LCD模块开发说明文档.pdf A31平台Script和GPIO开发说明文档.pdf A31平台SPI设备驱动开发说明文档.pdf A31平台电话系统开发说明文档V2.0.pdf A31平台音频模块开发说明文档.pdf A3x_Android4.2_Miracast_Source Design Reference_20130926.pdf A3x平台android4.4 wifi模块移植说明文档_20140114.pdf eDP芯片ANX9804和ANX6345配置说明.pdf USB driver如何添加定制的VID_PID.pdf 00-123.txt A31 hardware design checklist_V1_20-121226.pdf DRAM-Layout说明-V3.0.pdf A31_3G网卡支持列表_20130530.pdf A31_CMOS Approval List_20140117.pdf A31_DDR支持列表_201308.pdf A31_G-sensor支持列表_20130530.pdf A31_NAND支持列表_v2.12_20130724.pdf A31_以太网转换器支持列表_20130530.pdf A31_显示屏支持列表_20130530.pdf A31_触摸屏支持列表_20130530.pdf A3x_eMMC support list_(SDK V3.3).pdf A3x_WIFI+BT支持列表_20130927.pdf 射频天线设计指导文档_20130926.pdf PCB参考 原理图 支持列表 硬件设计指南
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值