【问题标题】:How to load application using u-boot for an ARM Processor如何使用 u-boot 为 ARM 处理器加载应用程序
【发布时间】:2014-05-31 06:29:38
【问题描述】:

我目前正在 64 位 Linux 机器上编写一个应用程序(非常简单和基本的 C 语言 hello world 程序)。我已经使用 Linero 的 ARM 嵌入式 gcc 工具链按应用程序编译,以将应用程序交叉编译到我的板上。有关信息,我正在使用带有 ATMEL AT91SAM9G20 处理器的 FOX G20 V 板。

所以,我使用arm-none-eabi-gcc 编译了我的应用程序,同时添加了一些允许我使用标准 C 函数(例如 printf 等)的选项。这编译成功,我能够获得二进制文件,准备加载到我的板上。

因此,下一步是编译和构建 U-Boot,以便能够将我的应用程序加载到我的板上。我按照编译和构建使用

使 ARCH=arm CROSS_COMPILE=${CC} distclean

使 ARCH=arm CROSS_COMPILE=${CC} at91sam9g20ek_mmc_config

使 ARCH=arm CROSS_COMPILE=${CC}

通过向编译器指定arm-none-eabi-gcc 路径的确切位置。 这样就编译成功了。

现在我已经有了我的应用程序二进制文件,并且我的 U-Boot 已构建并准备好加载,我如何将我的应用程序实际加载到板上?我曾尝试在线学习教程,但相当不成功。理想情况下,我想将我的应用程序加载到我开发板的 SD 卡上。任何建议将不胜感激。

【问题讨论】:

  • return 不是函数。
  • 好的,好的,谢谢。我的意思是 printf 函数。
  • 让我为你解决这个问题! ;-)
  • 谢谢你:)。您对这个问题有任何可能的建议/帮助吗?

标签: c linux gcc cross-compiling processor


【解决方案1】:

为什么不只从u-boot源代码中给出的默认hello word程序开始..

它在u-boot/examples/hello_world.c

使用其配置文件在编译中启用它并尝试加载它。 这将显示一些方法。 http://www.denx.de/wiki/view/DULG/UBootStandalone

【讨论】:

  • 我看过这个教程,但我无法进行tftp 转移。另外,“使用其配置文件在编译中启用它”是什么意思?最后,当我编译一个应用程序时,我是要加载可执行文件还是二进制文件?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-09-07
  • 2016-07-19
  • 2010-11-16
  • 2022-07-05
  • 1970-01-01
  • 2016-08-30
  • 1970-01-01
相关资源
最近更新 更多