- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章嵌入式开发环境的建立.ppt
开发环境的建立
内容提要
1、宿主机-目标机开发模式
2、XsBase255目标机环境
3、宿主机环境
4、试验
烧写XsBase255的BootLoader
使用Minicom实现串口通信
建立开发环境
熟悉交叉编译环境和开发工具
1、宿主机-目标机开发模式
嵌入式系统开发与通常PC机上的软件开发的区别
交叉开发。
交叉编译。
特点
一个嵌入式系统的开发环境一般包括:
嵌入式目标板
开发用的宿主机(PC)
硬件调试器
应用程序的开发通常是Linux操作系统在嵌入式目标机上运行进来之后进行。此时,更多的是在宿主机上使用GDB通过网络(或串口)与目标板通信,进行程序的调试。
XsBase255目标机环境
JTAG接口简介
在XSBase255目标机上,使用常用的硬件测试方法JTAG进行测试。
作为硬件测试手段,JTAG的功能与CPU状态无关,可以驱动设备的所有外部引脚并读入数据,而且在设备内部夺取外部的连接点(与通往外部的各个pin脚一一连接)。各个cell为了形成串行移位寄存器(边界扫描寄存器)而相连。整体的接口由5个pin脚来控制(TDI,TMS,TCK,nTRST,TDO)。其功能包括:测试线路连线和端子的连接状态;测试设备间的连接状态;进行Flash memory(闪存) 烧写等。
BootLoader
Boot Loader 就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。
PC由BIOS和位于MBR(主引导记录)中的bootloader引导:
LILO(Linux Loader,Linux加载程序)
GRUB(GRand Unified Bootloader,完备的统一引导载入软件)
U-BOOT(Universal Boot Loader,支持嵌入式Linux 系统的引导)
Boot Loader是系统加电后运行的第一段代码。
通常情况下,Boot Loader通过串口与宿主机进行文件传输,但串口传输的速度是有限的,因此通过以太网连接并借助TFTP协议来下载文件是个更好的选择。
在XSBase255上使用的Boot Loader加载操作系统内核之前IP没有被设置。这个时候无法通过以太网进行数据传送,我们必须在Boot Loader上通过BootP设置IP,然后通过TFTP传送数据。
系统加电或复位后,所有的CPU通常都从某个由CPU制造商预先安排的地址上取指令。基于XScale内核的CPU在复位时通常都从地址0取它的第一条指令。而基于这种CPU构建的嵌入式系统通常都有某种类型的固态存储设备(比如:ROM、EEPROM或FLASH等)被映射到这个预先安排的地址上。因此在系统加电后,CPU将首先执行Boot Loader程序( 0。
一个同时装有Boot Loader、内核的启动参数、内核映像和根文件系统映像的固态存储设备的典型空间分配结构图
大多数Boot Loader都包含两种不同的操作模式:启动加载模式和下载模式,这种区别仅对于开发人员才有意义。但从最终用户的角度看,Boot Loader的作用就是用来加载操作系统,而并不存在所谓的启动加载模式与下载工作模式的区别。
启动加载模式
下载模式
Boot Loader的阶段1通常包括以下步骤:
a. 硬件设备初始化。
b. 为加载 Boot Loader 的 阶段2 准备 RAM 空间。
c. 拷贝 Boot Loader 的 阶段2 到 RAM 空间中。
d. 设置好堆栈。
e. 跳转到 阶段2 的 C 入口点。
Boot Loader的阶段2通常包括以下步骤:
a. 初始化本阶段要使用到的硬件设备。
b. 检测系统内存映射(memory map)。
c. 将 kernel 映像和根文件系统映像从 flash 上读到 RAM 空间中。
d. 为内核设置启动参数。
3、宿主机环境
3.1 BOOTP协议
3.2 TFTP协议
3.3 交叉编译
3.4 Make工具
3.1 BOOTP协议
BOOTP服务的全称是BootStrap Protocol(引导协议)
使用TCP/IP网络协议中的UDP 67/68两个通讯端口
常用到的DHCP服务就是从BOOTP服务扩展而来的
过程:
第一步,在目标板由BootLoader启动BOOTP,此时目标板还没有IP地址,它就用广播形式以IP地址向网络中发出IP地址查询的请求,这个请求帧中包含了客户机的网卡MAC地址等信息。
第二步,主机平台运行BootP服务的服务器接收到的这个请求帧,根据这帧
您可能关注的文档
最近下载
- 中国慢性呼吸道疾病呼吸康复管理指南解读课件.pptx VIP
- SAE J588-2000 总宽度小于2032mm的机动车用转向信号灯.pdf VIP
- 双减背景下新课标单元整体作业分层设计案例 人教版初中化学九年级上册 第三单元 物质构成的奥秘(4).docx VIP
- 应征入伍服兵役高等学校学生国家教育资助申请表1(样表).docx
- 2023年少儿迎春杯六年级初赛竞赛试题数学.docx VIP
- 光伏电站一体化监控统一管理平台项目建设技术方案.docx VIP
- 《宋史·舆服志》服饰词汇研究.pdf VIP
- 竞选体委演讲稿PPT.pptx VIP
- 广西壮族自治区生态功能区划.pdf VIP
- 水下测量技术方案.docx VIP
文档评论(0)