使用U-Boot从Flash上​​传固件

时间:2014-03-08 16:08:47

标签: linux embedded-linux u-boot

我有问题。我的系统是嵌入式Linux平台。我使用串口连接到我的主板,我可以访问U-Boot。

我需要通过控制台或以太网提取驻留在闪存中的完整固件。看起来使用TFTP或串口(Kermit等)很容易下载,但将其上传到主机PC进行备份并不明显。

有谁知道如何做到这一点?

2 个答案:

答案 0 :(得分:5)

假设您正在使用NAND闪存和U-Boot 2013.07或类似产品:

  1. 使用nand info命令查看U-Boot检测到的每个NAND设备的NAND设备名称,大小和擦除块大小
  2. 使用nand read命令从NAND读入RAM。读入RAM的NAND数量取决于RAM大小
  3. 如果您有SD(MMC)驱动器,则可以使用mmc write命令从RAM写入SD
  4. 如果您有USB设备,可以使用start usb扫描USB以进行大容量存储或“以太网”(即OTG)设备
  5. 如果start usb检测到大容量存储设备,您可以使用usb write命令从RAM写入大容量存储设备
  6. 无法从RAM转移到USB或以太网连接
  7. 使用md命令将任意大小的内存块十六进制转储到串行线,然后使用某个程序将ASCII十六进制转换回二进制文件

答案 1 :(得分:2)

如果您愿意重建uboot并重新刷新电路板,可以使用tftpput选项启用CONFIG_CMD_TFTPPUT命令。 (假设最新版本的uboot。)

假设没有,在嵌入式Linux中,您可以通过/dev/mtd*cat /proc/mtd访问闪存来查看分区)。您可以使用dd将分区复制到ramdisk文件,然后使用cat将文件合并为单个图像,并使用ftpput将其发送到主机。 (这假设您的嵌入式busybox已使用这些命令构建。)