![嵌入式C編程C編寫Linux驅(qū)動PPT學(xué)習(xí)教案_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/31/b96db2d7-9807-4667-8b9b-c9ea9db714c9/b96db2d7-9807-4667-8b9b-c9ea9db714c91.gif)
![嵌入式C編程C編寫Linux驅(qū)動PPT學(xué)習(xí)教案_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/31/b96db2d7-9807-4667-8b9b-c9ea9db714c9/b96db2d7-9807-4667-8b9b-c9ea9db714c92.gif)
![嵌入式C編程C編寫Linux驅(qū)動PPT學(xué)習(xí)教案_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/31/b96db2d7-9807-4667-8b9b-c9ea9db714c9/b96db2d7-9807-4667-8b9b-c9ea9db714c93.gif)
![嵌入式C編程C編寫Linux驅(qū)動PPT學(xué)習(xí)教案_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/31/b96db2d7-9807-4667-8b9b-c9ea9db714c9/b96db2d7-9807-4667-8b9b-c9ea9db714c94.gif)
![嵌入式C編程C編寫Linux驅(qū)動PPT學(xué)習(xí)教案_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/31/b96db2d7-9807-4667-8b9b-c9ea9db714c9/b96db2d7-9807-4667-8b9b-c9ea9db714c95.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、會計(jì)學(xué)1 嵌入式嵌入式C編程編程C編寫編寫Linux驅(qū)動驅(qū)動 第1頁/共30頁 裸機(jī)程序也是驅(qū)動!裸機(jī)程序也是驅(qū)動! 第2頁/共30頁 第3頁/共30頁 第4頁/共30頁 嵌入式軟件層次結(jié)構(gòu) 第5頁/共30頁 通常嵌入式系統(tǒng)都配置OS層,用于實(shí)現(xiàn)對硬件資源的統(tǒng)一管 理 保護(hù)操作:避免程序錯(cuò)誤操作硬件,破壞系統(tǒng) 互斥操作: 系統(tǒng)上存在多個(gè)程序需要同時(shí)訪問同一個(gè)硬件設(shè)備的情況 同步操作:系統(tǒng)上有多個(gè)程序?qū)τ布O(shè)備訪問必須保證先后順序的情況 第6頁/共30頁 操作系統(tǒng)(OS)需要控制硬件設(shè)備,就需要用到設(shè)備驅(qū)動程序 驅(qū)動程序通常作為操作系統(tǒng)的一部分(OS = Kernel + Device Driv
2、er) 驅(qū)動程序負(fù)責(zé)將(來自應(yīng)用APP層)操作系統(tǒng)的操作請求,轉(zhuǎn)化 為特定物理設(shè)備控制器能夠理解的命令 第7頁/共30頁 Linux驅(qū)動程序的功能: 向上為Linux系統(tǒng)(應(yīng)用APP層)提供訪問硬件的調(diào)用接口 中間層封裝了對硬件的相關(guān)包含功能 向下用于控制硬件:通常是調(diào)用裸機(jī)程序,讀寫硬件寄存器達(dá) 到控制硬件的目的 第8頁/共30頁 第9頁/共30頁 1、Linux驅(qū)動程序都是以模塊的形式存在的,通常成為驅(qū)動模塊 2、為了便于驅(qū)動的開發(fā),引進(jìn)內(nèi)核模塊的概念 修改或者增加驅(qū)動,不需要重新編譯內(nèi)核 只需要加載或者卸載模塊,就可以動態(tài)增加或者刪除內(nèi)核 的功能 內(nèi)核模塊開發(fā)調(diào)試完成后,有需要才將代碼融
3、入內(nèi)核一起 編譯,成為內(nèi)核的一部份 第10頁/共30頁 3、內(nèi)核模塊編寫:dev.c 第11頁/共30頁 4、內(nèi)核模塊編譯:Makefile X86架構(gòu)架構(gòu) 第12頁/共30頁 5、執(zhí)行編譯,生成內(nèi)核模塊 內(nèi)核模塊內(nèi)核模塊 第13頁/共30頁 6、內(nèi)核模塊加載 安裝模塊,使模塊成為系統(tǒng)的一部分安裝模塊,使模塊成為系統(tǒng)的一部分 系統(tǒng)已安裝模塊系統(tǒng)已安裝模塊 demo模塊在系統(tǒng)上的符號鏈接模塊在系統(tǒng)上的符號鏈接 dev_init函數(shù)已執(zhí)行函數(shù)已執(zhí)行 第14頁/共30頁 7、內(nèi)核模塊卸載 卸載模塊,使模塊脫離系統(tǒng)卸載模塊,使模塊脫離系統(tǒng) dev_exit函數(shù)已執(zhí)行函數(shù)已執(zhí)行 第15頁/共30頁 在L
4、inux宿主機(jī)上開發(fā)的內(nèi)核模塊最終要在開發(fā)板上加載 所以需要按開發(fā)板的CPU體系架構(gòu)(ARM)編譯 第16頁/共30頁 1、內(nèi)核模塊交叉編譯:Makefile ARM架構(gòu)架構(gòu) 第17頁/共30頁 2、執(zhí)行編譯,生成目標(biāo)板的內(nèi)核模塊 檢查模塊文件屬性檢查模塊文件屬性 ARM架構(gòu)架構(gòu) 第18頁/共30頁 3、啟動開發(fā)板Linux系統(tǒng) 4、將裝有demo.ko模塊的U盤插上開發(fā)板 插入U(xiǎn)盤,會自動掛載到/udisk 第19頁/共30頁 5、在開發(fā)板上掛載與卸載 第20頁/共30頁 第21頁/共30頁 1、內(nèi)核模塊編寫:dev.c 硬件驅(qū)動接口硬件驅(qū)動接口 第22頁/共30頁 驅(qū)動回調(diào)函數(shù)驅(qū)動回調(diào)函數(shù) 第23頁/共30頁 驅(qū)動回調(diào)函數(shù)注冊驅(qū)動回調(diào)函數(shù)注冊 第24頁/共30頁 2、編譯并在開發(fā)板上加載 宿主機(jī)上編譯宿主機(jī)上編譯 開發(fā)板上加載開發(fā)板上加載 第25頁/共30頁 3、為使用驅(qū)動模塊創(chuàng)建設(shè)備文件 設(shè)備文件名為devleds,主設(shè)備號為240,對應(yīng)dev.c中的 dev下的設(shè)備文件下的設(shè)備文件 第26頁/共30頁 1、應(yīng)用程序通過寫/dev/devleds文件實(shí)現(xiàn)LED流水燈:leds.c 第27頁/共30頁 2、編譯并在開發(fā)板上運(yùn)行 注意,運(yùn)行前先關(guān)閉自帶的LED監(jiān)控程序: killall led-player
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人借款合同民間
- 2025年鄭州道路運(yùn)輸從業(yè)資格證模擬考試年新版
- 2025年宜春道路貨運(yùn)運(yùn)輸從業(yè)資格證模擬考試
- 小學(xué)二年級數(shù)學(xué)上冊口算
- 2025年河南貨運(yùn)從業(yè)資格證模擬考試題及答案大全
- 2025年河南貨運(yùn)從業(yè)資格證模擬考試0題及答案解析
- 聽評課記錄完整40篇數(shù)學(xué)
- Unit 4 Fun with numbers Lesson 2 Speed up(說課稿)-2024-2025學(xué)年外研版(三起)(2024)三年級上冊
- 2024-2025學(xué)年七年級生物下冊第二章人體的營養(yǎng)第三節(jié)合理營養(yǎng)與食品安全教案新版新人教版
- 2024-2025學(xué)年高中政治課時(shí)分層作業(yè)7世界的物質(zhì)性含解析新人教版必修4
- 鋁合金門窗設(shè)計(jì)說明
- 常見食物的嘌呤含量表匯總
- 小學(xué)數(shù)學(xué)-三角形面積計(jì)算公式的推導(dǎo)教學(xué)設(shè)計(jì)學(xué)情分析教材分析課后反思
- 人教版數(shù)學(xué)八年級下冊同步練習(xí)(含答案)
- SB/T 10752-2012馬鈴薯雪花全粉
- 2023年湖南高速鐵路職業(yè)技術(shù)學(xué)院高職單招(英語)試題庫含答案解析
- 秦暉社會主義思想史課件
- 積累運(yùn)用表示動作的詞語課件
- 機(jī)動車登記證書英文證書模板
- 質(zhì)量管理體系基礎(chǔ)知識培訓(xùn)-2016
- 甲醇催化劑說明書
評論
0/150
提交評論