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