我有过一些为ARM more m设备以及Linux内核、uBoot和Beaglebone Black (为那些生活在岩石下的人编写更多带有MMU的ARM )应用程序编写裸机代码的经验。对我来说,应该使用arm-none-eabi-gcc (因为没有操作系统)编译cortex m代码是有意义的,而BBB的应用程序代码应该使用arm-linux-gnueabi-gcc (因为有操作系统,我不明白的是为什么uBoot和内核也要用arm-linux-gnueabi-gnueabi编译。在我看来,至少uBoot是一个裸机程序,没有什么花哨的操作系统要