最新嵌入式软件开发环境PPT课件.ppt

上传人:豆**** 文档编号:56701018 上传时间:2022-11-03 格式:PPT 页数:40 大小:746KB
返回 下载 相关 举报
最新嵌入式软件开发环境PPT课件.ppt_第1页
第1页 / 共40页
最新嵌入式软件开发环境PPT课件.ppt_第2页
第2页 / 共40页
点击查看更多>>
资源描述

《最新嵌入式软件开发环境PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新嵌入式软件开发环境PPT课件.ppt(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、嵌入式软件开发环境嵌入式软件开发环境Agendan嵌入式软件开发环境概述nGCCnGDB、JTAGnA Simple Example of GDBnMAKE2在预处理过程中,对源代码文件中的文在预处理过程中,对源代码文件中的文件包含件包含(include)、预编译语句、预编译语句(如宏定义如宏定义define等等)进行分析。带有进行分析。带有.h之类头文件,之类头文件,该阶段会生成一个中间文件该阶段会生成一个中间文件*.i。编译后生成汇编语言文件编译后生成汇编语言文件*.s汇编.S或或.s为后缀的汇编语言源代码文件汇编之为后缀的汇编语言源代码文件汇编之后都生成以后都生成以.o为后缀的目标文件。

2、为后缀的目标文件。所有的目标文件被安排在可执行程序中所有的目标文件被安排在可执行程序中的恰当的位置,同时,该程序所调用到的恰当的位置,同时,该程序所调用到的库函数也从各自所在的函数库中连到的库函数也从各自所在的函数库中连到合适的地方。汇集成一个可执行的二进合适的地方。汇集成一个可执行的二进制代码文件。制代码文件。9GCCnGCC的组件名称功能描述cppC预处理器g+C+编译器gccC编译器gccbug创建bug报告的shell脚本gcov覆盖测试工具,分析如何最好的优化程序libgccgcc的运行库libstdc+标准C+库,包含许多常用的函数libsupc+提供支持C+语音的库函数10gcc

3、编译器ngcc的基本用法q在使用gcc编译器的时候,通常后面跟一些选项和文件名。qgcc命令的基本用法如下:qgcc options filenames 11Gcc选项n 其中,其中,options就是参数选项就是参数选项,filename是相关的是相关的文件名称文件名称。常用的选项有:。常用的选项有:nc:只编译生成目标文件,不链接成可执行文件。只编译生成目标文件,不链接成可执行文件。nE:只对程序进行预处理。只对程序进行预处理。ng:生成调试信息,生成调试信息,GNU调试器可利用该信息。调试器可利用该信息。nllibrary:用来指定所使用的库文件。用来指定所使用的库文件。nidirect

4、ory:为为include文件的搜索指定目录。文件的搜索指定目录。nofilename:生成指定的文件名的可执行文件。生成指定的文件名的可执行文件。gcc options filenames 1213Agendan嵌入式软件开发环境概述nGCCnGDB、JTAGnA Simple Example of GDBnMAKE14交叉调试n嵌入式软件经过交叉编译(arm-linux-gcc)、交叉链接(arm-linux-ld),进入调试阶段n普通调试:调试器和被调程序工作在同一台计算机上,调试器就是一个单独运行的进程(程序)n交叉调试:被调试程序运行在具有嵌入式操作系统的目标机上,调试器运行在具有通

5、用操作系统的主机上。n调试器和被调程序如何通信?串口、网口(FTP、TFTP、NFS)、JTAG接口,调试器通过这些接口,来控制被调程序的运行、状态等15交叉调试的分类n嵌入式系统交叉调式主要分类两类:软件调试和硬件调试,具有以下典型特点:q调试器和被调程序运行在不同机器上q调试器通过某种通信方式(串口、并口、网络、JTAG)控制被调程序q目标机上一般会具有某种形式的调试代理。调试代理负责与调试器共同配合完成对目标机上程序的调试。调试代理可以是支持某些调试功能的硬件设备(POWERICE),或者是某些专门的软件(gdbserver)16软件调试:GDBnLinux下软件调试工具n远端调试-通过

6、串口或网口调试目标设备-target命令:指定调试目标和建立连接的GDB命令17交叉调试-软件方式n典型的是GDB交叉调试器,分为gdbserver(安装在目标板)和gdbclient(安装在主机)目标机目标机/开发板开发板宿主机宿主机/主机主机应用程序应用程序嵌入式嵌入式OS内核内核如:如:uClinuxGdbServer目标机硬件平台目标机硬件平台GdbClientLinux环境环境主机硬件平台主机硬件平台串口串口Ethernet18Gdb调试工作流程n1.建立调试器(本地gdb)与目标操作系统的通信连接。有串口、网卡、并口等方式n2.目标机上开启gdbserver进程,监听对应端口n3.

7、主机上运行gdb调试器,gdb自动寻找目标机上的通信进程。即gdbserver所在进程n4.用户在宿主机上运行gdb,下达调试命令,调试命令通过主机与目标机之间的通信端口传递到目标机的gdbserver,通过gdbserver对目标机上的程序发出控制命令。n5.gdbserver把应用程序的调试信息传递到主机的gdb,并把调试信息显示出来。19gdb调试的局限n宿主机上的gdbclient和目标机上的gdbserver都需要有操作系统的支持。因此q1.使用gdb,只能调试有操作系统支持的应用程序q2.不能用来调试操作系统,也不能用来调试引导操作系统启动的启动代码(bootloader)。20G

8、DBgdbhelptarget21GDB22GDBn常用命令23Agendan嵌入式软件开发环境概述nGCCnGDB、JTAGnA Simple Example of GDBnMAKE24A Simple Example Hello.c25A Simple Example-Compilationg:生成调试信息,生成调试信息,GNU调试器可利用该信息。调试器可利用该信息。ofilename:生成指定的文件名的可执行文件。生成指定的文件名的可执行文件。26A Simple Example-Debugginggdbhello.exebreakmainrundisplayinextcontinueq

9、27交叉调试-硬件方式n硬件调试方式相对软件调试方式,具有更加强大的调试功能,不仅能调试工作在操作系统之上的应用程序,还可以调试操作系统和引导操作系统启动的引导程序。n常见的硬件调试方式有4种q1.ROM监视器:ROM Monitorq2.ROM仿真器:ROM Emulatorq3.电路内仿真器(ICE):In-Circuit Emulatorq4.电路内调试器(ICD):In-Circuit Debugger28ICD调试方式n基本思路:让CPU直接在内部实现调试功能,并通过在开发板上引出的调试端口发送调试命令和接受调试信息。n应用在ARM处理器上的JTAG端口技术。n1985年,JTAG为

10、检测PCB和IC的一个标准n1990年,被修改为IEEE1149.1标准。用于硬件调试技术。29JTAG调试方式程序程序JTAG仿真器仿真器调试器调试器目标机目标机主机主机JTAG接口接口并口并口30JTAG实物图-131JTAG实物图-232JTAG调试方式实物图33Agendan嵌入式软件开发环境概述nGCCnGDB、JTAGnA Simple Example of GDBnMAKE34MakenThe make utility automatically determines which pieces of a large program need to be recompiled,an

11、d issues commands to recompile them.A Program for Directing Recompilation GNUnMake是一个自动化的工具。n根据依赖关系自动决定项目的那些部分需要重新编译。n基本原理:如果某个源程序文件被修改,那么依赖这个源程序文件的所有目标文件,都需要重新编译。35依赖关系36MakefilenMakefile文件控制make程序的执行n一个项目拥有一个或多个makefile文件n每个makefile文件由多条rules构成n每条rule描述了一个依赖关系,并有一系列的行为37A example of Makefile#表Make

12、file文件中的注释。CROSS_COMPILE?=/usr/local/arm-linux/bin/arm-linux-gcc指定编译所使用的编译器指定编译所使用的编译器c:只编译生成目标文件,只编译生成目标文件,不链接成可执行文件。不链接成可执行文件。g:生成调试信息,生成调试信息,GNU调试器可利用该信息。调试器可利用该信息。38-Wall选项。该选项能发现程序中一系列的常见错误警告。nunused-label:遇到声明过但不使用的标号的警告。nunused-value:仅计算但从未用过的值得警告。nimplicit-function-:在函数在未经声明就使用时给予警告。nmissing-braces:聚合初始化两边缺少大括号。n.39结束语结束语谢谢大家聆听!谢谢大家聆听!40

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