全志A31编译环境搭建
平台:全志A31
内核版本:linux-3.3
gcc版本:arm-linux-gnueabi-gcc 4.6.1
操作系统:Ubantu 2.6.32-38-generic
项目中需要编译A31平台的驱动并在pad上面运行,运行的环境如上所说的。此处只涉及到内核的编译问题,至于模块的配置以及boot的编译并不在此范围内。
全志会提供两个压缩的内核文件,分别为android.tar.gz和lichee.tar.gz。在这里只用到lichee.tar.gz这个文件。加压之即可获取到内核源码以及工具链。下面的链接提供了A31_Android移植的说明文档。A31_Android移植
解压lichee.tar.gz
$tar -zxvf lichee.tar.gz
获取到如下的文件:
目录 | 内容 |
---|---|
boot-v1.0 | u-boot源码相关 |
linux-3.3 | 内核源码 |
tools | 工具链以及所有模块的使用状态及GPIO配置脚本 |
……………… | ………… |
README
查看到README的内容如下:
很明显,我们是要编译内核源码,所以需要选择2的方式,即
$./build.sh -p sun6i_fiber
执行上述命令之后就完成了内核的编译。就可以通过该内核编译的驱动文件了。
编译错误解决
make的时候出现了如下的错误:
google搜索到该原因是没有加编译选项指定平台ARCH=arm,加上即可。
$make ARCH=arm
再次编译出现如下的错误:
同样是google,但是没有一个好的结果。lichee里面的toolchain的版本是4.6.3的版本,我把它换为4.6.1的版本就可以编译通过了。
注:下面的内容是为了学习使用添加进去的,可以忽略之。
build.sh
#!/bin/bash
set -ebuildroot/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编译环境搭建相关推荐
- linux下guide编译不了,全志R16编译环境搭建指南,全志R16_Tina SDK Quick Start Guide
2. Tina SDK 目录结构 ├── tina │ ├── abi │ ├── app │ ├── bionic │ ├── build │ ├── device │ │ ├── softwinn ...
- 全志a33 编译器 linux,全志A33编译环境搭建及固件打包步骤.txt
1. ubantu 14.04 的安装 2. root 用户密码修改 sudo passwd root 3 进入root用户 4 更新源 apt-get update 5 安装编译依赖的源 apt-g ...
- 全志JAVA_android 全志a10(2.3.4)开发1(编译环境搭建)
android 全志a10(2.3.4)开发一(编译环境搭建) android系统编译可分为两部分:一部分是linux内核编译:另一部分是android源码编译:全文中主要是说明从搭建编译环境,安装编 ...
- 全志R16_Tina SDK编译环境搭建
2. Tina SDK 目录结构 ├── tina │ ├── abi │ ├── app │ ├── bionic │ ├── build │ ├── device │ │ ├── softwinn ...
- 全志A33开发板vstar编译环境搭建
全志A33开发板vstar编译环境搭建 安装系统 全志提供的vstar的SDK使用内核linux-3.4.39, 在编译过程中,要用到一个文件gen_check_code,位于linux-3.4/ar ...
- Runtime编译环境搭建
Runtime编译环境搭建 首先,需要准备的资源:runtime完整源码,这个可以在苹果开放资源网页找到.点进这个页面,接着点击macOS下面的最新版本,在新页面中command+f搜索objc即可找 ...
- esp32 linux内核,【小狂系列】跟着小狂玩ESP32之编译环境搭建篇
本帖最后由 3guoyangyang7 于 2016-11-3 18:41 编辑 趁热要打铁,昨天发了ESP32的预告贴,今天小狂就带大家刷一刷ESP32的编译环境搭建.怎么说的,ESP32可以在多平 ...
- Windows编译环境搭建(VS2010)
引言: 本篇文章基于教程目的(由于windows和linux相关环境搭建篇幅过大,在博客中做这些讲解),主要描述Windows的发展历程和编译环境搭建(基于 Visual Studio 2010版 ...
- spring-framework-5.1.x 源码编译 环境搭建 [ idea:2020.1 ]
spring-framework-5.1.x 源码编译 环境搭建 [ idea:2020.1 ] 一. Gradle下载与安装 软件名称 版本 下载地址 jdk jdk 11.0.5 下载链接 提取码 ...
最新文章
- 为AI从业者/研究生/研究员专门定制的全网唯一高端AI训练营
- JavaScript获取鼠标左键选中的内容
- 【iOS 开发】基本 UI 控件详解 (UIButton | UITextField | UITextView | UISwitch)
- 从注册流程 分析如何安全退出多个Activity 多种方式(附DEMO)
- Caffe官方教程翻译(5):Classification: Instant Recognition with Caffe
- 期末计算机考试五五开要考多少分,大学平时分加上末考分过了多少算不挂科
- 对Python参数类型详解以及学习中遇到的坑
- 1.RTMP流媒体服务器搭建
- apm java_非Java专家的APM:什么泄漏?
- 数据结构之树的定义及操作
- javascript中动态加载js、vbs脚本或者css样式表
- 新手如何发布第一个Python项目开源包?这里有一份详细指南
- vue 列表 萌层 鼠标移入移出_10 分钟上手 Vue 组件 Vue-Draggable
- 详解LightGBM两大降维利器:基于梯度的单边采样(GOSS)和互斥特征捆绑(EFB)
- 移动芯片巨头英国ARM的发展史
- 商鞅的APP运营之道
- X1000之LCD部分的翻译
- 关于elementplus 的:suffix-icon=“Search不显示问题记录
- List集合中根据相同属性的对象合并计算
- 关于python使用hadoop(使用python操作hdfs)
热门文章
- 如何鉴别和评审APS软件?内行人告诉你
- 华为虚拟一键部署服务器,一键部署服务器
- 大一计算机基础ppt练习题,大学计算机基础练习题.ppt
- 云计算行业分析PPT
- WMS出库作业流程简介
- Hive collect_set函数
- 2021年R2移动式压力容器充装考试技巧及R2移动式压力容器充装模拟考试题
- wpsppt加载项在哪里_wpsppt加载项在哪里_《wps表格加载项在哪里》 WPS版的EXCEL中 加载宏和数据分析在哪?......
- 《ANSYS Workbench有限元分析实例详解(静力学)》——第2章 ANSYS Workbench主界面设置2.1 窗口设置...
- 左耳听风 第四十二周