admin 管理员组

文章数量: 887021


2023年12月23日发(作者:parenteral)

IAC-IMX6UL-Kit LINUX

用户手册

版本号:V1.0

0/29

目录

前言................................................................................................................................ 2

产品说明................................................................................................................ 2

产品版本说明........................................................................................................ 2

修订记录................................................................................................................ 2

一、阅读前说明............................................................................................................ 3

二、准备工作................................................................................................................ 4

三、功能测试................................................................................................................ 6

四、固件烧写................................................................................................................ 7

五、安装交叉编译器.................................................................................................... 8

5.1概述 ................................................................................................................. 8

5.2安装步骤 ......................................................................................................... 8

六、搭建NFS网络文件系统 ..................................................................................... 11

6.1概述 ............................................................................................................... 11

6.2安装步骤 ....................................................................................................... 11

七、源码编译.............................................................................................................. 14

7.1概述 ............................................................................................................... 14

7.2 uboot 编译 .................................................................................................... 14

7.3内核的配置及编译 ....................................................................................... 18

八、应用程序的开发.................................................................................................. 21

8.1编写应用程序及交叉编译 ........................................................................... 21

8.2运行应用程序 ............................................................................................... 22

九、添加应用程序到文件系统.................................................................................. 26

9.1概述 ............................................................................................................... 26

9.2添加到文件系统 ........................................................................................... 26

十、结束语.................................................................................................................. 29

1/29

前言

产品说明

欢迎使用浙江启扬智能科技有限公司产品IAC-IMX6UL-Kit,本产品Linux部分包含6份手册:

《IAC-IMX6UL-Kit 用户手册.pdf》

《IAC-IMX6UL-Kit 开发板简介.pdf》

《IAC-IMX6UL-Kit BSP开发指南.pdf》

《IAC-IMX6UL-Kit测试手册.pdf》

《IAC-IMX6UL-Kit固件烧写手册.pdf》

本手册主要介绍交叉编译环境的搭建、源代码以及应用例程的编译。

使用之前请仔细阅读《IAC-IMX6UL-Kit硬件说明手册.pdf》!

读者对象

本手册主要适用于以下工程师:

 测试工程师

 技术支持工程师

 软件开发工程师

产品版本说明

本手册适用的产品版本描述如下:

产品名称

IAC-IMX6UL-Kit

产品版本

V1.0

修订记录

修订记录累积了每次文档更新的说明。最新版本的文档包含以前所有文档版本的更新内容。

修订日期

2016/10/10

版本

V1.0

修订说明

版本发布

2/29

一、阅读前说明

 装有Linux系统(ubuntu 或其它Linux发行版),本手册以ubuntu 12.04 操作为例,具体搭建请参照《虚拟机安装ubuntu指导手册.pdf》!

 在ubuntu用户目录下创建一个工作目录:mkdir ~/work文件拷贝到此目录下。

 关于linux下的常用命令以及vi的操作等在这里都不做详细说明,请用户自行查阅相关资料!

 开发板标配光盘目录,文档说明中用到的所有工具软件以及代码文件全部在光盘的对应目录下,使用前请确保光盘资料齐全!

 光盘中有移植好的源码,用户可直接编译使用,也可以根据实际情况进行配置、编译。

①② ,并将要编译的

注:

① 这里的~/表示用户目录,整条命令表示在用户目录下创建work目录实际对应的绝对路径为/home/lvmh(此目录为登录账户工作目录,本手册以lvmh账户为例,操作过程中请以实际登录账户所在目录为准),

~/work对应的路径是/home/lvmh/work。

② 为了统一和陈述方便,所有文件都拷贝到该目录进行操作,具体目录用户可以自行创建,这里只是以~/work 目录为例!

3/29

二、准备工作

 串口连接: 通过提供的串口线将开发板的调试串口(J14)与PC机的串口接口

连接。

 网络连接: 通过网线将开发板的以太网接口(J2)与PC机的网络接口连接。

 USB连接: 通过USB连接线将开发板的USB Device(J6)与PC机的USB口

接。

 串口设置: 打开终端通讯软件Xshell(迷你终端或Windows下的超级终端),

选择所用到的串口并设置如下参数:波特率(115200)、数据位(8位)、停止位(1位)、校验位(无)、数据流控制(无),具体操作如图1-1,图1-2所示:

图1-1

图1-2

4/29

图1-3

5/29

三、功能测试

先进行此步骤是为了检测开发板的功能是否良好,开发板标配文件系统中已经集成了测试程序,启动板子后可在/usr/test目录下找到相应的测试程序,具体测试方法,请参照手册:《IAC-IMX6UL-Kit测试手册》。

若测试出现问题,请根据测试手册中列举的问题排查错误原因。

若不能解决问题,请联系:***********************。

6/29

四、固件烧写

如果需要重新烧写linux系统,开发板提供了EMMC启动方式,具体烧写方法请参照:《IAC-IMX6UL-Kit固件烧写手册.pdf》,该手册详细介绍了如何烧写镜像的方法。

7/29

五、安装交叉编译器

5.1概述

