为什么在编译Linux内核和uBoot时arm-linux-gnueabi-gcc而不是arm-none-eabi-gcc?

为什么在编译Linux内核和uBoot时arm-linux-gnueabi-gcc而不是arm-none-eabi-gcc?,第1张

概述我有一些编译ARM cortex-m设备的裸机代码以及 Linux核心,uBoot和Beaglebone Black(BBB)的应用程序的经验(更多特色ARM与MMU,生活在摇滚之下).从那以后,我认为cortex-m代码应该使用arm-none-eabi-gcc编译(因为没有操作系统),BBB的应用程序代码应该用arm-linux-gnueabi-gcc编译(因为那里)是一个操作系统,可以进行系 我有一些编译ARM cortex-m设备的裸机代码以及 Linux核心,uBoot和Beaglebone Black(BBB)的应用程序的经验(更多特色ARM与MMU,生活在摇滚之下).从那以后,我认为cortex-m代码应该使用arm-none-eabi-gcc编译(因为没有操作系统),BBB的应用程序代码应该用arm-linux-gnueabi-gcc编译(因为那里)是一个操作系统,可以进行系统调用,程序加载器和可以使用的共享对象.

我不明白为什么uBoot和内核也应该用arm-linux-gnueabi-gcc编译.在我看来,uBoot至少是一个裸机程序,没有花哨的操作系统来解释.这一直困扰着我,但我找不到答案.那里有没有人可以开导我?

解决方法 U-Boot旨在尽可能地反映linux设计理念.它使用相同的配置系统,通用目录结构等.它与linux共享一些API – 请参阅include / linux目录.正如上面提到的那样,ABI兼容性在这一点上并不重要,但使用linux编译器在U-Boot上并不合适. 总结

以上是内存溢出为你收集整理的为什么在编译Linux内核和uBoot时arm-linux-gnueabi-gcc而不是arm-none-eabi-gcc?全部内容,希望文章能够帮你解决为什么在编译Linux内核和uBoot时arm-linux-gnueabi-gcc而不是arm-none-eabi-gcc?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:http://outofmemory.cn/yw/1047714.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-25
下一篇2022-05-25

发表评论

登录后才能评论

评论列表(0条)

    保存