LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 844|回复: 4

为什么编译嵌入式系统目标CPU内核的时候不需要交叉编译工具,而编译在目标CPU上运行的

[复制链接]
发表于 2006-11-6 12:38:03 | 显示全部楼层 |阅读模式
要在目标CPU上运行的内核不也是程序吗?为什么使用发行版linux自带的编译工具就可以解决,而不像运行在目标CPU上的程序那样必须使用交叉编译工具编译?谢谢!
发表于 2006-11-6 18:50:30 | 显示全部楼层
不需要吗???
要不你举个例子啊.我还没有碰到过.呵呵
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-7 08:45:45 | 显示全部楼层
我的一块44B0的开发板,uClinux2.4的内核直接用make编译(系统中没有安装交叉编译工具)出来的映像就可以运行。有的书上描述编译嵌入式系统内核时也没提到必须用交叉编译工具。另外还有一块友善之臂的2410,我咨询厂商,他们说编译内核时不需要交叉编译工具,说只要在配置内核时选择好适用平台的cpu即可。我都糊涂了。还请指教!
回复 支持 反对

使用道具 举报

发表于 2006-11-7 15:24:28 | 显示全部楼层
gcc本身就可以生成不同平台的目标代码,kernel是一个单独的部分,运行时不需要也不可能需要库的支持,所有需要的东西都被编译进一个二进制文件中,当然不需要交叉编译工具。而应用程序在需要库的支持,在这里交叉编译工具主要是用来解决库的依赖问题的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-8 18:07:38 | 显示全部楼层
Post by small_bee
gcc本身就可以生成不同平台的目标代码,kernel是一个单独的部分,运行时不需要也不可能需要库的支持,所有需要的东西都被编译进一个二进制文件中,当然不需要交叉编译工具。而应用程序在需要库的支持,在这里交叉编译工具主要是用来解决库的依赖问题的。


原来如此,谢谢指教!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表