GNU开发工具链介绍课件.pptx





《GNU开发工具链介绍课件.pptx》由会员分享,可在线阅读,更多相关《GNU开发工具链介绍课件.pptx(106页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、xlanchen2007.5.22 EmbeddedOperatingSystems 1“工欲善其事,必先利其器”-论语xlanchen2007.5.22 EmbeddedOperatingSystems 2主要内容l GNUTools 简介l GNUTools 交叉开发环境及其安装xlanchen2007.5.22 EmbeddedOperatingSystems 3本地开发 vs 交叉平台开发l 本地开发:一般软件的开发属于本地开发,也就是说开发软件的系统与运行软件的系统是相同的。l 交叉平台开发:本课程所涉及到的嵌入式系统开发属于交叉平台开发,也就是说开发软件的系统与运行软件的系统不同。
2、xlanchen2007.5.22 EmbeddedOperatingSystems 4交叉开发平台l 主机:开发软件的平台,称为主机,往往是通用电脑;l 目标机:运行软件的平台,称为目标机,在这里是嵌入式系统。xlanchen2007.5.22 EmbeddedOperatingSystems 5嵌入式交叉开发工具l 掌握嵌入式开发工具的使用是进行嵌入式开发的前提条件之一l 与主流开发工具类似,嵌入式交叉开发工具也包括1.编译器,即能够把一个源程序编译生成一个可执行程序的软件2.调试工具,即能够对执行程序进行源码或汇编级调试的软件3.软件工程工具,用于协助多人开发或大型软件项目的管理的软件x
3、lanchen2007.5.22 EmbeddedOperatingSystems 6GNU toolsl GNUtools 和其他一些优秀的开源软件可以完全覆盖上述类型的软件开发工具。为了更好的开发嵌入式系统,需要熟悉如下一些软件l GCCl Binutils 辅助GCC 的主要软件l Gdbl makel cvsxlanchen2007.5.22 EmbeddedOperatingSystems 7一、GCCl 很多人认为GCC 只是一个C 编译器,其实GCC=GNUCompilerCollectionl 目前,GCC 可以支持多种高级语言,如l C、C+l ADAl ObjectCl J
4、AVAl Fortranl PASCALxlanchen2007.5.22 EmbeddedOperatingSystems 8GCC 下的工具l cpp 预处理器GNUC 编译器在编译前自动使用cpp 对用户程序进行预处理l gcc 符合ISO 等标准的C 编译器l g+基本符合ISO 标准的C+编译器l gcjGCC 的java 前端l gnatGCC 的GNUADA95 前端xlanchen2007.5.22 EmbeddedOperatingSystems 9GNU Toolsgccl gcc 是一个强大的工具集合,它包含了预处理器、编译器、汇编器、链接器等组件。它会在需要的时候调用其
5、他组件。输入文件的类型和传递给gcc 的参数决定了gcc调用具体的哪些组件。l 对于开发者,它提供的足够多的参数,可以让开发者全面控制代码的生成,这对嵌入式系统级的软件开发非常重要xlanchen2007.5.22 EmbeddedOperatingSystems 10gcc 使用举例(1)源程序xlanchen2007.5.22 EmbeddedOperatingSystems 11gcc 使用举例(2)编译和运行编译运行xlanchen2007.5.22 EmbeddedOperatingSystems 12gcc 的工作过程(1)l 如果使用-v 选项,则可以看到许多被隐藏的信息xlan
6、chen2007.5.22 EmbeddedOperatingSystems 13xlanchen2007.5.22 EmbeddedOperatingSystems 14gcc 的编译过程l 一般情况下,c程序的编译过程为1、预处理2、编译成汇编代码3、汇编成目标代码4、链接xlanchen2007.5.22 EmbeddedOperatingSystems 151、预处理l 预处理:使用-E参数输出文件的后缀为“.cpp”gccEogcctest.cppgcctest.cl 使用wc 命令比较预处理后的文件与源文件,可以看到两个文件的差异xlanchen2007.5.22 Embedded
7、OperatingSystems 16行数 单词数 字节数预编译xlanchen2007.5.22 EmbeddedOperatingSystems 17l 预处理文件 汇编代码1)使用-x 参数说明根据指定的步骤进行工作,cpp-output 指明从预处理得到的文件开始编译2)使用-S说明生成汇编代码后停止工作gccxcpp-outputSogcctest.sgcctest.cppl 也可以直接编译到汇编代码gccSgcctest.c2、编译成汇编代码xlanchen2007.5.22 EmbeddedOperatingSystems 18预处理文件 汇编代码直接编译到汇编代码xlanche
8、n2007.5.22 EmbeddedOperatingSystems 193、编译成目标代码l 汇编代码 目标代码gccxassemblercgcctest.sl 直接编译成目标代码gcccgcctest.cl 使用汇编器生成目标代码asogcctest.ogcctest.sxlanchen2007.5.22 EmbeddedOperatingSystems 20汇编代码 目标代码直接编译成目标代码使用汇编器xlanchen2007.5.22 EmbeddedOperatingSystems 214、编译成执行代码l 目标代码 执行代码gccogcctestgcctest.ol 直接生成执行
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GNU 开发 工具 介绍 课件

限制150内