ARM嵌入式开发上位机为什么要装linux

在windows下用IAR ADS等开发软件直接开发嵌入式linux不行么,为什么很多嵌入式开发都要装什么redhat linux ubuntu等系统再进行开发。
我不可以在windows下用cygwin开发嵌入式linux系统吗,和linux系统下开发有什么区别。(我刚学arm,就是搞不懂为什么一定要装个linux系统)

如果你的ARM上没装嵌入式系统,或者装的是UCOS之类的系统,那IAR,ADS之类编译都是没问题的,你的开发上位机装WINDOWS就可以了。
但现在看来,嵌入式系统改为LINUX是嵌入式开发很大的一个分支。因为在ARM上装的系统就是LINUX,你这时候应该把ARM板子看成是一个小电脑了,而不再是一块开发板。既然是电脑,那它就只能运行它认识的程序,你见过哪个程序的Windows版本能直接在Linux上运行的。所以你必须在上位机上装Linux环境,你的程序必须在这个环境下编译,arm板子才会认识啊。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-08-14
Linux开源免费,在相同架构的操作系统上开发会比较直观和容易,所以最好有与嵌入式操作系统同源的操作系统开发环境来支持开发,省去了许多转换、工具软件,搞清楚这些软件会花费许多不必要的时间。
第2个回答  2011-03-22
我们的板在裸跑的时候当然是不要操作系统啊,但是如果想智能高端一点(比如执行多任务,就需要操作系统啊)就得加入操作系统啊。装linux还是很方便做其他一些事情的(可以说嵌入式开发linux是一点要学习的),其次,linux是开源、免费的,所以很多开发商都对此大爱,因为成本降低不少。
第3个回答  2011-03-12
上位机不是ARM平台的话就需要交叉编译。
交叉编译就是要用到交叉编译器。所谓交叉编译器就是说这个编译器本身运行在某个平台下,但是它编译出来的可执行文件却要运行在另一个平台下面。比如在x86平台下编译出在ARM平台下的可执行文件。
交叉编译器本身就是一个程序,如果没有windows系统下的交叉编译器而只有linux下的。那上位机只好装个Linux了。
第4个回答  2011-03-12
用于开发的操作系统,主要取决于你的目标项目是什么:例如Android项目,那你只能用Linux平台,windows不行的;如果是Win Mobile/Win CE之类的,你也只能用Windows系统;但其它的项目,例如Nucleus Plus,VxWorks之类的,跟PC的操作系统关联并不大,只要有支持的编译器,你用Mac OSX应该也都可以,交叉编译嘛。追问

我就是想知道为什么Android项目不能用windows系统,有个编译器不久行了吗

追答

追问 我就是想知道为什么Android项目不能用windows系统,有个编译器不久行了吗

如果你有全部的源代码的话,应该可以使用windows开发,正如你所言:有个编译工具链就行。但不清楚google当初为啥要基于linux开发,可能是因为内核是linux的缘故吧。

本回答被网友采纳
相似回答