欢迎来到天天文库
浏览记录
ID:59293958
大小:578.50 KB
页数:38页
时间:2020-09-20
《嵌入式软件开发环境ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Agenda嵌入式软件开发环境概述GCCGDB、JTAGASimpleExampleofGDBMAKE1嵌入式软件开发模型嵌入式系统的一个特点在于其开发的特殊性与困难性。开发机器!=执行机器开发环境!=执行环境专门的开发环境与开发工具-VxWorks系统配套的Tornado集成开发工具-Linux系统配套的gcc,gdb等开发工具2嵌入式软件开发环境3目标板与主机之间的连接串口向目标板发送命令、打印目标板信息通信速率慢、不适合大数据量传输windows附件“超级终端”Linux下,Minicom以太网接口USB接口JTAG接口一种嵌入式调试技术4嵌入式软件开发
2、环境宿主机开发机器(编辑器、编译器、调试器、….)负责程序的编译和部分调试工作。目标机程序运行的机器,负责程序的运行和部分调试工作。交叉编译是指宿主机和目标机是不同的系统5Agenda嵌入式软件开发环境概述GCCGDB、JTAGASimpleExampleofGDBMAKE6GCCLinux下的编译器–GNU项目的C编译器四个步骤-预处理preprocessing-编译compilation-汇编assembly-连接linking7在预处理过程中,对源代码文件中的文件包含(include)、预编译语句(如宏定义define等)进行分析。带有.h之类头文件,该
3、阶段会生成一个中间文件*.i。编译后生成汇编语言文件*.s汇编.S或.s为后缀的汇编语言源代码文件汇编之后都生成以.o为后缀的目标文件。所有的目标文件被安排在可执行程序中的恰当的位置,同时,该程序所调用到的库函数也从各自所在的函数库中连到合适的地方。汇集成一个可执行的二进制代码文件。8GCCGCC的组件名称功能描述cppC预处理器g++C++编译器gccC编译器gccbug创建bug报告的shell脚本gcov覆盖测试工具,分析如何最好的优化程序libgccgcc的运行库libstdc++标准C++库,包含许多常用的函数libsupc++提供支持C++语音的库
4、函数9gcc编译器gcc的基本用法在使用gcc编译器的时候,通常后面跟一些选项和文件名。gcc命令的基本用法如下:gcc[options][filenames]10Gcc选项其中,options就是参数选项,filename是相关的文件名称。常用的选项有:–c:只编译生成目标文件,不链接成可执行文件。–E:只对程序进行预处理。–g:生成调试信息,GNU调试器可利用该信息。–llibrary:用来指定所使用的库文件。–idirectory:为include文件的搜索指定目录。–ofilename:生成指定的文件名的可执行文件。gcc[options][filen
5、ames]1112Agenda嵌入式软件开发环境概述GCCGDB、JTAGASimpleExampleofGDBMAKE13交叉调试嵌入式软件经过交叉编译(arm-linux-gcc)、交叉链接(arm-linux-ld),进入调试阶段普通调试:调试器和被调程序工作在同一台计算机上,调试器就是一个单独运行的进程(程序)交叉调试:被调试程序运行在具有嵌入式操作系统的目标机上,调试器运行在具有通用操作系统的主机上。调试器和被调程序如何通信?串口、网口(FTP、TFTP、NFS)、JTAG接口,调试器通过这些接口,来控制被调程序的运行、状态等14交叉调试的分类嵌入式
6、系统交叉调式主要分类两类:软件调试和硬件调试,具有以下典型特点:调试器和被调程序运行在不同机器上调试器通过某种通信方式(串口、并口、网络、JTAG)控制被调程序目标机上一般会具有某种形式的调试代理。调试代理负责与调试器共同配合完成对目标机上程序的调试。调试代理可以是支持某些调试功能的硬件设备(POWERICE),或者是某些专门的软件(gdbserver)15软件调试:GDBLinux下软件调试工具远端调试-通过串口或网口调试目标设备-target命令:指定调试目标和建立连接的GDB命令16交叉调试-软件方式典型的是GDB交叉调试器,分为gdbserver(安装
7、在目标板)和gdbclient(安装在主机)目标机/开发板宿主机/主机应用程序嵌入式OS内核如:uClinuxGdbServer目标机硬件平台GdbClientLinux环境主机硬件平台串口Ethernet17Gdb调试工作流程1.建立调试器(本地gdb)与目标操作系统的通信连接。有串口、网卡、并口等方式2.目标机上开启gdbserver进程,监听对应端口3.主机上运行gdb调试器,gdb自动寻找目标机上的通信进程。即gdbserver所在进程4.用户在宿主机上运行gdb,下达调试命令,调试命令通过主机与目标机之间的通信端口传递到目标机的gdbserver,通
8、过gdbserver对目标机上的程序发
此文档下载收益归作者所有