网站大量收购独家精品文档,联系QQ:2885784924

嵌入式软件开发环境.pptVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

基本思路:让CPU直接在内部实现调试功能,并通过在开发板上引出的调试端口发送调试命令和接受调试信息。1应用在ARM处理器上的JTAG端口技术。21985年,JTAG为检测PCB和IC的一个标准31990年,被修改为IEEE1149.1标准。用于硬件调试技术。4ICD调试方式*嵌入式系统软件开发环境

------Linux*Agenda嵌入式软件开发环境概述GCCGDB、JTAGASimpleExampleofGDBMAKE开发机器!=执行机器开发环境!=执行环境嵌入式系统的一个特点在于其开发的特殊性与困难性。VxWorks系统配套的Tornado集成开发工具Linux系统配套的gcc,gdb等开发工具专门的开发环境与开发工具嵌入式软件开发模型*嵌入式软件开发环境目标板与主机之间的连接串口向目标板发送命令、打印目标板信息通信速率慢、不适合大数据量传输windows附件“超级终端”Linux下,Minicom以太网接口USB接口JTAG接口一种嵌入式调试技术宿主机开发机器(编辑器、编译器、调试器、….)负责程序的编译和部分调试工作。目标机程序运行的机器,负责程序的运行和部分调试工作。交叉编译是指宿主机和目标机是不同的系统嵌入式软件开发环境ASimpleExampleofGDB04MAKE05GDB、JTAG03GCC02嵌入式软件开发环境概述01AgendaLinux下的编译器–GNU项目的C编译器四个步骤预处理preprocessing编译compilation汇编assembly连接linkingGCC在预处理过程中,对源代码文件中的文件包含(include)、预编译语句(如宏定义define等)进行分析。带有.h之类头文件,该阶段会生成一个中间文件*.i。编译后生成汇编语言文件*.s汇编.S或.s为后缀的汇编语言源代码文件汇编之后都生成以.o为后缀的目标文件。所有的目标文件被安排在可执行程序中的恰当的位置,同时,该程序所调用到的库函数也从各自所在的函数库中连到合适的地方。汇集成一个可执行的二进制代码文件。GCCGCC的组件名称功能描述cppC预处理器g++C++编译器gccC编译器gccbug创建bug报告的shell脚本gcov覆盖测试工具,分析如何最好的优化程序libgccgcc的运行库libstdc++标准C++库,包含许多常用的函数libsupc++提供支持C++语音的库函数gcc命令的基本用法如下:在使用gcc编译器的时候,通常后面跟一些选项和文件名。gcc[options][filenames]gcc的基本用法gcc编译器Gcc选项其中,options就是参数选项,filename是相关的文件名称。常用的选项有:–c:只编译生成目标文件,不链接成可执行文件。–E: 只对程序进行预处理。–g: 生成调试信息,GNU调试器可利用该信息。–llibrary: 用来指定所使用的库文件。–idirectory:为include文件的搜索指定目录。–ofilename:生成指定的文件名的可执行文件。gcc[options][filenames]嵌入式软件开发环境概述01GCC02GDB、JTAG03ASimpleExampleofGDB04MAKE05Agenda嵌入式软件经过交叉编译(arm-linux-gcc)、交叉链接(arm-linux-ld),进入调试阶段01普通调试:调试器和被调程序工作在同一台计算机上,调试器就是一个单独运行的进程(程序)02交叉调试:被调试程序运行在具有嵌入式操作系统的目标机上,调试器运行在具有通用操作系统的主机上。03调试器和被调程序如何通信?串口、网口(FTP、TFTP、NFS)、JTAG接口,调试器通过这些接口,来控制被调程序的运行、状态等04交叉调试交叉调试的分类嵌入式系统交叉调式主要分类两类:软件调试和硬件调试,具有以下典型特点:调试器和被调程序运行在不同机器上调试器通过某种通信方式(串口、并口、网络、JTAG)控制被调程序目标机上一般会具有某种形式的调试代理。调试代理负责与调试器共同配合完成对目标机上程序的调试。调试代理可以是支持某些调试功能的硬件设备(POWERICE),或者是某些专门的软件(gdbserver)Linux下软件调试工具远端调试通过串口或网口调试目标设备target命令:指定调试目标和建立连接的GDB命令

文档评论(0)

yingjiali1998 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档