本帖最后由 nightmeng 于 2016-7-14 23:00 编辑
使用Build快速构建开发环境
1. 初识EVB335x-II
话说,在调试EVB335x-II
开发板之前,我已经接触过AM335x芯片,现在申请这块开发板主要是想与大家
分享一下使用AM335x快速开发工业项目的经验。
上周六的时候就拿到了EVB335x-II开发板,说实话,这套开发板的做工还是不错的。核心板设计比较精巧,
采用了邮票口方式,这种方式有两个好处:
- 空间占用小。使用邮票口方式,不管是垂直空间占用率还是水平空间占用率,都得到了明显的减少。
- 抗震动效果好。传统的插针方式应用在固定的工作场合还可以,但若工作环境有震动,时间久了难免会松动,所以,很多插针方式的核心板额外设计了螺丝孔,方便使用螺丝固定,但这样会更加浪费空间。
另外,开发板虽然比较简单,但是配置了齐全的外设,有LCD、TF卡、CAN、I2C、Touch(电容、电阻)、RTC、
EEPROM、ADC、SPI、UART、USB、音频等等,总之,外设还是非常齐全的。
开发板的配套资料中除了原理图、芯片手册、硬件手册这些常用资料外,还提供了常用设计相关资料,对于需要
自己定制底板的用户非常友好。
2. 学习计划
本来的计划是先在EVB335x-II开发板上移植
ti 4.x版本的uboot和kernel,然后使用yocto进行项目开发,但是,
EVB335x-II的目标是面向的是工业应用开发,内存及Nand空间并不是很大,使用yocto可能会占用比较多的存储
空间,因此,本文选用比yocto更轻量一些的自动化构建工具——Buildroot。
因为工作比较忙,因此,主要利用业余时间学习整理开发资料,所以,更新速度可能会比较慢,但我会尽可能的
讲的清晰、清楚。
暂定的学习计划如下:
1. 使用Buildroot构建开发环境,主要是用Buildroot生成的根文件系统,工具链等。
2. 移植新版的TI SDK到EVB335x-II。包括uboot、kernel及各种外设驱动。
3. 使用EVB335x-II解决某项工业需求。还没想好具体的内容,待定。
可能周期会比较长,但是我会尽可能详细的记录这个过程。
3. 准备工作
使用EVB335x-II开发板进行项目开发,我认为需要具备以下条件:
- 装有Linux操作系统的电脑(Ubuntu、Centos、Fedora都行,本人使用Ubuntu),也可以使用虚拟机。
- EVB335x-II开发套件。
- USB转串口工具。
- 项目需求所需的其它套件。
有了以上基础工具之后,就可以开始基于Buildroot的EVB335x-II开发环境快速构建之旅了!
4. 开发环境构建
在正式将开发环境构建之前,我先普及一下什么是Buildroot。。。
简单的讲,Buildroot是一套自动化编译工具。Buildroot能够根据配置自动制作交叉编译工具链,能够自动编译uboot、kernel及各种依赖库,再也不需要手动移植各种开发库。当然,Buildroot也不是完美无瑕的,很多地方还是比不上yocto,但是,Buildroot比yocto轻量的多,非常适合做微型Linux项目开发。
废话讲了够多了,下面我们正事开始开发环境构建之旅。。。
4.1 下载源码
到Buildroot官网下载源码,本人选用的2016-05版本,但是本文不对版本做强制要求。直接百度搜索Buildroot即可找到下载链接,我没有权限在发链接。
注:如果下载不了也不用担心,我会把下载好的所有文件上传到百度盘,大家可以根据需要下载。
4.2 快速构建
Step 1. 下载好Buildroot之后解压到工作目录:
cp buildroot-2016.05.tar.bz2 ~/Projects/evb335x-ii
cd ~/Projects/evb335x-ii
tar jxf buildroot-2016.05.tar.bz2
Step 2. 执行make menuconfig,对Buildroot进行配置:
Target options --->
Target Architecture (
ARM (little endian)) --->
Target Binary Format (ELF) --->
Target Architecture Variant (cortex-A8) --->
Target ABI (EABIhf) --->
Floating point strategy (VFPv3-D16) --->
ARM instruction set (ARM) --->
Toolchain --->
Enable C++ support
配置完成后按ESC键,并选择保存,然后退出即可。
Step 3. 编译Buildroot
到目前为止,我们只需要Buildroot为我们提供一套交叉编译工具链,以上配置已经足够了,我们会随着
学习的需求,不断追加我们需要的配置项。接下可以编译Buildroot:
make -j4
注:-j4表示四条线程并发编译,这个可以根据自己电脑的情况适当调整。
编译过程比较长,编译过程中也需要一些依赖库,如果下载失败,不需要担心,如果使用2016-05版本的话,我这里
有下载好的,我都会共享到百度盘。只需要将相关包放到Buildroot目录下的dl子目录中即可。
编译完成后,在Buildroot子目录output/host/usr/bin中就有我们需要的arm-linux-gcc交叉编译工具链了!
有了开发环境,下一步我们就开始移植uboot。
我是用的Buildroot及依赖的各个package包链接我稍后上传到百度网盘,回复到帖子里。