好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

哈工大嵌入式操作系统课件—7 Linux开发环境2-gcc gdb.ppt

39页
  • 卖家[上传人]:m****
  • 文档编号:606015854
  • 上传时间:2025-05-23
  • 文档格式:PPT
  • 文档大小:671KB
  • / 39 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Agenda,嵌入式软件开发环境概述,GCC,GDB,A Simple Example,MAKE,嵌入式软件开发模型,嵌入式系统的一个特点在于其开发的特殊性与困难性开发机器 !=执行机器,开发环境 !=执行环境,专门的开发环境与开发工具,-,VxWorks,系统配套的,Tornado,集成开发工具,-Linux,系统配套的,gcc,gdb,等开发工具,嵌入式软件开发环境,嵌入式软件开发环境,宿主机,开发机器(编辑器、编译器、调试器、,.),负责程序的编译和部分调试工作目标机,程序运行的机器,负责程序的运行和部分调试工作交叉编译,是指宿主机和目标机是不同的系统,嵌入式软件开发环境,Agenda,嵌入式软件开发环境概述,GCC,GDB,A Simple Example,MAKE,GCC,Linux,下的编译器,GNU,项目的,C,编译器,四个步骤,-,预处理,preprocessing,-,编译,compilation,-,汇编,assembly,-,连接,linking,GCC,GCC,-g Produce Debug Information,-Wall Warning in detail,-E Preprocess only;do not compile,assemble,or link,-S Compile only;do not assemble or link,-c Compile and assemble.,B,ut do not link,-o Place the output into,GCC,GCC,的组件,名称,功能描述,cpp,C,预处理器,g+,C+,编译器,gcc,C,编译器,gccbug,创建,bug,报告的,shell,脚本,gcov,覆盖测试工具,分析如何最好的优化程序,libgcc,gcc,的运行库,libstdc,+,标准,C+,库,包含许多常用的函数,libsupc,+,提供支持,C+,语音的库函数,Agenda,嵌入式软件开发环境概述,GCC,GDB,A Simple Example,MAKE,GDB,Linux,下软件调试工具,远端调试,-,通过串口或网口调试目标设备,-target,命令:指定调试目标和建立连接的,GDB,命令,GDB,GDB,GDB,常用命令,Agenda,嵌入式软件开发环境概述,GCC,GDB,A Simple Example,MAKE,A Simple Example,Hello.c,A Simple Example-Compilation,A Simple Example-Debugging,Agenda,嵌入式软件开发环境概述,GCC,GDB,A Simple Example,MAKE,Make,The make utility automatically determines which pieces of a large program need to be recompiled,and issues commands to recompile them.,A Program for Directing Recompilation GNU,Make,是一个自动化的工具。

      根据依赖关系自动决定项目的那些部分需要重新编译基本原理:如果某个源程序文件被修改,那么依赖这个源程序文件的所有目标文件,都需要重新编译依赖关系,Makefile,Makefile,文件控制,make,程序的执行,一个项目拥有一个或多个,makefile,文件,每个,makefile,文件由多条,rules,构成,每条,rule,描述了一个依赖关系,并有一系列的行为,Makefile,Rule,Rule,的格式为:,target :prerequisites,command,Target,依赖,prerequisites,的目标,Prerequisites,被依赖的源程序,例如,c,文件或,h,文件,Command,需要执行的命令,当,prerequisites,任何一个文件的时戳新于,target,的时戳时,就执行,command,A Simple,Makefile,A Simple,Makefile,编译,edit,项目,$make,删除,edit,项目中的目标文件,$make clean,clean,是一个伪目标,clean,没有任何,prerequisites,,只有显式的,make clean,才能执行,clean,目标的,command,A Little More Practical,Makefile,More Abstract,More Abstract,SUFFIXES,The SUFFIXES thing tells make that files that are possible targets,fall under three categories:files that end in.c,files that end in.o and files that end in nothing.,.,c.o,$(CC)$(CFLAG),c$,Tells make how to make.o files from.c files.,More Abstract,$are the dependencies that changed causing the target to need to be rebuilt,$is the target,$are all the dependencies from the current rule,More Abstract,.o:,$(CC)$(CFLAG)$-o$,Tells how to make the executable file from the.o files.,Enhanced Example,Appendix,实做一个简单的,Makefile,项目依赖关系图,Makefile,Demo,Makefile,Demo,Makefile,Demo,Makefile,Demo,Makefile,Demo,Makefile,Demo,。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.