linux - u-boot 闪存 emmc ttl 串口

标签 linux embedded-linux u-boot usbserial

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

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

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

最佳答案

Is there a standard way to update linux/rootfs in Emmc, etc.. with u-boot by using a simple ttl/usb connexion ?

是的,当只有串行控制台连接可用时,可以采用二进制传输协议(protocol)。这些方法与电话调制解调器使用的方法相同。
一种传输方法的 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对于格式化为 Motorola 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。

关于linux - u-boot 闪存 emmc ttl 串口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28042023/

相关文章:

linux - 参数后文件名的 Bash Tab 补全

c - fork () 和 execlp () , execlp() 之前的 printf 没有被执行

使用有效指针从 C 调用方法后出现 Java JNI NullPointerException

linux - 如何在运行 Linux 的 PowerPC CPU 上保留 RAM?

linux - 如何导出计算节点的路径,并行编程

python - 在 Linux 中将文件作为参数传递

linux - 为 ARM 交叉编译 util-linux,libtool/ld 没有从 LDFLAGS 路径获取库

linux - 具有快速启动功能的 Raspberry Pi 嵌入式编程

embedded - qemu 无法启动 u-boot uImage 二进制文件

embedded-linux - 内核不识别 u-boot 标记的 NAND 坏 block