基于eCos操作系統(tǒng)的FLASH驅(qū)動程序分析與移植
3.3 修改eCos硬件抽象層中FLASH和SRAM的配置信息以及FLASH設(shè)備驅(qū)動程序
不同的兩塊開發(fā)板所采用的芯片,特別是FLASH芯片有可能是不一樣的。由于為無人機專門設(shè)計開發(fā)的目標板使用的是Inter公司的TE28F320的FLASH芯片,與Arca公司使用的FLASH驅(qū)動程序不一樣,必須修改FLASH驅(qū)動及FLASH和SRAM的配置信息。
(1)SRAM布局文件修改如下:本文引用地址:http://www.ex-cimer.com/article/152193.htm
(3)FLASH驅(qū)動程序FLASH_28fxxx.inl文件中的數(shù)據(jù)定義修改如下:
(4)修改平臺抽象層文件plf_hci.h文件
由于目標開發(fā)板上沒有采用EEPROM和HCI(硬件配置接口)的方式存儲系統(tǒng)硬件信息,而是采用在eCos平臺抽象層中把開發(fā)板上的硬件信息靜態(tài)存儲在文件中。在平臺抽象層文件plf_hci.h中修改如下:
4 驅(qū)動測試
4.1 Redboot簡介
Redboot是一個標準的嵌入式系統(tǒng)引導(dǎo)和Debug環(huán)境,是基于eCos的一個應(yīng)用程序,使用eCos的硬件抽象層作為它的基礎(chǔ)。內(nèi)含GDBstub,允許從應(yīng)用程序調(diào)試的GDB宿主機鏈接目標平臺,通過串口或網(wǎng)口進行調(diào)試。既可以用在產(chǎn)品的開發(fā)階段(調(diào)試功能),也可以用在最終的產(chǎn)品上。
4.2 系統(tǒng)測試結(jié)果
使用eCos圖形配置工具對修改好的eCos硬件抽象象層和FLASH設(shè)備驅(qū)動程序進行裁剪,并用串口進行系統(tǒng)測試,通過minicom顯示Redboot運行的FLASH和SRAM地址結(jié)果如圖5所示。
5 結(jié)語
本文通過裁剪和移植FLASH驅(qū)動程序到目標開發(fā)板上,展示上具體的修改硬件抽象層和設(shè)備驅(qū)動程序代碼方法。通過實際裁剪,配置一個具有實際應(yīng)用價值的Redboot,對于嵌入式技術(shù)的學(xué)習(xí)和應(yīng)用具有現(xiàn)實的意義。本文的難點在于eCos硬件抽象層和設(shè)備驅(qū)動程序源代碼的理解和修改。
評論