3

我正在尝试在由 QEMU(Linux 主机)模拟的仿真 msba2 板上构建一个简单的 RIOT-OS 内置 hello-world 示例。 https://github.com/RIOT-OS/RIOT https://github.com/RIOT-OS/RIOT/wiki/Board%3A-MSBA2

我已经使用 buildroot 为 qemu 创建了一个 linux 内核映像和根文件系统,这里是 .config 文件: http: //pastebin.com/t0aJK0n2

这是我使用的 QEMU 代码:

sudo qemu-system-arm -M versatilepb -m 256M -kernel /mnt/zImage -initrd
 /mnt/rootfs.ext2.gz -hda /mnt/arm926t_snapshot.img  -no-reboot -append 
"root=/dev/ram mem=256M ramdisk_size=700000 rdinit=/sbin/init panic=1 
rootfstype=ext2 rw" -serial stdio -net nic,macaddr=00:16:3e:00:00:01 -net 
tap,ifname=tap0,script=no,downscript=no -tftp 192.168.40.174

我从 git 下载了 RIOT-OS,还在这里下载了建议用于 ARM 架构的工具链: https ://github.com/RIOT-OS/RIOT/wiki/Family:-ARM

在这里我下载了适用于 Linux 的 CodeBench 工具链:arm-2014.05-28-arm-none-eabi-i686-pc-linux-gnu.tar.bz2 我知道我在 qemu 上模拟 arm926t 架构,它是 ARM9 架构,我知道 ARM7 != ARM9,但我希望我能很好地理解这篇文章,我认为 ARM7 应该与 ARM9 兼容

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dvi0027b/ar01s02s01.html

我这样做是因为 buildroot 无法构建 ARM7 架构,只能构建 ARM9 和 Cortex-M3,并且出于某种原因我需要 ARM 架构来完成这个项目。现在,RIOT 只支持 ARM7,但它也支持 buildroot 可以做的 Cortex-M3,但是当我尝试构建它时,我收到错误消息“目标 CPU 不支持 ARM 模式”,我无法通过,所以我仍然使用 ARM9 架构。(对此有帮助)但我在这里离开了话题。

在仿真板上运行 uname -a 我得到了这个: 在此处输入图像描述

因此,我使用 tftp 将 RIOT 和 arm-none-eabi-gcc 从主机下载到仿真 msba2 板,使用以下命令将 arm-none-eabi-gcc 添加到路径:export PATH=${PATH}:/home/arm-2014.05/bin/ 然后我进入 RIOT/examples/ hello world 并运行以下构建命令:

make BOARD=msba2

我得到以下信息: 在此处输入图像描述

此外,如果我尝试简单地运行 arm-none-eabi-gcc 我会得到同样的结果。

正如您可能猜到的那样,事实上我对嵌入式系统、仿真、RIOT-OS、stackoverflow 或 Linux 非常陌生,所以如果这是一个菜鸟问题或者我没有提供足够的信息,我很抱歉。

4

0 回答 0