我正在尝试将第一个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?
如果有人能指出好的资源,我会很高兴。
答案 0 :(得分:2)
XModem本身是一个非常简单的协议,旨在通过串行链接发送文件,详细解释here。
过去几年中,大多数Marvell ARM芯片都可以使用XModem协议通过UART上传二进制文件。有两种方法可以做到这一点。
在这两种情况下,芯片都将启动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下找到特定于电路板的文件。