【问题标题】:u-boot flash emmc ttl serialu-boot flash emmc ttl 串口
【发布时间】:2015-01-20 09:41:44
【问题描述】:

我曾经通过 tftp(带有以太网端口或 USB 上的以太网)、sd 卡或简单的 USB 棒等工具更新嵌入式系统上的固件。

我目前正在开发一个没有以太网端口、没有 USB 端口的系统。只有一个 ttl/usb 连接才能访问控制台和一个微型 USB 来提供它。我目前正在构建一个 linux 映像和一个 rootfs。板上使用的存储是emmc。

有没有一种标准的方法来更新 Emmc 中的 linux/rootfs 等。使用 u-boot 通过使用简单的 ttl/usb 连接?我想我可以通过 mmc 命令在 u-boot 中分割我的闪存,但我不明白如何使用简单的 ttl/usb 链接在 emmc 中传输我的内核映像和我的 rootfs。

【问题讨论】:

  • 我也有同样的问题。所以我目前使用uboot ymodem(loady)加载linux内核,内核有一个initramfs,它是minimalfs的精简版。理论上,一旦您加载了 linux,您应该能够轻松访问 emmc。但由于某种原因,我的 emmc 导致系统挂起。

标签: linux embedded-linux u-boot usbserial


【解决方案1】:

有没有一种标准的方法来更新 Emmc 中的 linux/rootfs 等。通过使用简单的 ttl/usb 连接,通过 u-boot 更新 linux/rootfs ?

是的,当只有串行控制台连接可用时,可以使用二进制传输协议。这些方法与电话调制解调器使用的方法相同。
一种传输方法的 U-Boot 命令是loadb

=> help loadb
loadb - load binary file over serial line (kermit mode)

Usage:
loadb [ off ] [ baud ]
    - load binary file over serial line with offset 'off' and baudrate 'baud'
=>

另一个用于传输方法的 U-Boot 命令是 loads,用于格式化为摩托罗拉 S-record 文件的二进制数据:

=> help loads
loads - load S-Record file over serial line

Usage:
loads [ off ] [ baud ]
    - load S-Record file over serial line with offset 'off' and baudrate 'baud'
=>

这些方法当然需要在串行链路的另一端有适当的发送程序,就像 tftpboot 需要 TFTP 服务器一样。一个体面的终端仿真器程序,例如 Minicom 或 TeraTerm,可以执行这些传输的 PC 端。请注意,是发送者决定要传输的文件; U-Boot 端不能按名称请求文件,只能接收它。

如果这些命令在您的 U-Boot 中不可用,那么您必须编辑配置并重建 U-Boot。

【讨论】:

    猜你喜欢
    • 2022-06-15
    • 2020-05-16
    • 2014-04-11
    • 2021-12-25
    • 2021-10-24
    • 2011-06-28
    • 2011-09-24
    • 2016-08-30
    • 1970-01-01
    相关资源
    最近更新 更多