arm嵌入式linux系统为什么要在Linux主机上编译后下载到开发板呢?为什么
arm嵌入式linux系统为什么要在Linux主机上编译后下载到开发板呢?为什么不能像单片机一样在windows下编译后下载呢?Windows下难道没有可以编译能在arm...
arm嵌入式linux系统为什么要在Linux主机上编译后下载到开发板呢?为什么不能像单片机一样在windows下编译后下载呢?Windows下难道没有可以编译能在arm开发板下运行的程序的软件?
展开
1个回答
2017-05-15
展开全部
同学不要把单片机和嵌入式化成等同。单片机只不过是嵌入式里面的一个小分支。
你问这个问题说明你对软件的编译原理还不够深入。
简单来说就是单片机的IDE已经集成了很多步骤,编译,链接,以及调试功能,更重要的是单片机编程需要的接口是比较平台化的比如说在8位机上的程序涉及到寄存器的操作,到其他单片机就要重头开发,
用到的函数也不同,linux应用编程其实用的是linux平台的c库以及linux的API,这些在Windows是没有的,除非你自己配置环境。而单片机说白了,基本都是根据某款单片机到各个论坛去或者芯片厂商去要接口实现函数,开发中很少用到C库中的函数。
而在PC的linux中是有开源的内核代码,以及编译环境,linux中的编译器可以找到需要实现的头文件以及动态库和静态库。在开发的过程中也需要有单独的调试工具,比如GDB等。
当然你可以在Windows下从网上下载好对应的linux内核源码以及编译器,配置好路径,也可以实现在Windows下进行编译运行,但这样会遇到很多的兼容性问题,而且你的做法不是主流,实际开发这么搞会带来很多麻烦
你问这个问题说明你对软件的编译原理还不够深入。
简单来说就是单片机的IDE已经集成了很多步骤,编译,链接,以及调试功能,更重要的是单片机编程需要的接口是比较平台化的比如说在8位机上的程序涉及到寄存器的操作,到其他单片机就要重头开发,
用到的函数也不同,linux应用编程其实用的是linux平台的c库以及linux的API,这些在Windows是没有的,除非你自己配置环境。而单片机说白了,基本都是根据某款单片机到各个论坛去或者芯片厂商去要接口实现函数,开发中很少用到C库中的函数。
而在PC的linux中是有开源的内核代码,以及编译环境,linux中的编译器可以找到需要实现的头文件以及动态库和静态库。在开发的过程中也需要有单独的调试工具,比如GDB等。
当然你可以在Windows下从网上下载好对应的linux内核源码以及编译器,配置好路径,也可以实现在Windows下进行编译运行,但这样会遇到很多的兼容性问题,而且你的做法不是主流,实际开发这么搞会带来很多麻烦
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询