2023.7.6及7.7
概述了解
一
1.驅(qū)動(dòng)框架
2. 字符設(shè)備
塊設(shè)備,存儲(chǔ)相關(guān)
網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)
不一定屬于某一種類型
二
1.獲取外設(shè)或傳感器數(shù)據(jù),控制外設(shè),數(shù)據(jù)會(huì)提交給應(yīng)用程序
2.編寫一個(gè)驅(qū)動(dòng),及測試應(yīng)用程序 app。驅(qū)動(dòng)和應(yīng)用完全分開
3.驅(qū)動(dòng)程序(內(nèi)核空間)應(yīng)用程序(用戶空間)
4.應(yīng)用程序-->內(nèi)核資源(系統(tǒng)調(diào)用,異常,陷入)、
5.應(yīng)用程序通過API函數(shù)進(jìn)行系統(tǒng)調(diào)用,POSIX,API,C庫
6.陷入-->內(nèi)核 系統(tǒng)調(diào)用號(hào)---系統(tǒng)調(diào)用
7.驅(qū)動(dòng)設(shè)備表現(xiàn)就是一個(gè)/dev/下的文件,應(yīng)用程序調(diào)用open,write,close
8.編寫驅(qū)動(dòng)時(shí)也要編寫驅(qū)動(dòng)對(duì)應(yīng)的open,write等,字符設(shè)備驅(qū)動(dòng)file_operations結(jié)構(gòu)體
三
1.字符驅(qū)動(dòng)編寫---file_operations
2.2種運(yùn)行方式
(1):將驅(qū)動(dòng)編譯進(jìn)Linux內(nèi)核中,則當(dāng)Linux內(nèi)核啟動(dòng)的時(shí)候就會(huì)自動(dòng)運(yùn)行驅(qū)動(dòng)程序
(2):將驅(qū)動(dòng)編譯成模塊(.ko)在Linux內(nèi)核啟動(dòng)以后使用“insmod”加載驅(qū)動(dòng)模塊,,,,,<調(diào)試驅(qū)動(dòng)>
3.module_init(xxxxx_init) //注冊(cè)模塊加載函數(shù)
module_exit() //注冊(cè)模塊卸載函數(shù)
四
、
文章來源:http://www.zghlxwxcb.cn/news/detail-607258.html
1.不能使用c庫開發(fā)驅(qū)動(dòng)程序
2.沒有內(nèi)存保護(hù)
3.內(nèi)核棧小
4.考慮可移植性: 字節(jié)序,
給用戶提供統(tǒng)一的編程接口,
使用宏代替設(shè)備端口的物理地址
不同處理器,使用處理器相關(guān)函數(shù)
五
1.處理器:intel的PXA系列,ARM的strongARM,MIPS technologies的MIPS,摩托羅拉龍珠,日立SH3,德州儀器OMAP系列
2.ARM處理器系列:ARM7系列,ARM9系列,ARM9E系列。。。。。。。。。。。。
3.ARM處理器選型:
處理器核
系統(tǒng)時(shí)鐘控制器:::::系統(tǒng)時(shí)鐘決定了芯片的處理速度
存儲(chǔ)器
GPIO數(shù)量
中斷控制器
IIS總線接口::::開發(fā)音頻應(yīng)用產(chǎn)品
nWAIT信號(hào)::外部總線速度控制信號(hào)。。利用nWAIT信號(hào)與GAL芯片可以實(shí)現(xiàn)符合
PCMCIA標(biāo)準(zhǔn)的WLAN卡和藍(lán)牙卡的接口
實(shí)時(shí)時(shí)鐘
LCD控制器
PWM輸出。。。。。。。。。。。
4.S3C2400開發(fā)板:::。。。。。。。。。。
linux內(nèi)核子系統(tǒng)
1.進(jìn)程管理:::進(jìn)程是操作系統(tǒng)分配資源的基本單位,CPU調(diào)度的基本單位
就緒,執(zhí)行,阻塞態(tài)
2.內(nèi)存管理:::內(nèi)核為每個(gè)進(jìn)程創(chuàng)建一個(gè)虛擬地址空間,虛擬地址空間進(jìn)行管理
3.文件系統(tǒng):::
4.設(shè)備管理:::完成數(shù)據(jù)從設(shè)備到內(nèi)存的傳輸。。數(shù)據(jù)首先從設(shè)備傳入內(nèi)存----CPU處理-----數(shù)據(jù)傳入內(nèi)存或設(shè)備
5.網(wǎng)絡(luò):::
linux源代碼結(jié)構(gòu)分析
1.arch目錄::包含與體系結(jié)構(gòu)相關(guān)的代碼
2.drivers目錄::linux內(nèi)核支持的大部分驅(qū)動(dòng)程序
文章來源地址http://www.zghlxwxcb.cn/news/detail-607258.html
到了這里,關(guān)于linux驅(qū)動(dòng)開發(fā)入門(學(xué)習(xí)記錄)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!