下边就需要用到一个rki(Rtems Kernel Image)
在github上git到
阅读README和Makefile
在RKI的Makefile中更改
RTEMS_TOOL_BASE = /home/lenovo/development/rtems/4.11/bin/
RTEMS_BSP_BASE = /home/lenovo/development/rtems/image
BSP = beagleboneblack
ARCH = arm-rtems4.11
然后echo $PATH确认export后,make报错
/home/lenovo/development/rtems/4.11/lib/gcc/arm-rtems4.11/4.9.2/../../../../arm-rtems4.11/bin/ld: error: legacy-build/arm-rtems4.11-beagleboneblack/rki.elf uses VFP register arguments, /home/lenovo/development/rtems/image/arm-rtems4.11/beagleboneblack/lib/librtemscpu.a(libposix_a-pthreadself.o) does not
/home/lenovo/development/rtems/4.11/lib/gcc/arm-rtems4.11/4.9.2/../../../../arm-rtems4.11/bin/ld: failed to merge target specific data of file /home/lenovo/development/rtems/image/arm-rtems4.11/beagleboneblack/lib/librtemscpu.a(libposix_a-pthreadself.o)
collect2: error: ld returned 1 exit status
make: *** [rki.elf] 错误 1
rki编译的错误提示是这样: rki.elf uses VFP register arguments, BUT librtemscpu.a(libposix_a-pthreadself.o) does not (use VFP) 修改的方法之一是把 rki 目录下面的 Makefile 里 LDFLAGS(可能还包括 ARCH_OPTS)选项中 -mfloat-abi=hard 去掉 然后生成rki.elf和rki.bin 其实这是一个RTEMS的shell应用 ## ## Objects to build ## OBJS = init.o rtems_net.o rtems_net_svc.o local_shell_cmds.o filesys.o ## ## Optional objects in src directory ## OBJS += ramdisk.o OBJS += nvramdisk.o ## ## RTEMS examples / demos ## OBJS += task_cmd.o OBJS += hello_cmd.o OBJS += led_cmd.o OBJS