【问题标题】:How to use U-Boot to load application onto board如何使用 U-Boot 将应用程序加载到板上
【发布时间】:2014-04-17 07:12:08
【问题描述】:

我已经在我的主机上安装、编译和构建了 U-Boot,以便将应用程序(C 语言中的 hello world 程序)加载到我的板上。该板是带有 ATMEL AT91SAM9G20 处理器的 FOX G20 V。 U-Boot 编译得很好,我已经用arm-none-eabi-gcc 编译了我的应用程序,这是 Linaro (http://www.linaro.org/) 的一个 ARM 嵌入式 gcc 工具链,可以将我的应用程序交叉编译到我的板上。但现在我非常困惑。

我已使用make 选项将 U-Boot 配置为在我的板上运行。但是现在,我的问题是,一旦 U-Boot 在我的主机上编译和构建,我是否也需要将它安装在我的板上?如果是这样,我该怎么做?如果没有,一旦构建了 U-Boot,我如何将我的应用程序(可执行文件)加载到我的板上?

我已经阅读了在线教程,但是当我阅读它们时仍然让我更加困惑,所以我非常感谢任何帮助。

【问题讨论】:

    标签: c linux gcc cross-compiling toolchain


    【解决方案1】:

    你一定要在你的板上安装 u-boot。看起来你的开发板是从微型 SD 卡启动的,所以这很容易。

    现在假设我们不关心 SD 卡分区。您所要做的就是使用 dd 复制 SD 卡开头的 u-boot 映像:

    dd if=u-boot.bin of=/dev/<xxx>
    

    其中 /dev/ 是您 PC 上的 sdcard 设备,一般是 /dev/sdb 或 /dev/mmc0

    这将覆盖 SD 卡的分区表,因此此 SD 卡上的所有数据都将丢失。也可以使用其他选项保留分区表和内容。

    然后将你的 SD 卡放在板上并从它启动。您应该会在 uart 控制台上看到 u-boot 日志。

    【讨论】:

    • 感谢您的回答。一旦我将 u-boot.bin 文件加载到我的 SD 卡上并将其放回我的板上,“从它启动”是什么意思?这是为了将我的应用程序加载到板上吗?我究竟如何从板上的 SD 卡启动?抱歉所有问题,但我还是有点困惑。
    • 另外,我仍然不确定如何在我的板上安装 U-Boot。
    • 我已手动将u-boot.binu-boot.mapuboot.srecSystem.map 文件复制到我的SD 卡上。下一步是什么?
    • 您的处理器希望在 SD 卡的第一个扇区 * 上找到引导加载程序二进制文件。
    • 应该这样做。但是现在,我如何从开发板的 SD 卡启动以加载和执行我的应用程序?
    猜你喜欢
    • 2014-05-31
    • 2022-07-05
    • 1970-01-01
    • 2019-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-10
    • 2021-03-29
    相关资源
    最近更新 更多