999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于eCos操作系統的FLASH驅動程序分析與移植

2010-06-22 03:41:08張麗杰
現代電子技術 2009年22期

石 強 張麗杰 常 佶

摘 要:為了在基于方舟CPU的小型無人機控制駕駛儀的硬件開發板上移植eCos可配置實時操作系統,研究eCos系統的硬件抽象層和設備驅動程序的體系結構,修改和移植基于Arca公司提供的eCos硬件抽象層和Inter FLASH設備驅動程序的源代碼,最后對移植后的Inter FLASH設備驅動程序進行系統測試。結果表明Redboot系統運行穩定可靠。

關鍵詞:Arca;eCos;Redboot;硬件抽象層;配置;驅動

中圖分類號:TP273

0 引 言

嵌入式系統需要支持的外部設備種類繁多,如何構造運行良好的嵌入式設備的驅動程序,對嵌入式操作系統的實際應用有重要意義。eCos是一種源代碼公開的實時嵌入式操作系統,對嵌入式應用具有良好的支持,內核專門設計了便于設備驅動管理和開發的I/O包和DEV包,開發人員可以方便地將自己開發的驅動程序加入其中,與別的系統組件一起進行配置。

1 系統目標板簡介

硬件目標板是為無人機系統設計的系統開發板,它是從Arca系統測試板經過功能簡化設計而來的滿足無人機系統要求的目標板。硬件目標板如圖1所示。

GT2000 支持SRAM,FLASH,ROM,VLIO(靜態段支持可變等待時間I/O 設備)和SDRAM(同步動態RAM)等外部擴展存儲器。GT2000的外部地址空間是按體(bank)劃分的,有四個體屬于靜態存儲器區域,由引腳〤S0猍TX-]~〤S3猍TX-]選擇,在將FLASH,SRAM,VLIO(用作其他外設接口)等靜態I/O設備地址分別設計在〤S0猍TX-]~〤S2猍TX-]區域內,由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[CD*2]Pin TSOP(12 mm×20 mm)或48[CD*2]Ball TFBGA,可被擦寫10 000 次。方舟的JTAG 仿真器支持TE28F320 FLASH,可以通過JTAG 接口進行在線讀寫和擦除,這給調試程序和硬件提供了方便。

FLASH 的電路原理圖以及GT2000 的引腳“DACK[2..1]/MD_MEM[1..0]”設置如圖2所示。オ[KH-1]

2 eCos驅動程序的體系結構與驅動程序設計模式

eCos操作系統的設備驅動程序通常包含以下內容:提供一些底層函數,負責完成設備初始化與配置、注冊設備,從設備收發數據、控制設備、處理設備中斷等,并進行設備管理。eCos操作系統內核支持設備驅動程序的同步、計時、內存管理、緩沖區管理、設備名空間及資源管理等。

eCos系統的I/O包中包含了設備的驅動程序接口模塊,全部是以組件的形式存在。設備驅動程序模塊支持系統設計的分層結構。設備I/O包中的程序需要使用設備DEV包中的程序,而設備DEV包中的程序需要調用eCos的硬件抽象層包中的底層接口函數,如┩3所示。

2.1 設備驅動程序用戶API

eCos為應用程序提供了一組用戶API函數,這些操作包括對設備進行初始化和配置,獲取配置信息,對設備進行讀寫等。設備驅動程序必須使用設備句柄進行設備操作,通過cyg_io_lookup()函數把設備在系統中的惟一名字映射成設備句柄。

2.2 eCos驅動程序與內核及HAL的接口

應用程序在使用設備的時候,通過驅動程序的用戶API函數訪問設備驅動程序,設備驅動程序又調用設備內核API函數與內核和硬件抽象層HAL進行交互,設備驅動程序和內核又通過硬件抽象層HAL對硬件平臺進行操作。

eCos內核向設備驅動程序提供調度、時鐘、同步、中斷等內核服務的支持。在某些嵌入式應用中,部分內核服務并不是必需的。在配置時不選擇Kernel包,設備驅動程序的內核服務支持由硬件抽象層提供。

HAL包含所有與平臺相關的代碼,是eCos操作系統對硬件進行的抽象定義,它直接控制和訪問硬件,為eCos內核和高層代碼提供服務。

