Gcc 在QEMU模拟ARM板上构建RIOT-OS hello world示例失败

Gcc 在QEMU模拟ARM板上构建RIOT-OS hello world示例失败,gcc,makefile,arm,qemu,riot-os,Gcc,Makefile,Arm,Qemu,Riot Os,我试图在模拟的msba2板上构建一个RIOT-OS的简单内置hello-world示例,该板由QEMU(Linux主机)模拟。 我已经使用buildroot为qemu创建了linux内核映像和根文件系统,下面是.config文件: 以下是我使用的QEMU代码: sudo qemu-system-arm -M versatilepb -m 256M -kernel /mnt/zImage -initrd /mnt/rootfs.ext2.gz -hda /mnt/arm926t_snapsh

我试图在模拟的msba2板上构建一个RIOT-OS的简单内置hello-world示例,该板由QEMU(Linux主机)模拟。

我已经使用buildroot为qemu创建了linux内核映像和根文件系统,下面是.config文件:

以下是我使用的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体系结构的工具链:

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

我这样做是因为buildroot不能构建ARM7架构,只能构建ARM9和Cortex-M3,我需要ARM架构来完成这个项目。 现在,RIOT只支持ARM7,但它也支持Cortex-M3,buildroot可以做到这一点,但当我尝试构建它时,我得到了错误消息“目标CPU不支持ARM模式”,我无法通过,因此我仍然使用ARM9架构。(这方面的帮助非常有用) 但我现在离题了

在模拟板上运行uname-a,我得到以下结果:

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

make BOARD=msba2
对此,我得到以下信息:

另外,如果我试着简单地运行arm-none-eabi-gcc,我也会得到同样的结果


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

因此,你想为这个微控制器板构建RIOT-OS,因此出于某种原因,我们正在构建一个完全不同的操作系统(Linux)用于模拟完全不同的板(),基于各自CPU的体系结构是唯一模糊相似的东西,问题是这样做会生成一些文本的图片,字体不可读。这就是要点吗?我正试图在这里了解一些事情,但我迷路了……好吧,要点不象:我是这家公司的实习生,我以前从未使用过嵌入式系统。我的老板给了我这个项目,他说他想看到qemu模拟arm板运行Riot os。最终目标是这些板将有某种6lowpan coap网络,并且可以相互通信。这就是我得到的所有信息,我已经做到了这一点。现在我想建立一个hello world exa在我尝试创建一个完整的coap服务器之前,我只是想看看我是否需要什么。好吧,我想你会想要一个模拟器/模拟器,用于一个实际支持的板/微控制器-qemu可能不是这方面的最佳选择(尽管如果有一个版本可以实现通用Cortex-M3,我不会感到惊讶)。交叉编译RIOT代码,在你电脑上的模拟设备上运行它-我仍然不知道buildroot和Linux的用途,更不用说一个不相关的模拟目标,你显然正在试图在其上运行x86交叉编译器。不过,现实地说,我会建议你的老板买一个真正的开发板,以节省整个不必要的负载您可以避免这些麻烦,并帮助您建立相关的硬件体验—例如,使用内置调试器和其他一切都可以。或许可以提醒他,相比之下,在不满意的解决方案成本上浪费了多少工程时间;)您看到了吗?欢迎您的意见!我们也有一个非常活跃的邮件列表,我们的IRC频道是最活跃的贡献者经常光顾的地方。请看。(无关:决不,决不,决不与sudo一起运行QEMU!也不要介意这样的评论:真正的硬件更有趣。:)