i.MX6ULL系统移植 使用 NXP MfgTool 烧写系统到eMMC

一、MfgTool

MfgTool工具是NXP提供的专门用于给i.MX系列CPU烧写系统的软件。

官方下载地址为:https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/i-mx-applications-processors/i-mx-6-processors/i-mx-6ull-single-core-processor-with-arm-cortex-a7-core:i.MX6ULL?tab=Design_Tools_Tab。

i.MX6ULL系统移植 使用 NXP MfgTool 烧写系统到eMMC_第1张图片
i.MX6ULL系统移植 使用 NXP MfgTool 烧写系统到eMMC_第2张图片
选择带文件系统的解压:
i.MX6ULL系统移植 使用 NXP MfgTool 烧写系统到eMMC_第3张图片
这里面要烧写的文件放到Profiles这个文件夹中,MfgTool2.exe是烧写软件(不能直接运行)。

这个软件可以给i.MX整个系列烧写镜像,所以在烧写之前必须要进行配置,就是非常多的vbs脚本。

vbs烧写脚本可以根据处理器的不同,根据存储芯片的不同,选择向eMMC、Nand、QSPI Flash中的哪一种设备进行烧写。

本文中我们需要向iMX6ULL烧写,参考以下几个脚本:
i.MX6ULL系统移植 使用 NXP MfgTool 烧写系统到eMMC_第4张图片

二、烧写系统到eMMC

1. 准备固件

需要准备好:

  • uboot.imx:来自uboot编译生成
  • zImage:来自linux编译生成
  • imx6ull-atk-emmc.dtb:来自linux编译生成
  • rootfs.tar.bz2:来自rootfs压缩打包生成

根文件系统打包命令:

tar -vcjf rootfs.tar.bz2 *

打包完成后会在当前目录下生成rootfs.tar.bz2压缩包。

将上面4个需要的文件都进行重命名,使得MfgTool可以识别:

  • u-boot-imx6ull14x14evk_emmc.imx
  • zImage不需要重命名
  • zImage-imx6ull-14x14-evk.dtb
  • rootfs_nogpu.tar.bz2

2. 替换官方固件

(1)替换掉官方的uboot、kernel、dtb,在mfgtoolswith-rootfs/mfgtools/Profiles/Linux/OS Firmware/firmware中,拷贝替换。

(2)将4个文件都拷贝替换到mfgtools-with-rootfs/mfgtools/Profiles/Linux/OS Firmware/files中。

3. 连接开发板

连接OTG接口:
i.MX6ULL系统移植 使用 NXP MfgTool 烧写系统到eMMC_第5张图片
拨码开关切换到USB下载模式:
i.MX6ULL系统移植 使用 NXP MfgTool 烧写系统到eMMC_第6张图片
如果插了SD卡,需要取出,否则电脑不能识别USB。

4. 开始烧写

双击脚本mfgtool2-yocto-mx-evk-emmc.vbs,打开烧写软件:
i.MX6ULL系统移植 使用 NXP MfgTool 烧写系统到eMMC_第7张图片
点击Start开始烧写:
i.MX6ULL系统移植 使用 NXP MfgTool 烧写系统到eMMC_第8张图片
注意,烧写分为两个阶段,第一阶段烧写firmware目录下的uboot、kerel、dtb到DDR中,然后会启动linux,这时候进入第二阶段,再向EMMC中烧写完整的系统,包括file目录下的uboot、kernel、dtb、rootfs等。一定要等到工具提示Done才是烧写完成

i.MX6ULL系统移植 使用 NXP MfgTool 烧写系统到eMMC_第9张图片

5. 恢复从eMMC启动

拨码开关恢复从eMMC启动,测试Linux启动是否正常:
i.MX6ULL系统移植 使用 NXP MfgTool 烧写系统到eMMC_第10张图片
系统烧写成功。

三、网路开机自启动设置

1. 问题描述

测试系统时,发现网络不能正常使用:

2. 问题分析

这是因为Linux内核不会自动打开eth0网卡,手动打开测试是否可以正常使用。

查看系统中存在的网卡:

ifconfig -a

打开eth0网卡:

ifconfig eth0 up

设置ip地址:

ifconfig eth0 192.168.1.110 netmask 255.255.255.0
route add default gw 192.168.1.1

ping主机测试:
i.MX6ULL系统移植 使用 NXP MfgTool 烧写系统到eMMC_第11张图片
手动打开后,测试成功。

3. 设置自动打开网卡

/etc/init.d/rcS文件中添加想要开机执行的命令即可:

ifconfig eth0 up
ifconfig eth0 192.168.1.110 netmask 255.255.255.0
route add default gw 192.168.1.1

总结

写到这里也结束了,在文章最后放上一个小小的福利,以下为小编自己在学习过程中整理出的一个关于 java开发 的学习思路及方向。从事互联网开发,最主要的是要学好技术,而学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯,更加需要准确的学习方向达到有效的学习效果。

由于内容较多就只放上一个大概的大纲,需要更及详细的学习思维导图的 点击我的Gitee获取。
还有 高级java全套视频教程 java进阶架构师 视频+资料+代码+面试题!

全方面的java进阶实践技术资料,并且还有技术大牛一起讨论交流解决问题。

你可能感兴趣的:(java,后端,arm开发,linux,运维)