產(chǎn)品分類

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

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

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

      發(fā)布日期:2022-04-18 點(diǎn)擊率:111

        0 引 言

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

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

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

      硬件目標(biāo)板

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

        系統(tǒng)目標(biāo)板選用兩片Intel公司的TE28F320的FLASH(16位)并聯(lián)獲得32位總線寬度。Intel公司的TE28F320是32 Mb(2 M×16 b)多功能FLASH,2.7~3.6 V單電源供電,讀取時(shí)間為70 ns,封裝格式為48-Pin TSoP(12 mm×20 mm)或48-Ball TFB-GA,可被擦寫10 000次。方舟的JTAG仿真器支持TE28F320 FLASH,可以通過JTAG接口進(jìn)行在線讀寫和擦除,這給調(diào)試程序和硬件提供了方便。

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

      FLASH的電路原理圖

        2 eCos驅(qū)動(dòng)程序的體系結(jié)構(gòu)與驅(qū)動(dòng)程序設(shè)計(jì)模式

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

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

      eCos系統(tǒng)的I

        2.1 設(shè)備驅(qū)動(dòng)程序用戶API

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

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

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

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

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

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

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

      推薦產(chǎn)品

      更多
      主站蜘蛛池模板: 亚洲午夜日韩高清一区| 国精品无码一区二区三区在线| 精品国产一区二区三区久| 色一乱一伦一区一直爽| 中文字幕一区二区三区永久 | 麻豆一区二区99久久久久| 亚洲爆乳精品无码一区二区| 99精品久久精品一区二区| 国产一区二区在线视频播放| 日韩精品无码Av一区二区| 国产福利91精品一区二区三区| 国产自产V一区二区三区C| 国产成人片视频一区二区| 国产传媒一区二区三区呀| 一区二区三区高清| 亚欧在线精品免费观看一区| 亚洲av午夜福利精品一区| 国产午夜精品免费一区二区三区 | 无码福利一区二区三区| 国模吧一区二区三区| 国产精品福利区一区二区三区四区| 无码人妻久久一区二区三区 | 少妇一夜三次一区二区| 国产精品一级香蕉一区| 精品无码一区二区三区电影| 麻豆文化传媒精品一区二区| 久久99精品国产一区二区三区| 国产一区二区三区在线影院 | 无码日韩人妻AV一区免费l | 亚洲线精品一区二区三区影音先锋| 国模吧一区二区三区精品视频| 精品无码综合一区二区三区| 久久精品国内一区二区三区| 韩国精品一区视频在线播放| 亚洲AV无码一区二区三区电影| 伊人色综合网一区二区三区| 成人在线观看一区| 亚洲一区二区三区成人网站| 亚洲精品无码一区二区| 天堂Av无码Av一区二区三区| 精品一区二区三区AV天堂|