uboot-uart.bin和uboot.bin之间的区别?

时间:2014-03-25 07:22:09

标签: embedded arm u-boot

我正在尝试将第一个u-boot二进制文件(uboot.bin)刷新到一个全新的空白板的空白NOR闪存中,该空白板具有使用Teraterm(xmodem / ymodem / zmodem)的奇迹370 soc(ARM)

当我编译uboot时,我得到两个二进制文件,如uboot-uart.bin和uboot.bin。

两个二进制文件有什么区别?

我已被指示进行一些dip开关更改,然后首先将uboot-uart.bin加载到原型板中。

从手册我了解dip开关设置是将“从Uart启动”设置为启动源列表。

我是嵌入式的新手,希望从u-boot的角度了解更多信息。我在哪里可以了解到这一点?

还想知道这些xmodem,ymodem,zmodem是什么东西?

并且还想学习如何使用marvel 370 soc(ARM)为自定义电路板定制u-boot?

如果有人能指出好的资源,我会很高兴。

1 个答案:

答案 0 :(得分:2)

XModem本身是一个非常简单的协议,旨在通过串行链接发送文件,详细解释here

过去几年中,大多数Marvell ARM芯片都可以使用XModem协议通过UART上传二进制文件。有两种方法可以做到这一点。

  1. 通过在启动期间向芯片发送特殊序列(可以在不对引导选项进行任何更改的情况下完成)。
  2. 相应地设置引导选项(通过您的情况下的DIP-Switches)
  3. 在这两种情况下,芯片都将启动Xmodem下载。 TeraTerm应该有一个通过xmodem协议上传文件的选项。 IIRC可在File / Transfer / XModem / Send。

    下找到

    如果你知道发送你的" uboot-uart.bin"归档到Armada 370(这需要一些时间)。 SoC现在将启动文件,就像从NAND或任何其他源加载一样。

    uboot-uart.bin和uboot.bin之间的唯一区别很可能是必须放在实际uboot-binary前面的特殊标头,它包含图像所针对的bootdevice类型,地址在内存中应该加载图像和很多板特定的设置。确切的结构和内容通常在Marvell非常出色的数据表中进行了解释。

    对于自定义uboot,我只能建议深入研究Marvell提供的代码,并根据自己的主板进行更改。您将在Board / Marvell下找到特定于电路板的文件。