![嵌入式系統(tǒng)原理及應(yīng)用教程PPT課件_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-9/7/7c752539-f2a0-4a58-92d2-597e8c71b13a/7c752539-f2a0-4a58-92d2-597e8c71b13a1.gif)
![嵌入式系統(tǒng)原理及應(yīng)用教程PPT課件_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-9/7/7c752539-f2a0-4a58-92d2-597e8c71b13a/7c752539-f2a0-4a58-92d2-597e8c71b13a2.gif)
![嵌入式系統(tǒng)原理及應(yīng)用教程PPT課件_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-9/7/7c752539-f2a0-4a58-92d2-597e8c71b13a/7c752539-f2a0-4a58-92d2-597e8c71b13a3.gif)
![嵌入式系統(tǒng)原理及應(yīng)用教程PPT課件_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-9/7/7c752539-f2a0-4a58-92d2-597e8c71b13a/7c752539-f2a0-4a58-92d2-597e8c71b13a4.gif)
![嵌入式系統(tǒng)原理及應(yīng)用教程PPT課件_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-9/7/7c752539-f2a0-4a58-92d2-597e8c71b13a/7c752539-f2a0-4a58-92d2-597e8c71b13a5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、莊?= i宰$ s 帕 IIW帕 6 來 JapEOJOOHM 帕QAZO-OGCOel PCM-ddv 40 - oo 上 OS BPB3H10. 1. 1嵌入式Linux設(shè)備驅(qū)動程序分類靜態(tài)加載的驅(qū)動程序動態(tài)加載的驅(qū)動程序Linux將設(shè)備按照功能特性劃分為三種類型:字符 設(shè)備,塊設(shè)備和網(wǎng)絡(luò)設(shè)備。10.1.2最簡單的內(nèi)核模塊1 helloworld模塊源代碼2.模塊的編譯3.模塊的加載和卸載ioHuade School of AppIi od Toohnology10. 2嵌入式Linux設(shè)備驅(qū)動重要技術(shù)10. 2. 1內(nèi)存與I/O端口(1) 內(nèi)核空間和用戶空間(2) 內(nèi)核中內(nèi)存分配內(nèi)核中獲
2、取內(nèi)存的幾種方式如下。 通過伙伴算法分配大片物理內(nèi)存 通過s 1 ab緩沖區(qū)分配小片物理內(nèi)存 非連續(xù)內(nèi)存區(qū)分配 高端內(nèi)存映射固定線性地址映射(3) I/O端口根據(jù)CPU體系結(jié)構(gòu)的不同,CPU對10端口的編址方式 有兩種:I/O映射方式(I/0-mapped)和內(nèi)存映射方 式(Memory-mapped)。下面主要討論一下內(nèi)存映射方式訪問I/O端口的方 法,我們稱之為I/O內(nèi)存操作。I/O內(nèi)存區(qū)必須在使用前分配 I/O內(nèi)存映射訪問I/O內(nèi)存映射到用戶空間10.1嵌入式Linux驅(qū)動程序開發(fā)基礎(chǔ)Huade School of AppIi od Toohnology10. 2. 2 同步機(jī)制Linu
3、x內(nèi)核中包含的同步機(jī)制包括:原子操作、信 號量 (semaphore)、讀寫信號量 (rw_semaphore)、 自旋鎖(spinlock)、大內(nèi)核鎖(Big Kernel Lock, BKL) 讀寫鎖(rwlock) 讀拷貝更新(Read-Copy Update, RCU)和seqlock (順序鎖)等。10.1嵌入式Linux驅(qū)動程序開發(fā)基礎(chǔ)Huade School of AppIi od Toohnology10.1嵌入式Linux驅(qū)動程序開發(fā)基礎(chǔ)Huade School of AppIi od Toohnology1. 原子操作原子操作主要用于實(shí)現(xiàn)資源計數(shù),很多引用計數(shù)(refcnt
4、)就是通過原子操作實(shí)現(xiàn)的。原子類型定義如下:typedef struct volatile int counter; atomic_t;原子操作通常用于實(shí)現(xiàn)資源的引用計數(shù)2. 信號量信號量在創(chuàng)建時需要設(shè)置一個初始值.3. 讀寫信號量讀寫信號量有兩種實(shí)現(xiàn): 一種是通用的,不依賴于硬件架構(gòu) 一種是架構(gòu)相關(guān)的IttiT 讀寫信號量的相關(guān)API有:DECLARE_RWSEM(name)該宏聲明一個讀寫信號量name并對其進(jìn)行初始化。 void init_rwsem(struct rw_semaphore *sem); 該函數(shù)對讀寫信號量sem進(jìn)行初始化。void down_read(stmct rw_
5、semaphore *sem);在Linux中,每一個進(jìn)程都用一個類型為task_t或 struct task_struct的結(jié)構(gòu)來描述Illi4. 自旋鎖一個執(zhí)行單元要想訪問被自旋鎖保護(hù)的共享資源,必須先得到鎖,在訪問完共享資源后,必須釋放鎖。自旋鎖的API有: spin_lock_init(x);10. 2. 3阻塞與非阻塞1. 阻塞操作2. 非阻塞操作10. 2. 4時間問題1延時操作:2.內(nèi)核定時器(1)長延時。(2)短延時10.1嵌入式Linux驅(qū)動程序開發(fā)基礎(chǔ)Huade School of AppIi od Toohnology10.1嵌入式Linux驅(qū)動程序開發(fā)基礎(chǔ)Huade S
6、chool of AppIi od Toohnology釆用缺省工作者線程來實(shí)現(xiàn)工作隊列的API:內(nèi)核提供給驅(qū)動許多函數(shù)來聲明、注冊、以及去除內(nèi)核定時器。3. 工作隊列 NIT_W0RK(_work, _func, _data) int schedule_work(struet work_struet *work) int schedule_delayed_work(stmet work_struct *work, unsignedlong delay)void flush_scheduled_work(void) int cancel_delayed_work(struct work_struet *work)創(chuàng)建自己的工作者線程和工作隊列,API:char *name) struet workqueue_struct *create_workqueue(const int queue_work(struet workqueue_struet *wq, struetwork_struet *work)U int queue_delayed_work(struet workqueue_struct *wq, work_struet *work, unsigned long d
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年礦物制品及材料批發(fā)服務(wù)合作協(xié)議書
- 建設(shè)工程項目聯(lián)合施工協(xié)議書范本
- 二零二五年度藝術(shù)類合作協(xié)議書:藝術(shù)品投資與收藏合作框架
- 二零二五年度自費(fèi)留學(xué)國際志愿者項目合作合同
- 2025年度醫(yī)療事故調(diào)解與糾紛預(yù)防合作協(xié)議
- 醫(yī)院合同制人員2025年度工資調(diào)整與職業(yè)成長激勵合同
- 二零二五年度足浴店員工工作績效與獎勵合同
- 人教版地理八年級上冊《第二節(jié) 氣候》聽課評課記錄1
- 二零二五年度酒店住宿消費(fèi)者返利協(xié)議集
- 2025年度消費(fèi)者權(quán)益保護(hù)糾紛合同范本
- GB/T 18344-2016汽車維護(hù)、檢測、診斷技術(shù)規(guī)范
- 青島版科學(xué)(2017)六三制六年級下冊第2單元《生物與環(huán)境》全單元課件
- 2022-2023年人教版九年級物理上冊期末考試(真題)
- 關(guān)漢卿的生平與創(chuàng)作
- 一年級語文教材解讀分析ppt
- 編本八年級下全冊古詩詞原文及翻譯
- 公共政策學(xué)政策分析的理論方法和技術(shù)課件
- 裝載機(jī)教材課件
- 萬人計劃藍(lán)色簡約萬人計劃青年拔尖人才答辯PPT模板
- 統(tǒng)編高中《思想政治》教材編寫理念和內(nèi)容介紹
- 2022年普通高等學(xué)校招生全國統(tǒng)一考試數(shù)學(xué)試卷 新高考Ⅰ卷(含解析)
評論
0/150
提交評論