版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、淺析嵌入式(3設(shè)備驅(qū)動的設(shè)計與實現(xiàn)淺析嵌入式 C/OS- n設(shè)備驅(qū)動的設(shè)計與實現(xiàn)設(shè)備驅(qū)動程序是任何操作系統(tǒng)的必不可少的、最保密的一個 組成部分,它們實現(xiàn)了計算機系統(tǒng)所有附屬設(shè)備的一個標(biāo)準(zhǔn)接口,它 包含與硬件直接相關(guān)的設(shè)備驅(qū)動。從廣義上說,”驅(qū)動程序”是指 一些函數(shù)的集合,這些函數(shù)都能對硬件設(shè)備進行操作。本文簡單分 析了 C/OS-n下設(shè)備驅(qū)動的設(shè)計與實現(xiàn)。設(shè)備驅(qū)動程序是任何操作系統(tǒng)的必不可少的、最保密的一個組 成部分,它們實現(xiàn)了計算機系統(tǒng)所有附屬設(shè)備的一個標(biāo)準(zhǔn)接口,它包 含與硬件直接相關(guān)的設(shè)備驅(qū)動。從廣義上說,”驅(qū)動程序”是指一 些函數(shù)的集合,這些函數(shù)都能對硬件設(shè)備進行操作。驅(qū)動程序的概 念在
2、沒有固定的操作系統(tǒng)的時候,是一個比較模糊的定義。簡單地 理解就是提供了一個軟件到硬件(也能夠是虛擬硬件)操作的函 數(shù)。一般主要應(yīng)該包括:設(shè)備初始化、設(shè)備的讀寫(輸入輸出)、設(shè) 備的控制等信息。在“ C/OS- n下沒有統(tǒng)一的設(shè)備驅(qū)動接口 一一不 像windows或者linux下經(jīng)過設(shè)備文件的定義模式,因此,把一些對 硬件操作是經(jīng)過一般的函數(shù)來完成的,叫成”驅(qū)動程序”也不為 過。簡介外設(shè)驅(qū)動程序是實時內(nèi)核和硬件之間的接口,是連接底層硬件和內(nèi) 核的紐帶。編寫驅(qū)動程序模塊應(yīng)滿足以下主要功能:對設(shè)備初始化;把數(shù)據(jù)從內(nèi)核傳送到硬件和從硬件讀取數(shù)據(jù);讀取應(yīng)用程序傳送給設(shè)備的數(shù)據(jù)和回送應(yīng)用程序請求的數(shù) 據(jù);
3、監(jiān)測和處理設(shè)備出現(xiàn)的異常。由于在“ C/OS-II下沒有統(tǒng) 一的設(shè)備驅(qū)動接口,在該操作系統(tǒng)中設(shè)備驅(qū)動的設(shè)計和實現(xiàn)主要是 經(jīng)過一些對硬件操作的函數(shù)來完成。MC/os-n操作系統(tǒng)啟動過程中的硬件初始化基于“C/OS- II的應(yīng)用系統(tǒng)工作時,首先把CPU初始 化;接著進行操作系統(tǒng)初始化,主要完成任務(wù)控制塊(TCB )初始 化、TCB優(yōu)先級表初始化、空任務(wù)的創(chuàng)立等;然后開始創(chuàng)立新任 務(wù),并可在新創(chuàng)立的任務(wù)中再創(chuàng)立其它的新任務(wù);最后調(diào)用OSST ART()函數(shù)啟動多任務(wù)調(diào)度。當(dāng)“ C/OS-II實際移植到具體的硬件平臺中時,系統(tǒng)初始化時 還要進行硬件的初始化。主函數(shù)是系統(tǒng)啟動首先執(zhí)行的一個函數(shù), 在啟動
4、“ C/OS II之前,要屏蔽所有中斷,并對全局變量初始化,防 止運行出錯。硬件初始化主要包括中斷初始化,串口、鍵盤、顯示 等設(shè)備初始化。“ C/OS II的初始化經(jīng)過調(diào)用OSInit()函數(shù),為OS 分配任務(wù)隊列、優(yōu)先級狀態(tài)表和準(zhǔn)備狀態(tài)表,初始化全局變量,而且 創(chuàng)立一個空循環(huán)任務(wù)。接下來,在啟動“ C/OS II前調(diào)用 OSTaskCreate()創(chuàng)立所有用戶任務(wù),并置準(zhǔn)備態(tài),創(chuàng)立任務(wù)時,要指定 每個任務(wù)的優(yōu)先級、堆棧大小和位置、任務(wù)函數(shù)入口。調(diào)用 OS2Start()啟動“ C/OS一11。從就緒隊列中找到優(yōu)先級最高的任務(wù), 作為當(dāng)前任務(wù)執(zhí)行。流程如圖所示。MC/OS-n操作系統(tǒng)對硬件的操
5、作和控制3.1函數(shù)控制硬件前面已經(jīng)提到過,不像其它的操作系統(tǒng),在 C/OS11中沒有 統(tǒng)一的設(shè)備驅(qū)動接口,因此對硬件的操作和控制能夠經(jīng)過函數(shù)來完 成。在啟動過程中完成硬件初始化后,系統(tǒng)創(chuàng)立一個空循環(huán)任務(wù),然 后就能夠調(diào)用OSTaskCreate()創(chuàng)立用戶任務(wù),在任務(wù)用戶任務(wù)中選 擇要控制的硬件,選擇最佳的控制方法,調(diào)用用戶自己編寫的函數(shù)來 完成。3.2 BSPBSP(板級支持包)是介于底層硬件和操作系統(tǒng)之間的軟件層次, 它完成系統(tǒng)上電后最初的硬件和軟件初始化,并對底層硬件進行封 裝,使得操作系統(tǒng)不再面對具體的操作。為“C/OS-II編寫一個簡單的BSP。它首先設(shè)置CPU內(nèi)部寄存器 和系統(tǒng)堆棧
6、,并初始化堆棧指針,建立程序的運行和調(diào)用環(huán)境;然后 能夠方便地使用C語言設(shè)置硬件的配置環(huán)境,并編制相應(yīng)的操作函 數(shù),為操作系統(tǒng)調(diào)用提供統(tǒng)一的接口 ;在CPU、板級和程序自身初 始化完成后,就能夠把CPU的控制權(quán)交給操作系統(tǒng)了。實際應(yīng)用舉例既然在“ C/OS-II下沒有統(tǒng)一的設(shè)備驅(qū)動接口,系統(tǒng)對硬件的 控制是經(jīng)過一些對硬件操作的函數(shù)來完成的。下面以在“ C/OS-II 實時內(nèi)核下驅(qū)動程序讀取A/D的三種方法,分析在實際的工程實踐 中 C/OS-II設(shè)備驅(qū)動的設(shè)計和實現(xiàn),以及在設(shè)計過程中應(yīng)注意的 一些問題。以一個單片機數(shù)據(jù)采集系統(tǒng)為例,硬件環(huán)境基于C8051F015單片 機。A/D轉(zhuǎn)換是單片機數(shù)據(jù)
7、采集系統(tǒng)的重要組成部分,實時內(nèi)核下 A/D驅(qū)動程序的實現(xiàn)過程主要取決于A/D轉(zhuǎn)換器的轉(zhuǎn)換時間。我 們首先比較和分析 C/OS-II下A/D采樣數(shù)據(jù)的三種方法;其次介 紹C8051F015單片機A/D模數(shù)轉(zhuǎn)換器的配置及特點;最后,在 C/OS-II內(nèi)核移植到8位單片機C8051F015的基礎(chǔ)上,介紹編寫 A/D驅(qū)動程序的一般思路和方法。4.1 “ C/OS-II實時內(nèi)核下的A/D讀取方法實時內(nèi)核下,驅(qū)動程序采用什么方法讀取A/D采樣數(shù)據(jù)是首先 考慮的問題。許多因素將影響讀取A/D,如 A/D的轉(zhuǎn)換時間、模擬 值的轉(zhuǎn)換頻率、輸入通道數(shù)等,但最主要的是取決于A/D的轉(zhuǎn)換時 間。典型的A/D轉(zhuǎn)換電路由模
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年高職混凝土結(jié)構(gòu)工程技術(shù)(混凝土強度控制)試題及答案
- 2025年大學(xué)藝術(shù)史論(藝術(shù)史研究)試題及答案
- 2025年大學(xué)大一(機械電子工程)數(shù)控技術(shù)綜合測試題及答案
- 2025年中職藥品食品檢驗(食品感官檢驗)試題及答案
- 2026年游戲運營(用戶維護)試題及答案
- 2025年中職大氣污染化學(xué)和物理(大氣環(huán)境監(jiān)測)試題及答案
- 2025年大學(xué)烹飪(烹飪學(xué)研究)試題及答案
- 2026年快餐食品加工機維修(加工機調(diào)試技術(shù))試題及答案
- 2025年大學(xué)大四(材料成型及控制工程)材料成型綜合實訓(xùn)階段測試題及答案
- 2025年大學(xué)建筑工程造價(工程預(yù)算編制)試題及答案
- 臨床試驗風(fēng)險管理計劃(RMP)編制規(guī)范
- 2025年項目總監(jiān)年底工作總結(jié)及2026年度工作計劃
- 農(nóng)業(yè)科技園區(qū)建設(shè)與運營方案
- 2025年秋青島版(五四學(xué)制)小學(xué)數(shù)學(xué)五年級上冊(全冊)知識點梳理歸納
- 招投標(biāo)業(yè)務(wù)流程及合同管理指南
- 消防考試試題1000題及答案
- 年會安全知識培訓(xùn)課件
- 警務(wù)基礎(chǔ)解脫技術(shù)
- xx市燃氣改造項目可行性研究報告
- 煤礦井下安全員考試題庫及答案
- 海洋油氣新型結(jié)構(gòu)材料分析報告
評論
0/150
提交評論