- 1、本文档共80页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
xlanchen@2006.5.18 Embedded Operating Systems 开发工具介绍 xlanchen@2006.5.18 /~xlanchen “工欲善其事, 必先利其器” --《论语》 主要内容 GNU Tools简介 GNU Tools交叉开发环境及其安装 本地开发 vs 交叉平台开发 本地开发:一般软件的开发属于本地开发,也就是说开发软件的系统与运行软件的系统是相同的。 交叉平台开发:本课程所涉及到的嵌入式系统开发属于交叉平台开发,也就是说开发软件的系统与运行软件的系统不同。 交叉开发平台 主机:开发软件的平台,称为主机,往往是通用电脑; 目标机:运行软件的平台,称为目标机,在这里是嵌入式系统。 嵌入式交叉开发工具 掌握嵌入式开发工具的使用是进行嵌入式开发的前提条件之一 与主流软件开发工具类似,嵌入式交叉开发工具也包括 编译器,即能够把一个源程序编译生成一个可执行程序的软件 调试工具,即能够对执行程序进行源码或汇编级调试的软件 软件工程工具,用于协助多人开发或大型软件项目的管理的软件 GNU tools GNU tools和其他一些优秀的开源软件可以完全覆盖上述类型的软件开发工具。为了更好的开发嵌入式系统,需要了解如下一些软件 GCC Binutils—辅助GCC的主要软件 Gdb make cvs GCC 很多人认为GCC只是一个C编译器,其实GCC = GNU Compiler Collection 目前,GCC可以支持多种高级语言,如 C、C++ ADA Object C JAVA Fortran PASCAL GCC下的工具 cpp — 预处理器GNU C编译器在编译前自动使用cpp对用户程序进行预处理 gcc — 符合ISO等标准的C编译器 g++ — 基本符合ISO标准的C++编译器 gcj — GCC的java前端 gnat — GCC的GNU ADA 95前端 GNU Tools—gcc gcc是一个强大的工具集合,它包含了预处理器,编译器,汇编器,链接器等组件。它会在需要的时候调用其他组件。输入文件的类型和传递给gcc的参数决定了gcc调用具体的哪些组件。 对于开发者,它提供的足够多的参数,可以让开发者全面控制代码的生成,这对嵌入式系统级的软件开发非常重要 gcc使用举例(1)源程序 gcc使用举例(2)编译和运行 gcc的工作工程(1) 如果使用-v选项,则可以看到许多被隐藏的信息 gcc的编译过程 一般情况下,c程序的编译过程为 预处理 编译成汇编代码 汇编成目标代码 链接 gcc的工作过程(2) 预处理使用-E参数输出文件的后缀为“.cpp” gcc –E –o gcctest.cpp gcctest.c 使用wc命令比较预处理后的文件与源文件,可以看到两个文件的差异 gcc的工作过程(3) 预处理文件?汇编代码1)使用-x参数说明根据指定的步骤进行工作,cpp-output指明从预处理得到的文件开始编译2)使用-S说明生成汇编代码后停止工作 gcc –x cpp-output –S –o gcctest.s gcctest.cpp 也可以直接编译到汇编代码 gcc –S gcctest.c gcc的工作过程(4) 汇编代码?目标代码 gcc –x assembler –c gcctest.s 直接编译成目标代码 gcc –c gcctest.c 使用汇编器生成目标代码 as –o gcctest.o gcctest.s gcc的工作过程(5) 目标代码?执行代码 gcc –o gcctest gcctest.o 直接生成执行代码 gcc –o gcctest gcctest.c gcc的高级选项 -Wall:打开所有的警告信息 根据警告信息检查源程序 修改源程序 优化编译 优化编译选项有: -O0缺省情况,不优化 -O1 -O2 -O3 等等 gcc的优化编译举例(1)考虑如下的源代码 gcc的优化编译举例(2)使用time命令统计程序的运行 GNU binutils binutils是一组二进制工具程序集,是辅助GCC的主要软件,它主要包括 addr2line 把程序地址转换为文件名和行号。在命令行中给它一个地址和一个可执行文件名,它就会使用这个可执行文件的调试信息指出在给出的地址上是哪个文件以及行号。 ar 建立、修改、提取归档文件。归档文件是包含多个文件内容的一个大文件,其结构保证了可以恢复原始文件内容。 as 是GNU汇编器,主要用来编译GNU C编译器gcc输出的汇编文件,他将汇编代码转换成二进制代码,并存放到一个object文件中,该目标文件将由连接器ld连接 C++fi
您可能关注的文档
- 广汽本田保修制度 整理ppt.ppt
- 广联达教程全本整理ppt.ppt
- 广西医科大学新网站采 编 发培训ppt整理.ppt
- 庄子哲学导读ppt整理.ppt
- 广陵散整理ppt.ppt
- 庆祝建党90周年整理ppt.ppt
- 序列模式挖掘技术在货物流向分析中的应用整理ppt.ppt
- 应对措施整理ppt.ppt
- 床上用品项目可行性研究报告整理ppt.ppt
- 应急处置训练整理ppt.ppt
- 2024年学校党总支巡察整改专题民主生活会个人对照检查材料3.docx
- 2025年民主生活会个人对照检查发言材料(四个带头).docx
- 县委常委班子2025年专题生活会带头严守政治纪律和政治规矩,维护党的团结统一等“四个带头方面”对照检查材料四个带头:.docx
- 巡察整改专题民主生活会个人对照检查材料5.docx
- 2024年度围绕带头增强党性、严守纪律、砥砺作风方面等“四个方面”自我对照(问题、措施)7.docx
- 2025年度民主生活会领导班子对照检查材料(“四个带头”).docx
- 国企党委书记2025年度民主生活会个人对照检查材料(五个带头).docx
- 带头严守政治纪律和政治规矩,维护党的团结统一等(四个方面)存在的问题整改发言提纲.docx
- 党委书记党组书记2025年带头增强党性、严守纪律、砥砺作风方面等“四个带头”个人对照检查发言材料.docx
- 2025年巡视巡察专题民主生活会对照检查材料.docx
最近下载
- 2024年度公司领导班子民主生活会对照检查材料3篇.docx VIP
- JTGD60—2015公路桥涵设计通用规范.pdf VIP
- 技术部薪酬及岗位制度.doc
- 马工程教材《组织行为学》课件 第四章 团队.pptx
- 标准规范文件:DL/T 5424-2009 水电水利工程锚杆无损检测规程.pdf
- 广东省广州市八年级上学期物理期末试卷四套(附参考答案).doc VIP
- 2019-2020年高一英语人教版必修1专项训练:语法填空Word版含答案.docx VIP
- 第19课《大雁归来》教学设计 统编版语文七年级上册(2024年).docx VIP
- 2022水电工程移动式集运鱼系统设计规范.docx
- 2024年6月英语四级真题(全3套).pdf
文档评论(0)