- 14
- 0
- 约5.74千字
- 约 23页
- 2018-05-30 发布于广东
- 举报
知识点:交叉编译什么是交叉编译本地编译可以理解为,在当前编译平台下,编译出来的程序只能放到当前平台下运行。平时我们常见的软件开发,都是属于本地编译:比如,我们在 x86 平台上,编写程序并编译成可执行程序。这种方式下,我们使用 x86 平台上的工具,开发针对 x86 平台本身的可执行程序,这个编译过程称为本地编译。交叉编译可以理解为,在当前编译平台下,编译出来的程序能运行在体系结构不同的另一种目标平台上,但是编译平台本身却不能运行该程序:比如,我们在 x86 平台上,编写程序并编译成能运行在 ARM 平台的程序,编译得到的程序在 x86 平台上是不能运行的,必须放到 ARM 平台上才能运行。为什么要交叉编译之所以要有交叉编译,主要原因是:Speed: 目标平台(开发板)的运行速度往往比主机慢得多,许多专用的嵌入式硬件被设计为低成本和低功耗,没有太高的性能Capability: 整个编译过程是非常消耗资源的,嵌入式系统往往没有足够的内存或磁盘空间Availability: 即使目标平台资源很充足,可以本地编译,但是第一个在目标平台上运行的本地编译器总需要通过交叉编译获得Flexibility: 一个完整的Linux编译环境需要很多支持包,交叉编译使我们不需要花时间将各种支持包移植到目标板上交叉编译工具链那么编译过程包括了预处理、编译、汇编、链接等功能。既然有不同的子功能,那每个子功能都是一个单独的工具来实现,它们合在一起形成了一个完整的工具集。同时编译过程又是一个有先后顺序的流程,它必然牵涉到工具的使用顺序,每个工具按照先后关系串联在一起,这就形成了一个链式结构。因此,交叉编译链就是为了编译跨平台体系结构的程序代码而形成的由多个子工具构成的一套完整的工具集。同时,它隐藏了预处理、编译、汇编、链接等细节,当我们指定了源文件(.c)时,它会自动按照编译流程调用不同的子工具,自动生成最终的二进制程序映像(.bin)。命名规则arm-none-linux-gnueabi-gccarm-cortex_a9-linux-gnueabi-gccarm-arm7-linux-gnueabi-gccmips-malta-linux-gnu-gccarch: 用于哪个目标平台。core: 使用的是哪个CPU Core,如Cortex A8,但是这一组命名好像比较灵活,在其它厂家提供的交叉编译链中,有以厂家名称命名的,也有以开发板命名的,或者直接是none或cross的。kernel: 所运行的OS,见过的有Linux,uclinux,bare(无OS)。systen:交叉编译链所选择的库函数和目标映像的规范,如gnu,gnueabi等。其中gnu等价于glibc+oabi;gnueabi等价于glibc+eabi。包含的工具ld GNU连接器the GNU linker.as GNU汇编器the GNU assembler.addr2line 把地址转换成文件名和所在的行数ar A utility for creating, modifying and extracting from archives.c++filt Filter to demangle encoded C++ symbols.dlltool Creates files for building and using DLLs.gold A new, faster, ELF only linker, still in beta test.gprof Displays profiling information.nlmconv Converts object code into an NLM.nmLists symbols from object files.objcopyCopys and translates object files.objdumpDisplays information from object files.ranlib Generates an index to the contents of an archive.readelf Displays information from any ELF format object file.size Lists the section sizes of an object or archive file.strings Lists printable strings from files.stripDiscards symbols如何得到交叉编译工具链?下载已经做好的交叉编译链从零开始构建交叉编译链sudo apt-cache search gccsudo apt-cache search gcc 搜索软件1.ta
您可能关注的文档
- 电气工程系06届毕业设计开题报告-韩丽.pdf
- 电气工程系06届毕业设计开题报告-何凤有.pdf
- 电气工程系06届毕业设计开题报告-胡泳军.pdf
- 电气工程系06届毕业设计开题报告-胡忠建.pdf
- 电气工程系06届毕业设计开题报告-刘建华.pdf
- 电气工程系06届毕业设计开题报告-苗长新.pdf
- 电气工程系06届毕业设计开题报告-史丽萍.pdf
- 电气工程系06届毕业设计开题报告-谭国俊李浩.pdf
- 电气工程系06届毕业设计开题报告-王崇林、李国欣.pdf
- 电气工程系06届毕业设计开题报告-张栋梁.pdf
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
原创力文档

文档评论(0)