交叉编译是什么,为什么要交叉编译
1.1 什么是交叉编译?
(1)编译:将我们写的代码编译成一个可执行代码在自己平台运行
例如:我们写的c代码在Windows的cmd下用gcc编译生成可执行.exe文件
或者在Linux下gcc编译生成 .out 可执行文件文件等等
(2)交叉编译:将我们在写的代码生成的文件编译生成另一个平台运行的文件
例如:我们使用keil时在Windows下编写代码,使用keil交叉编译出 .hex 文
件在C51下运行
1.2 为什么要交叉编译?
(1)因为平台上不允许或不能够安装我们所需要的编译器比如C51
1 平台上资源匮乏,无法运行我们所需要的编译器
2 目标平台还没有建立,连操作系统都没有,谈不上运行什么编译器(操作
系统也是代码,也需要编译)
1.3 平台运行至少需要两样东西: bootloader(启动引导代码),操作系统核心
宿主机(host) :编辑和编译程序的平台,一般是基于X86的PC机,通常也被称为主机。
目标机(target):用户开发的系统,通常都是非X86平台。host编译得到的可执行代码在target上运行。
1.4 交叉编译需要用到什么工具?
交叉编译器、交叉编译工具链