Building RIOT-OS hello-world example fails on QEMU emulated ARM board

778 views Asked by At

I am trying to build a the simple built in hello-world example of the RIOT-OS on an emulated msba2 board, emulated by QEMU (Linux host). https://github.com/RIOT-OS/RIOT https://github.com/RIOT-OS/RIOT/wiki/Board%3A-MSBA2

I've created a linux kernel image and root file system for the qemu using buildroot, here is the .config file: http://pastebin.com/t0aJK0n2

Here is the QEMU code I use:

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

I downloaded the RIOT-OS from git and I also downloaded the toolchain suggested for ARM architecture here: https://github.com/RIOT-OS/RIOT/wiki/Family:-ARM

Here I downloaded the CodeBench toolchain for Linux: arm-2014.05-28-arm-none-eabi-i686-pc-linux-gnu.tar.bz2 I know that I am emulating an arm926t architecture on the qemu which is ARM9 architecture and I know that ARM7 != ARM9, but I am hoping that I understood this article well, which I think says that ARM7 should be compatible with ARM9

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

I am doing this becouse buildroot can not build ARM7 architecture, only ARM9 and Cortex-M3, and I need ARM architecture for this project for reasons. Now, RIOT only support ARM7, but it also supports Cortex-M3 which buildroot can do, but when I tried to build it I got the error message "target CPU does not support ARM mode" which I couldn't get past, so I remained with the ARM9 architecture.(help with this is appriciated) But I am getting off topic here.

running uname -a on the emulated board I get this: enter image description here

So using tftp I downloaded the RIOT and the arm-none-eabi-gcc from the host to the emulated msba2 board, added the arm-none-eabi-gcc to path using the following command:export PATH=${PATH}:/home/arm-2014.05/bin/ and I went into the RIOT/examples/hello world and ran the following build command:

make BOARD=msba2

To which I get the following: enter image description here

Also if I try to just simply run arm-none-eabi-gcc I get the same thing.

As you might guess I am very new to embedded systems,emulations , RIOT-OS, stackoverflow, or Linux as a matter of fact so I am sorry if this is a noob question or if I didnt give enough information about the matter.

0

There are 0 answers