基于eCos操作系統的FLASH驅動程序分析與移植
0 引 言
嵌入式系統需要支持的外部設備種類繁多,如何構造運行良好的嵌入式設備的驅動程序,對嵌入式操作系統的實際應用有重要意義。eCos是一種源代碼公開的實時嵌人式操作系統,對嵌入式應用具有良好的支持,內核專門設計了便于設備驅動管理和開發的I/O包和DEV包,開發人員可以方便地將自己開發的驅動程序加入其中,與別的系統組件一起進行配置。
1 系統目標板簡介
硬件目標板是為無人機系統設計的系統開發板,它是從Arca系統測試板經過功能簡化設計而來的滿足無人機系統要求的目標板。硬件目標板如圖1所示。
GT2000支持SRAM,FLASH,ROM,VLIO(靜態段支持可變等待時間I/O設備)和SDRAM(同步動態RAM)等外部擴展存儲器。GT2000的外部地址空間是按體(bank)劃分的,有四個體屬于靜態存儲器區域,由引腳CS0~CS3選擇,在將FLASH,SRAM,VLIO(用作其他外設接口)等靜態I/O設備地址分別設計在CS0~CS2區域內,由GT2000內部的外部內存訪問接口(EMI)控制器中的靜態內存訪問控制寄存器(SMCR)進行訪問控制,分配地址訪問接口。
系統目標板選用兩片Intel公司的TE28F320的FLASH(16位)并聯獲得32位總線寬度。Intel公司的TE28F320是32 Mb(2 M×16 b)多功能FLASH,2.7~3.6 V單電源供電,讀取時間為70 ns,封裝格式為48-Pin TSoP(12 mm×20 mm)或48-Ball TFB-GA,可被擦寫10 000次。方舟的JTAG仿真器支持TE28F320 FLASH,可以通過JTAG接口進行在線讀寫和擦除,這給調試程序和硬件提供了方便。
FLASH的電路原理圖以及GT2000的引腳“DACK[2..1]/MD_MEM[1..0]”設置如圖2所示。
2 eCos驅動程序的體系結構與驅動程序設計模式
eCos操作系統的設備驅動程序通常包含以下內容:提供一些底層函數,負責完成設備初始化與配置、注冊設備,從設備收發數據、控制設備、處理設備中斷等,并進行設備管理。eCos操作系統內核支持設備驅動程序的同步、計時、內存管理、緩沖區管理、設備名空間及資源管理等。
評論