大家好、
使用 DFU 和 TFTP 刷写 EMMC 似乎有几种方法、但到目前为止、我无法在我的定制设计中引入 USB 或以太网。
是否有办法使用 UART0 BOOT 将 spl 和 uboot.img 传递给 EMMC?
提前感谢您!
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好、
使用 DFU 和 TFTP 刷写 EMMC 似乎有几种方法、但到目前为止、我无法在我的定制设计中引入 USB 或以太网。
是否有办法使用 UART0 BOOT 将 spl 和 uboot.img 传递给 EMMC?
提前感谢您!
您好、Kamil、
[引用 USER="Kamil Muza1">EMMC 似乎有几种使用 DFU 和 TFTP 刷写的方法、但到目前为止、我无法在我的定制设计中引入 USB 或以太网。
是否有办法使用 UART0引导将 spl 和 uboot.img 传递给 EMMC?
从 UART 引导模式成功引导至 u-boot 提示符后、如果您能够按如下所示访问 eMMC、则可以刷写 eMMC。
=> MMC 列表 OMAP SD/MMC:0 (SD) OMAP SD/MMC:1 (eMMC)
但是、当要刷新的文件是内核、FS 时、您需要了解如何从中提取这些文件。 通过 UART 链路读取这些文件的速度会非常慢。
一些更好的选项是您编写的内容-使用 USB 客户端或网络引导模式将文件从主机传输到目标。 另一个选项是使用 USB 主机引导模式、正如目前在另一个 e2e 线程中讨论的那样。
最棒的
-香港
[引用用户="Hong Guan64"]
从 UART 引导模式成功引导至 u-boot 提示符后、如果您能够按如下所示访问 eMMC、则可以刷写 eMMC。
|
1
2.
3.
|
=> mmc list OMAP SD/MMC: 0 (SD) OMAP SD/MMC: 1 (eMMC) |
但是、当要刷新的文件是内核、FS 时、您需要了解如何从中提取这些文件。 通过 UART 链路读取这些文件的速度会非常慢。
[/报价]
感谢您的回复!
我当前可以在执行 MMC 列表时看到 eMMC
如果我从 UART0引导、如何从 uboot 命令行将 spl 和 uboot.img 复制到 eMMC 中。 是否有办法做到这一点?
[引用 USER="Kamil Muza1]\n 如果我从 UART0引导、如何从 uboot 命令行将 spl 和 uboot.img 复制到 eMMC 中。 是否有办法做到这一点?[/引述]
在 UART 引导的 u-boot 提示符下、eMMC 刷写指令:
software-dl.ti.com/.../Foundational_Components_U-Boot.html
在 eMMC 分区步骤之后、如何获取 eMMC 引导二进制文件(mLO/u-boot.img)有点棘手。
一个选项是将 eMMC 引导文件(MLO/u-boot.img)构建到 UART 引导 u-boot.img 中。
从 UART 引导 u-boot.img 映射文件中、确定 eMMC 引导文件(MLO/u-boot.img)的 DDR 地址、即标记为 MLO_ADDR_IN_DDR 和 uBoot_ADDR_IN_DDR
原始 eMMC 闪存: U-Boot # Fatload MMC 0 ${loadaddr}MLO U-Boot # MMC WRITE ${loadaddr}0x100 0x100 U-Boot # MMC WRITE ${loadaddr}0x200 0x100 U-Boot # Fatload 0 ${loadaddr}u-boot.img U-Boot # MMC WRITE ${loadaddr}0x300 mmc WRITE ${loadaddr}0x400修改 后: U-Boot # MMC 写入${loadaddr}0x100 0x100 => MMC 写入 MLO_ADDR_IN_DDR 0x100 0x100 U-Boot # MMC 写入${loadaddr}0x300 0x400 => MMC 写入 UBOOT_ADDR_IN_DDR 0x300 0x400
[引用用户="Hong Guan64"]
U-Boot # mmc write ${loadaddr} 0x100 0x100 => mmc write MLO_ADDR_IN_DDR 0x100 0x100 U-Boot # mmc write ${loadaddr} 0x300 0x400 => mmc write UBOOT_ADDR_IN_DDR 0x300 0x400[/报价]
您能否进一步介绍如何找到这两个地址? 当您说 UART boot u-boot.img 映射文件时、您是指:
u-boot-spl.map 和 u-boot.map?
您好、Kamil、
正如我在第一次答复中所述、建议的选项是使用 USB 客户端或网络引导模式将文件从主机传输到目标、外加 USB 主机模式。
这是因为从 UART 引导模式获取 eMMC 引导二进制文件需要进一步的定制、并且 UART 下载速度很慢...
我原来的想法是将"pigy-bback "eMMC 二进制文件放入 UART u-boot.img、但考虑到适合用于 u-boot.img、它会产生非常重要的作用。
出于开发或测试目的、如果您的电路板上有 JTAG、则另一个选项是在从 UART 引导到达 u-boot 提示符后使用 JTAG 将 eMMC 二进制文件下载到 DDR、然后使用 u-boot cmd "MMC write..." 将二进制文件从 DDR 写入 eMMC。
最棒的
-香港