Lazy loaded image
🥳嵌入式 Linux开发
烧写整个系统或更新部分系统
Words 1350Read Time 4 min
2024-12-4
2024-12-4
type
date
slug
category
icon
password

一、NFS网络方式烧写

1.1 烧写 u-boot

编译好的 uboot 镜像文件拷贝至 Ubuntu nfs 目录,启动开发板系统,在开发板上挂载 Ubuntu nfs 目录。
在开发板上把 NFS 目录中的 u-boot-dtb.imx 复制到开发板家目录下
拷贝成功后,如果要烧写 EMMC,执行如下命令:
烧写完成后,确保开发板设置为 EMMC 启动,可以观察到刚烧写的 U-boot 的启动信息。
如果要烧写 SD/TF 卡,执行如下命令:
烧写完成后,确保开发板设置为 SD/TF 卡启动,可以观察到刚烧写的 U-boot 的启动信息。

1.2 更新内核或设备树

内核、设备树文件拷贝到开发板/boot 目录下,替换掉原来的文件:
等待同步完成后重启开发板即可。

二、SD/TF方式烧写

2.1 Windows下

  1. 使用【SD Card Formatter】格式化SD卡
  1. 使用 win32diskimager 软件烧录镜像
  1. SD卡启动验证

2.2 Ubuntu 下

  1. 识别 SD/TF 卡(使用 dmesg 命令获取设备挂载的设备节点)
  1. 使用 dd 命令烧写 sdcard.img 镜像文件到 /dev/sdb 设备:
    1. 烧写成功后,把 SD/TF 卡插到开发板上,设置在 SD/TF 卡启动,上电即可看到启动信息。
  1. 只更新卡上的 u-boot,使用 dd 命令烧写 imx 镜像文件到 /dev/sdb设备:
    1. 注意:是烧写到 1K 偏移处。烧写成功后,把 SD/TF 卡插到开发板上,设置在SD/TF 卡启动,上电即可看到 u-boot 信息。
  1. 对于曾经烧写过的 SD/TF 卡,上面已经有分区。使用df -h查看 /dev/sdb2 挂载位置
    1. notion image
      第1步 进入 boot 目录;
      第2步 使用 sudo 命令拷贝之前编译好的目录到 TF 卡文件系统的 boot 目录下。此时会提示你输入 Ubuntu 用户密码,输入后确认,此时开始拷贝文件;
      第3步 拷贝完成后使用 sync 命令同步数据缓存;
      第4步 最后切换到另一个目录,使用 sudo umount 命令卸载 TF。

三、USB-OTG 方式烧写

市面上的 imx6ull 开发板多是使用 mfgtools 2.0 来烧写,效率不高,且单独烧写 bootloader、内核、设备树需要修改xml脚本,操作复杂。另一方面,烧写速度慢,烧写 500M 的系统,耗时 5 分钟。
NXP 官方的烧写工具 uuu:Universal Update Utility(又名 mfgtools 3.0) 支持跨平台(Win,Linux,Mac),也支持单独烧写 bootloader、内核、设备树。但是命令行工具,新手不友好,烧写效率有所改进,但还是不高。具体操作参考官方文档。
百问网开发了新的烧写工具 100ask imx6ull flashing tool,它基于uuu工具封装了GUI 前端,完全开源。有如下特点:
  • 可以烧写整个系统,也可以分开烧写 bootloader、内核、设备树
  • 可以上传用户文件到开发板系统中任意目录里
  • 烧写速度是原厂工具的 5 倍
  • 支持所有厂家的开发板烧写,注意:不只是支持 100ASK_IMX6ULL,还支持其他厂家的 IMX6ULL 开发板。
烧写工具分为“基础版”和“专业版”。
  • “基础版”是专为100ASK_IMX6ULL设计的,点击一下即可完成某项烧写。
  • “专业版”功能更强大,特别是它可以上传文件到某个分区、某个目录。有些厂家的开发板,zImage和设备树是在第1个分区里的,而100ASK_IMX6ULL的zImage和设备树是在第2个分区里,所以这些厂家的开发板就无法使用基础版来烧写,需要使用专业版,指定分区、指定分区格式、指定路径,然后再上传文件。
 
注意1:设置为 USB 启动时,先不要接 TF 卡
注意2:要留意的是 files 目录下的文件,文件名不能改变,要更新某文件时需要覆盖旧文件。
notion image
注意3:VMWARE 可能会截取 USB 设备导致烧写失败

3.1 Windows 烧写方法

基础版
基础版
专业版 -烧写整个系统
专业版 -烧写整个系统
有些开发板厂家把内核 zImage、设备树放在第 1 个分区里,它通常是 FAT 分区。那么可以使用专业版来更新内核、更新设备树。比如:
notion image
几乎所有的开发板的第 2 个分区都是 EXT4 格式,我们可以上传文件到它的任意目录下,比如:
notion image

3.2 Ubuntu 烧写方法

上一篇
Uboot 的移植
下一篇
Signal 信号处理与 IO 复用

Comments
Loading...