I/O包和DEV包構成了eCos驅動程序的基本框架。設備驅動程序一般分為三個部分,分別為設備表入口DEVTAB_ENTRY、設備I/O函數表DEVIO_TAB和設備I/O函數。I/O包提供抽象的設備操作支持,應用程序訪問設備時使用邏輯設備名,每個設備都對應┮桓霆惟一的邏輯設備名。DEV包提供設備操作的底層實現,對硬件通過HAL直接操作。

eCos中的所有設備驅動程序都使用設備表入口進行描述。設備表入口使用宏DEVTAB_ENTRY()可以生成一個設備表入口數據結構。其中,_handlers指向DEVIO_TABLE入口函數,提供用戶應用程序的調用支持;_priv指向設備真正的硬件操作數據結構,提供硬件設備與上層軟件的交互。設備I/O入口宏定義如下:

2.3 設備驅動程序的設計模式

一般來說,eCos提供了三種驅動程序設計模式。設備驅動程序與內核和HAL之間的API接口主要對中斷以及中斷處理程序的ISR,DSR和線程的同步進行控制和管理。eCos設備驅動程序的中斷模塊分為┤個層次,分別是中斷服務程序ISR,中斷滯后服務程序DSR和中斷線程。中斷服務程序ISR在響應中斷時立即調用,中斷滯后服務程序DSR由ISR發出調用請求后執行,中斷線程為驅動程序的客戶程序。具體為硬件抽象層HAL對硬件中斷源譯碼,并在最短的時間內調用ISR中斷服務程序,ISR對硬件中斷可以立即處理,但限于與中斷線程交互較少的設備。大多數情況下,需要請求相應的中斷滯后服務程序DSR進入線程調度運行,DSR將在ISR執行完成后立即運行。如果需要復雜的中斷服務則要用戶自己定義中斷線程。對于一個具有中斷的設備驅動程序,必須提供ISR和DSR。

3 [ZK(]基于方舟開發板的Inter FLASH驅動程序分析與移植[ZK)][BT)]

[BT(3+1]3.1 [ZK(]Inter公司的TE28F320 的FLASH芯片驅動程序分析[ZK)][BT)]

Inter FLASH驅動程序FLASH_28fxxx.inl文件定義了FLASH設備低層的管理設備I/O函數, FLASH_28fxxx_parts.inl文件定義了FLASH設備邏輯信息,eCos系統I/O包使用DEVTAB_〦NTRY ()和DEVIO_TABLE()定義的_priv指針對FLASH設備低層I/O函數進行調用。

具體定義如下:

3.2 系統地址空間的分配方案。

當 MMU內存管理單元的控制寄存器MCR.ATE為0時,地址映射方式變為直接映射物理方式,如圖4所示。

直接映射方式的映射關系是:在使用高速緩存方式時將虛擬地址A1區域(0x80000000~0xA0000000)映射到實際物理地址0x00000000~0x20000000的區域;根據目標開發板的設計規范,系統的FLASH的物理地址從0x00000000開始,系統設計編寫程序時使用相應的虛擬地址空間為 0x80000000~0x80FFFFFF。SRAM的物理地址從0x04000000開始,使用相應的虛擬地址空間為0x84000000~0x84200000。

不同的兩塊開發板所采用的芯片,特別是FLASH芯片有可能是不一樣的。由于為無人機專門設計開發的目標板使用的是Inter公司的TE28F320 的FLASH芯片,與Arca公司使用的FLASH驅動程序不一樣,必須修改FLASH驅動及FLASH和SRAM的配置信息。

(1) SRAM布局文件修改如下:

Redboot是一個標準的嵌入式系統引導和Debug環境,是基于eCos的一個應用程序,使用eCos的硬件抽象層作為它的基礎。內含GDBstub,允許從應用程序調試的GDB宿主機鏈接目標平臺,通過串口或網口進行調試。既可以用在產品的開發階段(調試功能),也可以用在最終的產品上。

[BT3]4.2 系統測試結果

使用eCos圖形配置工具對修改好的eCos硬件抽象層和FLASH設備驅動程序進行裁剪,并用串口進行系統測試,通過minicom顯示Redboot運行的FLASH和SRAM地址結果如圖5所示。

5 結 語

本文通過裁剪和移植FLASH驅動程序到目標開發板上,展示了具體的修改硬件抽象層和設備驅動程序代碼方法。通過實際裁剪,配置一個具有實際應用價值的Redboot,對于嵌入式技術的學習和應用具有現實的意義。本文的難點在于eCos硬件抽象層和設備驅動程序源代碼的理解和修改。

參 考 文 獻

