myzrcherry的个人空间 https://www.eechina.com/space-uid-142603.html [收藏] [复制] [RSS]

博客

MY-IMX6 Linux-3.14 编译手册

已有 1007 次阅读2018-9-26 16:28

文档说明系统环境说明
  • 编译主机CPU架构:64位 
  • 编译主机系统:Linux 
  • Linux发行版:Ubuntu 
  • Ubuntu版本类型:服务器版 
  • Ubuntu版本号:12.04.5 
  • Ubuntu系统类型:x86-64 

  注意:开发主机请使用ubuntu 12.04.5 x86-64(桌面版或服务器版均可),使用其他发行版的Linux或Ubuntu的其它版本可能会遇到的不必要的问题。 


操作说明

1)文档中以“$”开头的行,其后是Linux命令。 

2)文档中所有的Linux命令建议手动输入到Linux主机执行(直接复制、粘贴到Linux主机上执行,可能会执行失败)。 

3)文档中的Linux执行命令,如果空格后的下一个字符是“-”的(如:sudo apt-get –y install之类的),请手动输入到Linux主机执行(直接复制、粘贴到Linux主机上执行,通常会执行失败)。 

4)文档中所有一行没写完的Linux命令请手动输入到Linux主机执行,(因为复制、粘贴命令不能包含类似“换行符”之类的特殊字符)。 

5)按文档输入并执行Linux命令时注意观察命令的执行结果与文档图片中的是否一致,以确认命令是否输入有误及是否执行失败。 

6)第一遍编译请严格按照文档进行,否则可能出现莫名其妙的错误。


截图说明

为使视图看起来简洁整齐,截图中的命令提示符统一使用myzr$。


图片中的Linux命令

在文档的图片中观察“myzr$”开头的行可以直观的看到输入的Linux命令。

重要信息说明

为避免各位客户在搭建开发环境及编译过程中遇到不必要的问题浪费时间和精力,推荐使用明远智睿发布的“vb43-u12045-serv-amd64”虚拟机系统。


具体参见 《MYZR虚拟机系统指导》

准备源码及相关文件源码文件

评估板对应的Linux版本及对应的源码文件见下表:

评估板型号u-boot源码文件linux源码文件
MY-IMX6-EK200u-boot-2015.04.tar.xzlinux-3.14.52.tar.xz
MY-IMX6-EK314
MY-IMX6-EK336
MY-IMX6-EK140


交叉编译工具文件

Linux程序交叉编译工具:gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz

Linux交叉编译工具配置文件:gcc-linaro-arm-linux-gnueabihf-492-env

QT5程序交叉编译工具:fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa9hf-vfp-neon-toolchain-3.14.52-1.1.0.sh


创建工作目录

1)源码目录
$ mkdir ~/my-imx6/02_source –p 
Myimx6linux3.14 build 2.3.0.1.png

2)工具目录
$ mkdir ~/my-imx6/03_tools –p
Myimx6linux3.14 build 2.3.0.2.png

3)镜像目录
$ mkdir ~/my-imx6/04_image –p
Myimx6linux3.14 build 2.3.0.3.png
$ mkdir ~/my-imx6/04_image/image-linux-31452 –p
Myimx6linux3.14 build 2.3.0.4.png

4)应用程序目录
$ mkdir ~/my-demo
Myimx6linux3.14 build 2.3.0.5.png


安装交叉编译工具链安装Linux交叉编译工具链

1)进入交叉编译工具链目录
$ cd ~/my-imx6/03_tools/

2)复制Linux交叉编译工具到目录
将gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz复制到“~/my-imx6/03_tools”,这一步自己采取相应的方式完成。

3)解压Linux交叉编译工具
$ tar xf gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz
Myimx6linux3.14 build 4.1.0.1.png

4)复制交叉编译工具配置文件
将gcc-linaro-arm-linux-gnueabihf-492-env复制到“~/my-imx6/03_tools”,这一步自己采取相应的方式完成。

5)检查安装
$ source gcc-linaro-arm-linux-gnueabihf-492-env
$ ${CROSS_COMPILE}gcc –v
Myimx6linux3.14 build 4.1.0.2.png


安装QT5交叉编译工具(install QT5 cross compiler tool)

1)进入交叉编译工具链目录
$ cd ~/my-imx6/03_tools/
Myimx6linux3.14 build 4.2.0.1.png