bootloader、kernel、fs 、所有的应用程序以及库文件的编译都需要用到交叉编译器。所以,在这里需要先安装一下交叉编译工具链,在光盘的编译工具的目录下已经有制作好的版本为交叉编译工具,用户可以直接安装使用,该交叉编译器的GCC版本为4.7,如下图所示:

5.2安装步骤

进入~/work目录,将gcc-linaro-arm-linux-gnueabihf-4.7-2012.12-201214_2 这个交叉编译工具链拷贝到此目录下。

具体的步骤如下:

步骤一:

1、$sudo tar –xjvf gcc-linaro-arm-linux-gnueabihf-4.7-命令

2012.12-201214_2

2、$ ls

相关描述

添加信息

参考图

解压交叉编译器压缩包并列出当前目录下的文件,查看是否解压成功

8/29

步骤二:

命令

相关描述

添加信息

参考图

步骤三:

命令

相关描述

添加信息

参考图

步骤四:

命令

相关描述

添加信息

$ arm-linux-gnueabihf-gcc –v

检查交叉编译器是否安装成功

$ source ~/.bashrc

使新的环境变量生效

$ vi ~/.bashrc

把交叉编译器的路径添加到系统环境变量PATH里面

在文件最后添加路径

注:

① export PATH=/home/lvmh/work/ gcc-linaro-arm-linux-gnueabihf-4.7-2012.12-201214_linux/bin:$PATH。

9/29

参考图

10/29

六、搭建NFS网络文件系统

6.1概述

NFS是Network FileSystem的简称,可以让不同的主机通过网络访问远端的NFS服务器共享出文件以供开发板使用。这样,将主机当作NFS服务器,我们就可以在开发板上通过网络访问主机的文件。

6.2安装步骤

具体的步骤如下表:

步骤一:

命令

相关描述

添加信息

参考图

步骤二:

命令

相关描述

添加信息

$ sudo vi /etc/exports

修改/etc/exports文件末尾,创建共享目录

在文件末尾加入

①$ sudo apt-get install nfs-kernel

下载并安装

注:

① / nfs *(rw,sync,no_subtree_check, no_root_squash)。

11/29

参考图

步骤三:

命令

相关描述

添加信息

参考图

步骤四:

命令

相关描述

添加信息

参考图

步骤五:

命令

①$ sudo service nfs-kernel-server start

启动NFS服务器,nfs-kernel-server服务

$ sudo service portmap start

启动NFS服务器,启动portmap服务

1、$ sudo mount 192.168.1.63:/ /mnt

2、$ ls /mnt

相关描述

挂载到主机根目录并查看是否挂载成功

注:

① 此处根据实际情况写虚拟机的ip地址。

② 在/mnt 目录下查看到根目录下的内容,则说明NFS 配置正确。

12/29

添加信息

参考图

Note:

如果开发板不能挂载到宿主机可以试下以下方式重新启动NFS服务器:

sudo exportfs -a

sudo /etc/init.d/portmap restart

sudo /etc/init.d/nfs-kernel-server restart

13/29

七、源码编译

7.1概述

源码包含uboot,内核与文件系统。其中uboot和内核需要进行编译,文件系统需要制作。本章详细介绍如何编译uboot以及内核。如何制作文件系统请参考第九章。

7.2 uboot 编译

将光盘中如下图所示的u-boot 源码拷贝到~/work 工作目录中(这里的源码名字只是暂时的别名,源码名称及版本可能更新,以光盘源码为准):

具体的步骤如下:

步骤一:

命令

相关描述

添加信息

参考图

1、$ tar -xzvf

2、$ls

解压源代码,并查看是否解压成功

步骤二:

14/29

命令

相关描述

添加信息

参考图

$ cd u-boot-imx-2015.04-r0

进入源代码目录

步骤三:

命令

相关描述

添加信息

参考图

$ make distclean

清除已生成文件

步骤四:

命令

相关描述

添加信息

$ make mx6ul_qiyang_defconfig

配置板子

注:

① 配置uboot的命令是-make _deconfig,我们现在板子的名字是mx6ul_qiyang。

15/29

参考图

步骤五:

命令

相关描述

添加信息

参考图

Note:

若编译不成功,请尝试以下做法:

$ make –j8

编译

① 1、$vi

修改完后:

$ ./

2、$ vi Makefile

注:

① 执行之后开始编译,编译过程可能持续1~3 分钟,终端会打印出一大堆信息,最后的一条信息表示生成了可用的uboot镜像。

16/29

修改完后重复uboot编译步骤。

17/29

7.3内核的配置及编译

进入~/work目录,将如下图所示的2这个内核源码拷贝到此目录下(这里的源码名字只是暂时的别名,源码名称及版本可能更新,以光盘源码为准):

具体配置及编译的步骤如下:

步骤一:

命令

相关描述

添加信息

参考图

1、$ sudo tar –xjvf 2

2、$ ls

解压内核源代码

步骤二:

命令

相关描述

添加信息

参考图

$ cd

进入内核源码目录

18/29

步骤三:

命令

相关描述

添加信息

参考图

$ make menuconfig配置内核

步骤四:

命令

相关描述

