- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式系统及应用—第6章板级支持包与系统引导
第六章 板级支持包与系统引导 核心内容 嵌入式软件运行过程 板级支持包(BSP) RTOS的引导模式 Boot Loader 嵌入式软件运行流程 嵌入式软件运行流程 上电复位、板级初始化阶段 嵌入式系统上电复位后完成板级初始化工作。 板级初始化程序具有完全的硬件特性,一般采用汇编语言实现。不同的嵌入式系统,板级初始化时要完成的工作具有一定的特殊性,但以下工作一般是必须完成的: CPU中堆栈指针寄存器的初始化。 BSS段(Block Storage Space表示未被初始化的数据)的初始化。 CPU芯片级的初始化:中断控制器、内存等的初始化。 嵌入式软件运行流程 系统引导/升级阶段 根据需要分别进入系统软件引导阶段或系统升级阶段。 软件可通过测试通信端口数据或判断特定开关的方式分别进入不同阶段。 嵌入式软件运行流程 系统引导阶段 系统引导有几种情况: 将系统软件从NOR Flash中读取出来加载到RAM中运行:这种方式可以解决成本及Flash速度比RAM慢的问题。软件可压缩存储在Flash中。 不需将软件引导到RAM中而是让其直接在NorFlash上运行,进入系统初始化阶段。 将软件从外存(如NandFlash、CF卡、MMC等)中读取出来加载到RAM中运行:这种方式的成本更低。 嵌入式软件运行流程 系统升级阶段 进入系统升级阶段后系统可通过网络进行远程升级或通过串口进行本地升级。 远程升级一般支持TFTP、FTP、HTTP等方式。 本地升级可通过Console口使用超级终端或特定的升级软件进行。 嵌入式软件运行流程 系统初始化阶段 在该阶段进行操作系统等系统软件各功能部分必需的初始化工作,如根据系统配置初始化数据空间、初始化系统所需的接口和外设等。 系统初始化阶段需要按特定顺序进行,如首先完成内核的初始化,然后完成网络、文件系统等的初始化,最后完成中间件等的初始化工作。 嵌入式软件运行流程 应用初始化阶段 在该阶段进行应用任务的创建,信号量、消息队列的创建和与应用相关的其它初始化工作。 多任务应用运行阶段 各种初始化工作完成后,系统进入多任务状态,操作系统按照已确定的算法进行任务的调度,各应用任务分别完成特定的功能。 6.2 板级支持包 BSP的概念 BSP中驱动程序 BSP和BIOS的区别 RTOS的BSP 一、BSP的概念 BSP是嵌入式系统的基础部分,也是实现系统可移植性的关键。它负责上电时的硬件初始化、启动RTOS或应用程序模块、提供底层硬件驱动,为上层软件提供访问底层硬件的手段。 BSP是板级支持包(Board Support Package)的缩写,是通常用在嵌入行业中的一个术语,用来代表在一个特殊硬件平台上快速构建一个嵌入操作系统所需的原始资料或者二进制软件包。BSP的作用是支持操作系统,使之能够更好的运行于硬件平台。BSP是相对于操作系统而言的,不同的操作系统对应于不同定义形式的BSP,包括Windows CE、Linux、Vxworks等。SoC/CPU厂商应向其芯片的用户提供一个基本的BSP包,以支持主板厂商或整机制造厂商在此基础上定制和开发各种商用终端产品。 二、BSP中驱动程序 1、驱动程序的概念 2、驱动程序基本功能 1) 对设备初始化和释放。 2) 对设备进行管理。 3) 读取应用程序传送给设备文件的数据,并回送应用程序请求的数据。 4) 检测和处理设备出现的错误。 3、驱动程序的运作过程 三、BSP和BIOS的区别 1、PC机主板上的BIOS开始部分所做工作和BSP比较类似,主要是负责在电脑开启时检测、初始化系统设备(设置栈指针,中断分配,内存初始化等)、装入操作系统。但是BIOS不包含设备驱动程序,而BSP却包含。 2、BIOS不可修改;BSP可以编程修改 四、RTOS的BSP 最基本的BSP仅提供CPU复位、初始化、驱动串口和必要的时钟处理功能。 1、VxWorks的BSP 1) 初始化 A) CPU Init B) Board Init C) System Init 2) 驱动程序 A) 系统软件相关的驱动程序 B) 应用相关的驱动程序 2、RTEMS的BSP 1) RTEMS中BSP的定义: RTEMS的板级支持包是启动代码、 连接器脚本和编译规范文件 (specs)和设备驱动程序的集合。 2) RTEMS中BSP的开发 A) 建立开发环境 B) 选择BSP模板 C) 建立新BSP目录 D) 建立BSP配置文件 E) 修改makefile文件 F) 修改启动代码 G) 配置RTEMS H) 调试和测试 在嵌入式系统的应用过程中,针
文档评论(0)