(一)什么是交叉编译
提到交叉编译,我们先来说说主机编译。
比如我在window平台上写了一个串口助手的程序,然后编译生成可执行的程序。这样的编译叫做主机编译。
交叉编译:我们在主机上生成目标机上可以运行 程序叫做交叉编译。
(二)为什么需要交叉编译
1 资源不够
交叉编译链需要足够大的静态内存以及运算能力,通常目标机这些能力不够。
2 目标平台尚未建立。
因此需要我们做交叉编译,生成bootloader以及操作系统核心。
3 当平台能启动够,由于目的(target)平台资源限制,当我们编译大型程序时,仍然可能用到交叉编译。
(三)
交叉编译这个概念的出现和流行是和嵌入式的广泛发展同步的。
结语:
伴随着以计算机技术、通讯技术为主的信息技术的飞速发展和互联网的广泛应用,3C(computer communication consumerElectronic)合一将成为必然趋势。由于嵌入式设备性能的局限,往往不能通过本机编译得到所需要的可执行程序,因此,以linux为主机操作系统,搭配交叉编译链,为嵌入式设备生成可执行程序已成为日益流行的编译嵌入式软件的解决方案。