当前位置: 首页 > news >正文

使用MfgTool烧写工具烧写自制系统

一.  简介

本文我们就来学习,如何将我们编译的 uboot,zImage(内核镜像),xxx.dtb设备树文件,还有制作的根文件系统,这四个文件烧写到开发板中,最后 开发板能正常启动。

上一篇文章说明了 烧录需要的文件:uboot, zImage,设备树文件 imx6ull-alientek-nand.dtb,根文件系统rootfs。文章地址如下:

使用MfgTool烧写工具烧写自制系统说明一-CSDN博客

本文继上一篇文章的学习,本文使用 NXP官方 MfgTool工具烧录我们自制的系统。

二.  使用MfgTool烧写工具烧写自制系统

烧写前准备工作:

1.  将 SD卡从开发板的 SD卡槽弹出。

2.  开发板上的拨码开关拨到 USB启动。

烧写

1.   打开 NXP官方提供的 MfgTool工具。

注意:这里的 MfgTool工具内部,之前我更新了 如下目录下几个文件的:

L4.1.15_2.0.0-ga_mfg-tools/mfgtools-with-rootfs/mfgtools/Profiles/Linux/OS Firmware/firmwareL4.1.15_2.0.0-ga_mfg-tools/mfgtools-with-rootfs/mfgtools/Profiles/Linux/OS Firmware/files

具体更新文件如下:

firmware文件夹下: uboot,zImage,xxx.dtb设备树文件

files文件夹下:uboot,zImage,xxx.dtb设备树文件,根文件系统 rootfs。

2.  双击 MfgTool工具下 mfgtool2-yocto-mx-evk-nand.vbs,开发板上电。弹出如下界面,界面有显示"符合 HID 标准的供应商定义设备",否则,设备连接存在问题。

点击 "start"按钮开始烧写

3.   等待系统烧写完成。但是,这里我们烧写过程失败。烧写失败时的串口打印如下:

这里出现的提示:在烧写 mtd3时出错了,提示没有空余的空间可以擦除。

打开 我们更改过的 NXP 官方uboot源码,找到 设置文件分区的地方。具体是 mx6ull_alientek_nand.h 文件,找到如下代码:

#if defined(CONFIG_SYS_BOOT_NAND)
#define CONFIG_EXTRA_ENV_SETTINGS \CONFIG_MFG_ENV_SETTINGS \"panel=TFT43AB\0" \"fdt_addr=0x83000000\0" \"fdt_high=0xffffffff\0"	  \"console=ttymxc0\0" \"bootargs=console=ttymxc0,115200 ubi.mtd=4 "  \"root=ubi0:rootfs rootfstype=ubifs "		     \CONFIG_BOOTARGS_CMA_SIZE \"mtdparts=gpmi-nand:64m(boot),16m(kernel),16m(dtb),1m(misc),-(rootfs)\0"\"bootcmd=nand read ${loadaddr} 0x4000000 0x800000;"\"nand read ${fdt_addr} 0x5000000 0x100000;"\"bootz ${loadaddr} - ${fdt_addr}\0"
#else

可以看出,Uboot源码这里,设置了五个分区,分别对应如下:

mtd0     ->      uboot

mtd1     ->      kernel ziamge

mtd2     ->      xx.dtb

mtd3    ->      misc 1MB

mtd4     ->      rootfs

对于 使用的(NXP官方的) MfgTool工具而言:

(1)在imx6ull-alientek-alpha-nand.vbs文件中:

part_uboot=0

part_kernel=1

part_dtb=2

part_rootfs=3

 

(2)在ucl2.xl文件里面:

uboot烧写到 /dev/mtd0

kernel烧写到 /dev/mtd1

dtb烧写到 /dev/mtd2

rootfs烧写到/dev/mtd3

以上三个部分比较, uboot源码nand-Flash分区设置与 MfgTool工具内部设置的有冲突。所以,在烧写的时候,uboot预将 根文件系统rootfs到 mtd3分区,由于 mtd3分区大小只设置了 1MB,所以会失败。

解决方法:

将 uboot源码中,针对 Nand-Flash版开发板设置

4.  开发板断电,开发板上的拨码开关拨到从 nand-Flash启动。

http://www.lryc.cn/news/256941.html

相关文章:

  • react中使用react-konva实现画板框选内容
  • es6 相关面试总结
  • 【Hive】——数据仓库
  • 算法基础九
  • QT-在ui界面中给QWidget增加Layout布局的两种方法
  • 免费的网页数据抓取工具有哪些?【2024附下载链接】
  • 报错:Parsed mapper file: ‘file mapper.xml 导致无法启动
  • Linux驱动开发学习笔记2《LED驱动开发试验》
  • hive数据库查看参数/hive查看当前环境配置
  • ajax中get和post的区别,datatype返回的数据类型有哪些?web开发中数据提交的几种方式,有什么区别。百度使用哪种方式?
  • STM32用flash保存参数实现平衡擦写的一种方法
  • Aho Corasick Algorithm
  • 用户管理 --汇总
  • Flutter视频播放器在iOS端和Android端都能实现全屏播放
  • 面试遇到的一些问题(二)
  • JDK8新特性:Lambda表达式规则及用法,方法引用
  • 【GIS】JDK版本升级到17后,GeoServer的图层无法通过openLayer预览
  • vue 批量下载文件,不走后端接口的方法
  • 科技云报道:AI+PaaS,中国云计算市场迎来新“变量”?
  • Windows Service Name重复问题
  • BBS项目
  • Java基础——对象类型转换(向上、向下转型)
  • 期末速成数据库极简版【查询】(2)
  • 2023年终总结-轻舟已过万重山
  • 手机号,邮箱,密码,验证码正则表达式[Java]
  • 普冉(PUYA)单片机开发笔记(7): ADC-轮询式多路采样
  • uniapp切换页面时报错问题
  • Nginx 简单入门操作
  • ChatGPT是科学还是艺术?
  • 线程及实现方式