摘 要:文章簡要地介紹了嵌入式實時操作系統VxWorks和板級支持包BSP的基本概念,分析了BSP的文件結構,以及介紹基于MPC875硬件平臺下VxWorks操作系統BSP的設計和開發,其中包括串行設備的驅動開發。
關鍵詞:VxWorks;BSP;MPC875
1 引言
VxWorks操作系統是一種嵌入式實時操作系統,是嵌入式開發環境的關鍵組成部分,良好的持續能力、高性能、可裁減的內核以及友好的用戶開發環境,使其在嵌入式實時操作系統領域占據一席之地,被廣泛地應用在通信、軍事、航空、航天等高精尖技術及實時性要求極高的領域中。
BSP即板級支持包,如圖1,在系統中,BSP為介于底層硬件環境和VxWorks之間的一個軟件接口。BSP為OS 及上層應用程序提供一個與硬件無關的軟件平臺,它的正確性與穩定性對上層軟件和整個系統的穩定起著至關重要的作用。
BSP的任務:硬件的初始化,配置系統硬件使其正常工作,以及完成硬件與軟件之間的數據交互。支持VxWorks對硬件驅動的操作:如時鐘,串口等設備。將VxWorks中依賴于硬件的部分和獨立于硬件的部分集成在一起。
MPC875是基于PowerPC架構的通信處理器,由三個模塊組成:MPC8xx核心,系統接口單元和一個通信處理器模塊。SIU主要包括:總線監視器、軟件看門狗、中斷定時器和實時時鐘等,它的一個主要功能是提供內部總線和外部總線的接口。CPM主要包括:RISC 控制器、一個串行通信控制器(SCC4)(支持以太網、HDLC 總線等)、1個串行管理控制器(SMC1)(UART 方式或透明傳輸)、一個串行外圍接口電路(SPI)(支持主從模式)等。CPM 在幾個不同的通信設備如SCC 和SMC 上發送、接收數據。MPC875還有兩個快速以太網控制器(FEC)、一個安全引擎。
2 BSP文件結構
3.3 基于SMC1串行設備驅動程序的實現
4 結束語
本文以MPC875開發板的BSP為例,介紹了VxWorks中BSP的開發過程。BSP與硬件有著密切關系,針對不同的CPU板,BSP的實現不盡相同,因此在BSP實現前,需要深入理解該硬件特點及原理,根據具體的硬件結構進行具體設計。
參考文獻
[1]鄺堅.Tornado/VxWorks入門與提高[M].北京:科學出版社,2004,11.
[2]Freescale.MPC875/MPC870 PowerQUICC? Hardware Specifications.2007.
[3]周啟平,張揚.VxWorks下設備驅動程序及BSP開發指南[M].北京:中國電力出版社,2004.