2)执行安装命令
$ sh fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa9hf-vfp-neon-toolchain-3.14.52-1.1.0.sh

3)选择安装路径
执行安装命令后会出现如下提示信息:
Enter target directory for SDK (default: /opt/fsl-imx-x11/3.14.52-1.1.0):
这时按“回车(Enter)”键,我们保持默认的安装路径。

4)确认安装路径
之后,会提示如下信息:
You are about to install the SDK to "/opt/fsl-imx-x11/3.14.52-1.1.0". Proceed[Y/n]? 这时输入“Y”并按“回车(Enter)”键表示确认。
Myimx6linux3.14 build 4.2.0.2.png

5)等待安装完成
提示:安装过程大概需要几分钟的时间。

6) 检查安装
查看交叉编译工具链的版本信息以验证交叉编译工具链安装正常。
$ source /opt/fsl-imx-x11/3.14.52-1.1.0/environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi
$ qmake -v
执行命令后会也出现类似如下的信息:
Myimx6linux3.14 build 4.2.0.3.png


U-Boot编译准备编译复制源码包到开发主机中

将下载的“u-boot源码”复制到Linux开发主机的“~/my-imx6/02_source”。
这一步自己采取相应的方式完成。


解压u-boot源码包

$ cd ~/my-imx6/02_source/
$ tar xf u-boot-2015.04.tar.xz
Myimx6linux3.14 build 5.1.2.1.png


编译使编译配置文件生效

$ source ~/my-imx6/03_tools/gcc-linaro-arm-linux-gnueabihf-492-env
Myimx6linux3.14 build 5.2.1.1.png


进入u-boot源码目录

$ cd ~/my-imx6/02_source/u-boot-2015.04
Myimx6linux3.14 build 5.2.2.1.png


清除u-boot临时文件

$ make distclean 
Myimx6linux3.14 build 5.2.3.1.png


配置u-boot
  • 评估板及对应的 u-boot 编译配置:
评估板主型号CPU类型-内存容量处理器架构对应的u-boot配置
MY-IMX6-EK200i.MX 6QuadPlus - 1GCortex-A9myimx6ek200-6qp_config
i.MX 6QuadPlus - 2GCortex-A9myimx6ek200-6qp-2g_config
i.MX6 Quad - 1GCortex-A9myimx6ek200-6q_config
i.MX6 Quad - 2GCortex-A9myimx6ek200-6q-2g_config
i.MX6 DualLite - 1GCortex-A9myimx6ek200-6u_config
i.MX 6Solo - 512MCortex-A9myimx6ek200-6s_config
i.MX 6Solo - 1GCortex-A9myimx6ek200-6s-1g_config
MY-IMX6-EK314i.MX 6QuadPlus - 1GCortex-A9myimx6ek200-6qp_config
i.MX 6QuadPlus - 2GCortex-A9myimx6ek200-6qp-2g_config
i.MX6 Quad- 1GCortex-A9myimx6ek314-6q_config
i.MX6 Quad- 2GCortex-A9myimx6ek314-6q-2g_config
i.MX6 DualLite - 1GCortex-A9myimx6ek314-6u_config
MY-IMX6-EK336i.MX 6QuadPlus - 1GCortex-A9myimx6ek336-6qp_config
i.MX 6QuadPlus - 2GCortex-A9myimx6ek336-6qp-2g_config
i.MX6 Quad- 1GCortex-A9myimx6ek336-6q_config
i.MX6 Quad- 2GCortex-A9myimx6ek336-6q-2g_config
MY-IMX6-EK140i.MX 6UltraLite-256MCortex-A7myimx6ek140-6g_config
i.MX 6UltraLite-512MCortex-A7myimx6ek140-6g-512m_config
i.MX 6UltraLite Full - 256MCortex-A7myimx6ek140p-6g_defconfig
i.MX 6UltraLite Full - 512MCortex-A7myimx6ek140p-6g-512m_defconfig
  • MYIMX6EK200-6Q-1G配置示例:

$ make myimx6ek200-6q_config 
Myimx6linux3.14 build 5.2.4.1.png

执行编译

$ make 
提示:这里为了提高编译速度,在make后面加了“-j4”。这里编译的Linux主机是双核4线程的,所以“-j”后面用了4,也就是采用4线程编译。“-j”后面的数字可以根据系统资源分配,但是不应该超过编译主机最大支持的线程数。
Myimx6linux3.14 build 5.2.5.1.png

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
返回顶部