基于周立功平台IOT-A62GC开发板开发环境搭建(基于飞思卡尔imx6UL)

由于本人只在一个主机(ubuntu14.04)上进行开发项目,所以以下的配置基于全局。

1、交叉编译环境搭建

(1)解压gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.gz到/opt目录下。

(2)在/etc/environmentzh中添加交叉编译工具链

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin:/opt/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin"

然后退出后source /etc/environment,使配置环境生效。

(3)在终端上输入arm-linux-gnueabihf-,然后按键盘的TAB键,可以看到he很多以arm-linux-gnueabihf-开头的命令。安装完毕后,如果使用交叉编译工具编译C程序时出现No such file or directoryshi时,则需要安装ia32-libs,具体操作如下:

sudo apt-get install ia32-libs

2、固件编译方法:

2.1 uboot编译:

U-boot的源码包是:uboot-src-d09434a.tar.gz

注:文件命名d09434a,表示源码提交版本。

(1)首先将该源码包复制到Ubuntu系统中,然后进行解压缩。

解压缩命令: tar zxvf uboot-src-d09434a.tar.gz

(2)进入uboot-imx目录,运行built-uboot-zlg-test.sh脚本

   即可进行uboot的编译。需要注意的是,该脚本必须携带

   参数运行,支持的编译选项如下所示:

 

mx6g2c_nand_128m_defconfig

mx6g2c_nand_256m_defconfig

mx6g2c_sd_128m_defconfig

mx6g2c_sd_256m_defconfig

a6g2c_nand_128m_defconfig

a6g2c_nand_256m_defconfig

a6g2c_sd_128m_defconfig

a6g2c_sd_256m_defconfig

    这些选项的构成为“型号(_nand/sd)_内存容量_defconfig”。

    其中,

nand —— 代表固件将被烧写到NAND Flash,系统将从NAND启动;

    sd  —— 代表固件将被烧写到SD卡上,系统将直接从SD卡启动。

    用户根据所购产品的型号确定好相应的选项后,可参考下面的

    命令开始编译:

./built-uboot-zlg-test.sh mx6g2c_nand_128m_defconfig

(3)编译完毕后,生成的uboot固件存放路径为:

mx6g_built/*_defconfig/u-boot.imx

2.2 内核编译方法

内核的源码包是:linux-src-a0722e0.tar.gz

注:文件命名a0722e0,表示源码提交版本。

(1)首先将该源码包复制到Ubuntu系统中,然后进行解压缩:

解压缩命令: tar zxvf linux-src-a0722e0.tar.gz

(2)进入A7-linux-src目录,运行下面的命令编译生成内核以及设备树文件。

./built-zImage.sh

   所有型号的产品都共用一份zImage,但设备树文件需要依据产品型号正确选择。iMX6系列产品的设备树文件如下所示:

arch/arm/boot/dts:

imx6g2c-128m.dtb

imx6g2c-csi-128m.dtb

imx6g2c-800x480-128m.dtb

imx6g2c-256m.dtb

imx6g2c-csi-256m.dtb

imx6g2c-800x480-256m.dtb

a6g2c-wifi-128m.dtb

a6g2c-wifi-bt-128m.dtb

a6g2c-wifi-256m.dtb

a6g2c-wifi-bt-256m.dtb

   命名构成:(产品系列)处理器型号-特性-内存大小.dtb。

   其中,

800x480 屏幕分辨率

wifi-bt 支持wifi和bluetooth;

csi 支持camera功能。

   用户依据所购产品的型号确定好相应的设备树文件后,将其复制到windows主机中,重命名为烧写工具目录中同名设备树文件,并替换设备树。即可使用固件烧写工具进行固件的更新。

注意1:使用A6G2C系列产品的客户,在编译内核之前请先修改build-zImage.sh脚本,将

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- epc_m6g2c_defconfig &&

    注释掉,然后将下面的代码取消注释

#make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- epc_m6g2c_wifi_defconfig &&

    然后再执行built-zImage.sh脚本进行内核编译。

注意2:

#make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- epc_m6g2c_no_encrypt_defconfig &&

#make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- epc_m6g2c_wifi_no_encrypt_defconfig &&

上述两个指令只适合进行芯片级开发的用户,因为原始的处理器没有进行过授权操作,是无法烧写致远的固件的。

对于此类用户,请根据是否使用WIFI/蓝牙功能来进行选择使用其中一个编译指令。具体做法请参考“注意1”。

3、其它工具的编译方法

QT编译工具:qt-m6g2c.tar.bz2

    解压命令:sudo tar jxvf qt-m6g2c.tar.bz2 -C /opt

触摸屏校准软件和库:tslib.tar.bz2

    解压命令:sudo tar jxvf tslib.tar.bz2 -C /opt

其它说明:

qt-m6g2c.tar.bz2和tslib.tar.bz2编译时指定的安装路径为/opt目录。如果要直接使用这两个工具的

话,请不要修改上面解压命令的指定路径。

 

参考:周立功资料包

 

猜你喜欢

转载自blog.csdn.net/morixinguan/article/details/81163168