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

Posted Mculover666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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



选择带文件系统的解压:

这里面要烧写的文件放到Profiles这个文件夹中,MfgTool2.exe是烧写软件(不能直接运行)。

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

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

本文中我们需要向iMX6ULL烧写,参考以下几个脚本:

二、烧写系统到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接口:

拨码开关切换到USB下载模式:

如果插了SD卡,需要取出,否则电脑不能识别USB。

4. 开始烧写

双击脚本mfgtool2-yocto-mx-evk-emmc.vbs,打开烧写软件:

点击Start开始烧写:

注意,烧写分为两个阶段,第一阶段烧写firmware目录下的uboot、kerel、dtb到DDR中,然后会启动linux,这时候进入第二阶段,再向EMMC中烧写完整的系统,包括file目录下的uboot、kernel、dtb、rootfs等。一定要等到工具提示Done才是烧写完成

5. 恢复从eMMC启动

拨码开关恢复从eMMC启动,测试Linux启动是否正常:

系统烧写成功。

三、网路开机自启动设置

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主机测试:

手动打开后,测试成功。

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

以上是关于i.MX6ULL系统移植 | 使用 NXP MfgTool 烧写系统到eMMC的主要内容,如果未能解决你的问题,请参考以下文章

i.MX6ULL系统移植 | 移植NXP官方 linux 5.4 内核

移植linux内核到i.MX6ULL过程

移植linux内核到i.MX6ULL过程

I.MX6ULL 官方SDK移植

I.MX6ULL 官方SDK移植

I.MX6ULL 官方SDK移植