超碰激情 I 成人福利网站 I 淫国产 I 曰批视频免费30分钟成人 I 刘亦菲裸体视频一区二区三区 I 午夜久 I 尤物综合 I 亚洲一区av在线观看 I 欧美亚洲国产精品久久高清 I 欧美老熟妇乱子伦视频 I 无码中出人妻中文字幕av I 久久美女福利视频 I 精品无人区乱码1区2区3区在线 I 性饥渴的农村熟妇 I 色综合综合色 I 少妇人妻88久久中文字幕 I 久久夜色精品国产噜噜av I 老熟妇仑乱视频一区二区 I 男女做爰猛烈叫床视频动态图 I 日本大片一区二区 I 人成午夜免费视频在线观看 I 激情婷婷av I 男女下面一进一出免费视频网站 I 久久影视一区 I 午夜污网站 I 先锋人妻无码av电影 I 久久久久久久岛国免费网站 I 又粗又大又黄又硬又爽免费看 I 人妻无码免费一区二区三区 I www.色成人100 I 欧美高清网站 I 精品国产第一页 I 国产suv一区二区三区88区 I 橹图极品美女无圣光 I 午夜宅男欧美

產(chǎn)品分類

當前位置: 首頁 > 傳感測量產(chǎn)品 > 數(shù)據(jù)采集產(chǎn)品 > 數(shù)據(jù)采集模塊

類型分類:
科普知識
數(shù)據(jù)分類:
數(shù)據(jù)采集模塊

基于eCos操作系統(tǒng)的FLASH驅(qū)動程序分析與移植

發(fā)布日期:2022-04-18 點擊率:140

  0 引 言

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

  1 系統(tǒng)目標板簡介

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

硬件目標板

  GT2000支持SRAM,F(xiàn)LASH,ROM,VLIO(靜態(tài)段支持可變等待時間I/O設備)和SDRAM(同步動態(tài)RAM)等外部擴展存儲器。GT2000的外部地址空間是按體(bank)劃分的,有四個體屬于靜態(tài)存儲器區(qū)域,由引腳CS0~CS3選擇,在將FLASH,SRAM,VLIO(用作其他外設接口)等靜態(tài)I/O設備地址分別設計在CS0~CS2區(qū)域內(nèi),由GT2000內(nèi)部的外部內(nèi)存訪問接口(EMI)控制器中的靜態(tài)內(nèi)存訪問控制寄存器(SMCR)進行訪問控制,分配地址訪問接口。

  系統(tǒng)目標板選用兩片Intel公司的TE28F320的FLASH(16位)并聯(lián)獲得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接口進行在線讀寫和擦除,這給調(diào)試程序和硬件提供了方便。

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

FLASH的電路原理圖

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

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

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

eCos系統(tǒng)的I

  2.1 設備驅(qū)動程序用戶API

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

  2.2 eCos驅(qū)動程序與內(nèi)核及HAL的接口

  應用程序在使用設備的時候,通過驅(qū)動程序的用戶API函數(shù)訪問設備驅(qū)動程序,設備驅(qū)動程序又調(diào)用設備內(nèi)核API函數(shù)與內(nèi)核和硬件抽象層HAL進行交互,設備驅(qū)動程序和內(nèi)核又通過硬件抽象層HAL對硬件平臺進行操作。

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

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

下一篇: PLC、DCS、FCS三大控

上一篇: 索爾維全系列Solef?PV

推薦產(chǎn)品

更多