文档介绍:嵌入式系统应用
李刚
******@.
**********
参考书
puters ponents, principles of puting system design, wayne wolf, 机械工业出版社,2002
ARM嵌入式处理器结构与应用基础,马忠梅等,北航出版社,2002
嵌入式实时操作系统VxWorks及其开发环境Tornado,孔祥营等,中国电力出版社,2002
参考文献
嵌入式系统开发圣经,探矽工作室,中国青年出版社,2002
. 清华大学出版社,2001年
UC/OS-II-. 中国电力出版社,2001
可编程逻辑器件及设计理念,
一、BSP基本概念
二、BSP的特点及功能
三、嵌入式系统初始化设计
四、BSP开发前提及步骤
五、BSP设计实现方法
六、BSP驱动程序开发
七、常用的系统支持
八、网络驱动程序设计
九、硬件抽象层
第四章硬件抽象层设计
一、BSP基本概念
BSP—“板级支持包”(Board Support Packages) 简单来讲就是一段启动代码,和计算机主板中BIOS差不多,但提供的功能区别相差很大;
在Windows CE中,BSP是驱动程序、OEM适应层(OEM Adaptation Layers/OAL)、硬件抽象层(HAL)及启动设备和使外设正常工作所需BIOS文件集合。
BSP和BIOS的区别
BIOS主要负责开机时系统检测、设备初始化(设置栈指针、中断分配、内存初始化…)、装入操作系统并调度操作系统向硬件发出指令;
BSP与操作系统捆绑在一起运行,尽管BSP开始部分和BIOS所做的工作类似,但 BSP还包含和系统有关的基本驱动部分;
BIOS程序用户不能更改、编译、编程,只能对参数进行修改设置,但程序员可编程修改BSP程序,在BSP中任意添加和系统无关的驱动或程序,甚至可把上层开发的软件放到BSP中。
对于一个嵌入式操作系统,可针对不同的CPU (EMPU/EMCU),使用不同的BSP;
即使对于同一种CPU(EMPU/EMCU) ,由于外设的一点差别,BSP相应部分也不一样。
不同系统中的BSP
二、BSP的特点及功能
硬件相关性
因嵌入式系统硬件环境具有应用相关性,作为高层软件与硬件间接口,BSP必须为操作系统提供操作和控制具体硬件的方法。
操作系统相关性
不同操作系统具有各自软件层次结构, 因此,不同操作系统具有特定的硬件接口形式。
BSP设计流程
设计系统初始化过程,完成嵌入式系统初始化;
设计相关硬件设备驱动,完成操作系统及应用程序对具体硬件设备的操作。
三、嵌入式系统初始化设计
嵌入式系统初始化过程是一个同时包括硬件初始化和软件初始化的过程;而操作系统启动之前的初始化操作是BSP的主要功能之一;
初始化过程总可以抽象为三个主要环境,按照自底向上、从硬件到软件的次序依次为:片级初始化、板级初始化和系统级初始化。
嵌入式系统初始化过程
片级初始化:
主要完成嵌入式系统CPU(EMPU/EMCU)初始化,包括设置CPU核心寄存器和控制寄存器,CPU核心工作模式以及CPU局部总线模式等。片级初始化把CPU从上电时的缺省状态逐步设置成为系统所要求的工作状态。这是一个纯硬件的初始化过程;
板级初始化:
完成CPU以外其它硬件设备初始化。此外,还要设置某些软件数据结构和参数,为随后系统级初始化和应用程序运行建立硬件和软件环境。这是一个同时包括软硬件两部分在内的初始化过程。
系统级初始化:
这是以软件初始化为主的过程,主要完成操作系统初始化。BSP将控制转交给操作系统,由操作系统进行余下的初始化操作。包括加载和初始化与硬件无关的设备驱动程序,建立系统内存区,加载并初始化其它系统软件模块,如网络系统、文件系统等;最后,操作系统创建应用程序环境并将控制转交给应用程序入口。