关于嵌入式系统的研发

来源:百度知道 编辑:UC知道 时间:2024/09/25 08:31:50
问题1,我在基于linux2.4内核的redhat linux上编译2.6内核,可不可以?
问题2,我们已经拿到了A方案,操作系统在相应的硬件平台上调试通过。
现在我们对应用有特殊的要求,对方给了我们B方案,问题是B方案的硬件和A方案不同,特别是使用了NORflash,A方案中使用的是NANDflash启动。
现在我预想了两个选择,一个是我们修改B方案的bootloader,一个是把B方案的应用程序的源代码拿到A方案的交叉编译平台上编译;
请问哪个可行?
谢谢,终于有明白人了。
问题一已经明白谢谢。
问题二,我目前也是打算用编译程序源代码的方法。但是我用A方案的gcc编译就通不过,报错,用B方案提供的GCC可以通过,这两个GCC都是针对同一个芯片的,是不是理论上讲B方案编译的程序可以在A方案平台上运行?有没有什么可能的问题?

最后再麻烦您一次
有没有介绍内核头文件的资料,如何确定版本间的区别?

问题1,交叉编译可以,因为这个只与编译器有关

问题2,把B方案的应用程序的源代码拿到A方案的交叉编译平台上编译比较可行,只是编译一下多简单啊。
你们是要在A硬件平台下拿B平台的源代码用吧,这可不是改改bootloader就行的阿,驱动阿啥的都有问题啊
________________________________________________________
一定是的,但由于编译器版本不同,内核版本不同,你都要对源代码作相应的修改,比如说头文件阿啥的,不同版本的内核头文件可能不一样
--------------------------------------------------------

不好意思,我做驱动多些,就总是想内核的事,对于应用程序,其实内核版本不同,可能引起API掉用不同,但这不是主要的,API变化的也很少,主要是库文件版本不同,你用的C库不同,导致程序不兼容,这主要是交叉编译器里的库和在嵌入式系统中文件系统的库
这就是Linux开发的麻烦之处,没有人提供技术支持,尤其是中文的,你说的版本之间的区别,现在应该说是库的区别,我没有看到太好的中文资料,你可能只能看英文的文档了