添加信息

参考图

编译完成后在arch/arm/boot/ 目录下生成可烧写到开发板的内核镜像文件

zImage,在arch/arm/boot/dts目录下生成内核设备树镜像文件。

注:

① 执行后会出现如图内核配置界面,用户在此界面对内核进行配置配置好之后保存退出。退出的时候,请选择“YES”来保存配置。

② make zimage是编译内核镜像,make dtbs 编译内核设备树。

$ make zImage dtbs②

编译内核以及设备树

19/29

Note:

若编译不成功,请进行以下操作:

1、$ vi Makefile

修改完成后重新编译。

20/29

八、应用程序的开发

8.1编写应用程序及交叉编译

您可以在linux上自由地开发应用程序,这里以最简单的Hello World为例。进入~/work目录。

具体的步骤如下:

步骤一:

命令

相关描述

添加信息

参考图

步骤二:

命令

相关描述

添加信息

参考图

步骤三:

命令

$ vi hello.c

①$ mkdir app

创建app文件夹

$ cd app

进入app 文件夹

注:

① 执行后显示空白页面,在此页面中输入程序,如图5-1所示。

21/29

相关描述

添加信息

参考图

编译应用程序

步骤四:

①命令

$ arm-linux-gnueabihf-gcc -o hello hello.c

$ ls

相关描述

添加信息

参考图

编译应用程序并查看是否生成可执行文件

8.2运行应用程序

这样我们就得到了可以在开发板上执行的程序了,下面介绍如何在主板运行应用程序,有两种方法:挂载NFS服务器和添加到文件系统。本小节主要介绍挂载NFS服务器方式。在虚拟终端软件Xshell上进行。

我们可以使用之前配置好的NFS服务器,在开发板上挂载主机的NFS服务器后,就可以开发板上操作主机上的文件,如复制文件、运行程序等,这种方式十分方便于调试。

具体的步骤如下:

③②

注:

① 需要使用之前安装好的交叉编译器对应用程序进行编译。

② 如何添加请查看六、添加应用程序到文件系统。

③ 确保通过网线将开发板与PC 机连接好,并在PC 机上开启了NFS 服务。

22/29

步骤一:

命令

相关描述

添加信息

参考图

$ ifconfig eth0 192.168.1.106

设置开发板ip以及子网掩码

步骤二:

命令

相关描述

添加信息

参考图

步骤三:

命令

相关描述

添加信息

# ping 192.168.1.63

Ping虚拟机ip,测试网络连接

$ route add default gw 192.168.1.1

设置网关

23/29

参考图

步骤四:

命令

相关描述

添加信息

参考图

步骤五:

命令

相关描述

添加信息

参考图

# cd /mnt

查看是否挂载成功

# mount –o nolock 192.168.1.63:/ /mnt

挂载主机NFS服务器

注:

① 192.168.1.63为虚拟机IP。

24/29

步骤六:

命令

相关描述

添加信息

参考图

步骤七:

命令

相关描述

添加信息

参考图

通过这种方式,可以方便调试程序,直到程序调试正确后,再将应用程序添加到文件系统中,烧写到EMMC。这样,避免了不断的烧写程序到EMMC。

Note:

若出现如下图所示错误,请在命令前加sudo:

$ sudo cp hello /

在ubuntu中hello.c所在目录下,将hello复制到根目录下

# ./hello

运行可用程序

$ sudo cp hello /

25/29

九、添加应用程序到文件系统

9.1概述

为了生产方便,一般我们都把编译测试好的应用程序、库以及配置文件文件打包到文件系统当中,这样生产的时候只要烧写文件系统就可以了,不需要手动去添加应用程序、库以及配置文件。

9.2添加到文件系统

进入~/work目录,将如下图所示文件系统源码拷贝到此目录下(这里的源码名字只是暂时的别名,源码名称及版本可能更新,以光盘源码为准)。

添加步骤如下:

步骤一:

命令

相关描述

添加信息

参考图

步骤二:

$ mkdir fs

创建fs文件夹

26/29

命令

$ mv 2 fs/

$ cd fs

$ ls

相关描述

将文件系统源码2移动到fs文件夹中,进入fs目录并查看是否移成功

添加信息

参考图

步骤三:

命令

①②1、$ sudo tar -xjvf 22、$ ls

相关描述

添加信息

参考图

解压rootfs源码,并查看是否解压成功

步骤四:

命令

相关描述

添加信息

1、$ rm 2

2、$ ls

删除原先的文件系统2,查看是否删除

注:

① 文件系统源码需要root权限才能进行完整解压,若当前为普通用户,在解压命令之前加上sudo。

② 在rootfs 目录下各目录添加自己的应用程序、库以及配置文件。

27/29

参考图

步骤五:

命令

1、$ sudo tar -jcvf 2 * -R

2、$ ls

相关描述

重新压缩文件系统

添加信息

参考图

28/29

十、结束语

IAC-IMX6UL-Kit 的相关操作介绍到这里就结束了。感谢各位用户使用本公司产品,如果有什么问题,请联系技术支持:***********************。

29/29


本文标签: 目录 编译 开发板