论文部分内容阅读
板级支持包(BSP)是在嵌入式系统中频繁使用的一个概念。BSP是介于操作系统和系统硬件之间的一个抽象层,确切的说是操作系统的一部分。通常所指的BSP包括启动代码和系统相关的驱动和程序。BSP的作用使硬件对于操作系统变得透明,从而使嵌入式系统和它的应用程序能够运行在不同的硬件平台上。 BSP的开发处在整个系统开发的初期,BSP部分在硬件和操作系统、上层应用程序之间,要求BSP设计员对从硬件、软件到操作系统都有一定的了解。由于BSP开发的复杂性,促使BSP开发员考虑利用硬件平台、外围设备的相似性,引入软件开发当中的思想如继承派生、构件化等思想来简化设备驱动程序的移植。 近年来在工业界和学术界均提出了一些BSP快速开发的设想,本文致力于解决特定硬件平台下不同操作系统间的设备驱动程序代码重用问题,提出了一种快速BSP开发模型,并实现了一套跨平台的嵌入式系统BSP构件库CPBF(Cross Platform BSP Framework)。CPBF是操作系统无关的,可以在ANSI C兼容操作系统如Linux,WinCE,Palm OS和Symbian OS上使用。CPBF包含两个构件,CPLI(Cross Platform Low-level Initializations)和CPLP(Cross Platform Low-level Primitives),CPLI主要由汇编代码编写,以提供诸如系处理器上电自检、重新启动等底层初始化工作,主要在bootloader中被调用。CPLP主要由C代码编写,以提供诸如AC97、USB、LCD、UART等板级硬件外围设备的操作系统平台无关构件库,主要在操作系统内核和设备驱动程序中被调用。 CPBF构件库通过对底层的硬件访问、寄存器操作进行封装,提供了一套稳定的、可重用的、易于使用的函数库,可大大加速嵌入式系统软件包括操作系统和设备驱动的开发和测试流程,简化系统维护和系统升级,并可显著缩短嵌入式系统产品的上市时间,提高对新硬件设备的支持速度。