- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 BootLoader与设备驱动 4.1 引言 4.2 BootLoader 4.3 设备驱动 思考与练习题 4.1 引言 嵌入式软件的体系结构包括驱动层、操作系统层、中间件层和应用层,如图4-1所示。图4-1 嵌入式软件的体系结构 其中,驱动层直接与硬件相关,为操作系统和应用程序提供支持。可以将驱动层软件分为三种类型: (1) 板级初始化程序:在系统上电后,初始化系统的硬件环境,包括嵌入式微处理器、存储器、中断控制器、DMA和定时器等。 (2) 与系统软件相关的驱动程序:用于支持操作系统和中间件等系统软件所需的驱动程序。嵌入式微处理器已经提供了操作系统内核所需的硬件支持,因此开发人员一般所需编写的驱动程序主要是键盘、显示器、外存、网络等外部设备的驱动程序。 (3) 与应用软件相关的驱动程序:不一定要与操作系统连接,其设计和开发由应用所决定。 4.2 BootLoader4.2.1 BootLoader概述 BootLoader是系统加电后首先运行的一段程序代码,其目的是将系统的软、硬件环境带到一个合适的状态,为调用操作系统内核准备好正确的环境。对于不使用操作系统的嵌入式系统而言,应用程序的运行同样也需要依赖这样一个准备良好的软、硬件环境,因此从这个意义上来讲,Boot Loader对于嵌入式系统是必需的。 BootLoader是依赖于目标硬件实现的,这可以从以下两个方面来理解: (1) 每种嵌入式微处理器的体系结构都有不同的Boot Loader。当然,有些BootLoader也可以支持多种体系结构的嵌入式微处理器。如U-Boot可同时支持ARM体系结构和MIPS体系结构。 (2) ?BootLoader还依赖于具体的嵌入式板级硬件设备的配置。 1.BootLoader的安装 通常,BootLoader只有几千字节的大小,由于系统加电后需要首先运行这段程序,因此BootLoader需要放在系统加电后最先取指令的地址上。嵌入式处理器的生产厂商都为处理器预先安排了一个在系统加电或复位后最先取指令的地址。例如,基于ARM7 TDMI内核的处理器在加电或复位时都从地址0第一条指令。基于嵌入式微处理器构建的嵌入式系统通常都设计有某种类型的固态存储设备,如ROM、EEPROM、Flash等。BootLoader被安装到这种存储设备上,这个存储设备又被映射到预先安排的最先取指令的地址上。这样,就可以保证系统加电或复位之后,首先运行BootLoader程序。其实,这与PC机的BIOS(Basic Input/Output System)的启动原理是一致的。不同的是,由于BootLoader的体积很小,而嵌入式系统的存储资源受限,很多情况下,BootLoader与操作系统内核、根文件系统甚至应用程序等都可以烧写在同一个存储芯片上。图4-2所示是典型的固态存储设备的空间分配结构。图4-2 固态存储设备的典型空间分配结构 2.BootLoader的操作模式 对于开发人员而言,大多数BootLoader都包含两种操作模式:启动加载模式和下载模式。 启动加载模式也称为自主(Autonomous)模式。在这种模式下,BootLoader从目标机的某个固态存储设备上将操作系统加载到RAM中运行,整个过程中没有用户的介入。这种模式是BootLoader的正常工作模式,在嵌入式产品发布的时候,显然需要让BootLoader工作在这种模式下。 下载模式是指目标机上的BootLoader通过串口或网络连接等通信手段从宿主机上下载文件,如操作系统的内核映像和根文件系统的映像等。 3.BootLoader的控制设备和机制 从开发的角度来看,BootLoader程序必须与宿主机之间建立起至少一种通信方式,这也是将来第一次加载操作系统内核的唯一手段。通常,开发人员都会采用串口首先建立起目标机与宿主机之间的联系,这是因为与其他通信方式相比,串口通信最容易实现。BootLoader程序在执行时也就可以利用这个简单实现的串口通信进行I/O操作,与外界交换数据和信息。文件的传输也可以通过串口完成。传输协议通常采用xmodem/ymodem/zmodem中的一种。但是,用串口进行文件传输,速度比较慢。因此,习惯的做法是在Boot Loader中实现TFTP协议,在宿主机上利用TFTP的软件工具,通过以太网连接来下载文件。4.2.2 BootLoader的典型结构 如上所述,BootLoader的主要任务就是建立起调用操作系统内核、运行用户应用程序所需要的良好的软、硬件环境。这个任务具体包括两部分的内容:硬件设备初始化和建立内存空间的映射图。 下面以基于ARM7 TDMI内核的S3C4510B为例具体介绍BootLoader的启动过程
您可能关注的文档
最近下载
- 奋达供应商质量体系审核表B1版本+自评模板 (格式可转换)OK.pdf
- 水星船外机二冲程15-25-30 HP E-ETC 2012 英文维修手册.pdf
- 水星船外机二冲程 200-225-250-300 HP 90° V6 2010 英文维修手册.pdf
- 第三章_期权交易结算.pdf VIP
- 十五五规划纲要解读:高端装备制造领跑.pptx
- 微信聊天记录想要恢复原来如此简单!一学就会.pdf VIP
- 《总裁沟通及影响力》--杨台轩详解.ppt VIP
- 最新人教版九年级上册数学期中试题(含答案).docx VIP
- 西门子智能照明办公大楼应用.pdf VIP
- 智能照明系统(西门子InstabusKNXEIB系统)专项施工方案.doc VIP
原创力文档


文档评论(0)