[1]李立杰,張麗杰,賈小鐵.基于方舟GT2000嵌入式小系統的設計[J].微計算機信息,2006(Z9):48[CD*2]51.

[2]蔣句平.嵌入式可配置實時操作系統eCos開發和應用[M].北京:機械工業出版社,2004.

[3]方舟科技有限公司.Draco[CD*2]SW[CD*2]Guide[Z].2003.

[4]方舟科技有限公司.Arca210 Hardware Manual[Z].2003.

[5][美]Anthony J Massa.嵌入式可配置實時操作系統eCos軟件開發[M].顏若麟,孫曉明,尤偉偉,等譯.北京:北京航空航天大學出版社,2006.

[6]方舟科技有限公司.GT2000 Board Design Guide[Z].2003.

[7]秦懷峰,施笑安,周興社,等.eCos設備驅動程序設計分析[J].微電子學與計算機,2003,20(7):8[CD*2]12.

[8]張麗杰,呂少中.基于方舟CPU的嵌入式SoC及其軟硬件開發平臺[J].半導體技術,2003,29(12):16[CD*2]19.

[9]Rubini A,Corbet J.Linux設備驅動程序[M].2版.魏永明,譯.北京:中國電力出版社,2002.

[10]邱麗波,邵笑梅,蘇慧祎,等.嵌入式系統eCOS移植分析及應用[J].現代電子技術,2008,31(24):45[CD*2]48.

作者簡介 石 強 男,1976年出生,內蒙古呼和浩特人,在讀碩士研究生,專業為計算機應用技術。

張麗杰 女,1973年出生,內蒙古呼和浩特人,副教授,碩士生導師,在讀博士研究生,內蒙古工業大學計算機系教師。

常 佶 男,1944年出生,內蒙古呼和浩特人,教授,博士生導師,內蒙古自治區機電控制重點實驗室主任。

主站蜘蛛池模板: 伊人国产无码高清视频| 国产精品成人免费视频99| 拍国产真实乱人偷精品| 91精品日韩人妻无码久久| 99久久亚洲综合精品TS| 亚洲高清国产拍精品26u| 久久亚洲国产视频| 欧美日韩激情在线| 日韩黄色大片免费看| 91年精品国产福利线观看久久 | 91精品综合| 色婷婷在线影院| 香蕉色综合| 色综合久久综合网| 亚洲欧美不卡视频| 亚洲天堂网在线视频| 91po国产在线精品免费观看| 国产自产视频一区二区三区| 精品久久香蕉国产线看观看gif| 98超碰在线观看| 日韩色图在线观看| 国产自在线播放| 久久6免费视频| 亚洲国产理论片在线播放| 成人国产精品网站在线看| 特级精品毛片免费观看| 青青草原国产| 亚洲国产精品成人久久综合影院| 色综合婷婷| 久精品色妇丰满人妻| 在线欧美a| 欧美国产综合视频| 色婷婷狠狠干| 免费又黄又爽又猛大片午夜| 一本色道久久88| 国产国产人成免费视频77777| 国产精品中文免费福利| 黄色片中文字幕| 国产情侣一区二区三区| 红杏AV在线无码| 国产麻豆精品久久一二三| 亚洲精品大秀视频| 国产激爽大片高清在线观看| 国产女人在线| 亚洲中文字幕在线一区播放| 亚洲视频无码| 国产成人无码播放| 久久综合色88| 欧美丝袜高跟鞋一区二区| 国产高清自拍视频| 青青草国产在线视频| 久久综合色天堂av| 国产无码精品在线| 99激情网| 香蕉久人久人青草青草| 国产91av在线| 九九视频在线免费观看| AV在线天堂进入| 国产毛片片精品天天看视频| 四虎国产精品永久一区| 亚洲国产欧美国产综合久久| 国产精品高清国产三级囯产AV| 凹凸国产分类在线观看| 伊人激情综合网| 怡春院欧美一区二区三区免费| 亚洲欧州色色免费AV| 国产丰满成熟女性性满足视频| 久久综合伊人 六十路| 欧美性久久久久| 思思热在线视频精品| 喷潮白浆直流在线播放| 午夜福利无码一区二区| 国产区在线观看视频| 国产97公开成人免费视频| 国产精品永久在线| 毛片在线看网站| 超碰91免费人妻| 久久福利网| 久久婷婷六月| 666精品国产精品亚洲| 日韩无码黄色| 国产成人精品男人的天堂下载 |