欢迎来到天天文库
浏览记录
ID:51086715
大小:302.00 KB
页数:41页
时间:2020-03-18
《第章开发环境和调试技术(初稿).ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第9章开发环境和调试技术提纲1、交叉开发环境模式概述2、宿主机环境3、目标板环境4、交叉编译工具链5、gdb调试器6、远程调试7、内核调试8、网络调试1、交叉开发环境模式概述什么是嵌入式系统“以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。”硬件上的局限性存储空间小处理器频率低缺少存储、输入输出设备宿主机—目标板交叉开发模式组成部分宿主机:平时使用的桌面计算机目标板:嵌入式开发板介绍利用宿主机上已有的成熟的开发工具,专门针对目标板定制一套系统,包括
2、引导程序、内核和文件系统,然后下载到目标板上运行。宿主机—目标板交叉开发模式开发过程在宿主机上编写代码,并通过交叉编译工具编译出能够在目标板上运行的程序,然后下载到目标板上测试执行,最后利用宿主机上的调试工具对目标板上运行的程序进行远程调试。特点使用和桌面开发一样的工具,降低学习成本。充分利用宿主机的开发环境。宿主机—目标板连接方式串口利用串口给目标板发送命令,同时也可以接受目标板返回的信息并显示。宿主机可以通过串口往目标板传送文件;目标板可以把程序运行的结果返回并显示。串口驱动程序的实现相对比较简单,缺点是传输速度慢
3、,并不适用于传输大量数据的场合。以太网以太网是当今局域网采用的最通用的通信协议标准。它使用简单,配置灵活,支持广泛,传输速率快,安全可靠,缺点是网络驱动的实现比较复杂。宿主机—目标板连接方式USBUSB是UniversalSerialBus通用串行总线)的缩写,现已成为PC的标准,基于USB标准的设备被广泛使用。一种快速、灵活的总线接口,与其它通信接口相比,USB接口的特点是易于使用。支持热插拔,无需用户自己配置,系统会自动搜索驱动并安装。USB是典型的主从结构,两端分别需要不同的驱动程序。JTAGJTAG是一种国际标
4、准测试协议,主要用于芯片内部测试及对系统进行仿真、调试。在嵌入式系统领域,几乎所有的处理器都支持JTAG,调试器的单步调试和断点都需要和JTAG交涉。可以使用JTAG将程序烧写到目标板上。2、宿主机环境串口终端BOOTP协议TFTP协议交叉编译Make工具串口终端串口的用途作为终端执行命令,管理嵌入式系统。使用zmodem协议等传送小文件。串口终端超级终端(WindowsXP)Minicom(Linux)BOOTP协议什么是BOOTP协议引导协议(BootstrapProtocol,BOOTP)是一种基于TCP/IP的
5、协议,它最初在RFC951中定义,如今在通用计算机上广泛使用的DHCP协议就是从BOOTP协议扩展而来。BOOTP协议使用TCP/IP网络协议中的UDP67/68两个通讯端口。BOOTP协议用途用于无盘客户机从服务器得到自己的IP地址、服务器的IP地址、启动映象文件名、网关信息等等BOOTP处理过程第一步,在主机平台运行BOOTP服务的情况下,目标板由BootLoader启动BOOTP,此时目标板还没有IP地址,它就用广播形式以IP地址0.0.0.0向网络中发出IP地址查询的请求,这个请求帧中包含了客户机的网卡MAC地
6、址。第二步,主机平台上的BOOTP服务器接收到的这个请求帧,根据这帧中的MAC地址在Bootptab启动数据库中查找这个MAC的记录,如果没有此MAC的记录则不响应这个请求;如果有就将FOUND帧发送回目标板。FOUND帧中包含的主要信息有目标板的IP地址、服务器的IP地址、硬件类型、网关IP地址、目标板MAC地址和启动映象文件名。第三步,目标板就根据FOUND帧中的信息通过TFTP服务器下载启动映象文件。TFTP协议什么是BOOTP协议TFTP的全称是TrivialFileTransferProtocol,即“简单文
7、件传输协议”,它是TCP/IP协议族中的一个在客户端和服务端之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。TFTP特点不提供用户名和口令TFTP协议传输由客户端发起交叉编译背景目标文件在不同架构间由于采用的CPU指令集不同等原因不能通用。定义交叉编译就是在一个架构的机器下编译另一个架构的目标文件。需要安装交叉编译工具链make工具GNUmake是一种常用的编译工具,通过它,开发人员可以很方便地管理软件编译的内容、方式和时机,从而能够把主要精力集中在代码的编写上。make会自动根据文件修改时间来判断源文
8、件中哪些部分有更新,通过解释Makefile文件内的规则并执行相应的命令,重新编译链接这些更新过的文件。make工作过程编写MakefileMakefile由一系列规则组成,每条规则说明要生成哪些目标文件、生成目标文件所依赖的其它文件以及生成目标文件所需要的命令。编译过程通过查看时间戳来确认依赖文件是否比目标文件更新,如果是则重新
此文档下载收益归作者所有