視頻下載地址:
驅動注冊:http://pan.baidu.com/s/1i34HcDB
設備注冊:http://pan.baidu.com/s/1kTlGkcR
總線_設備_驅動注冊流程詳解
? 注冊流程圖
? 設備一般都需要先注冊,才能注冊驅動
– 現在越來越多的熱拔插設備,反過來了。先注冊驅動,設備來了再注冊
設備
? 本節使用的命令
– 查看總線的命令#ls /sys/bus/
– 查看設備號的命令#cat /proc/devices
? 設備都有主設備號和次設備號,否則255個設備號不夠用
– 查看雜項設備號的命令#cat /proc/misc
設備注冊
關于注冊設備的一點說明
? 早先的Linux會使用單獨的文件注冊設備,現在大多是使用引入的虛擬
平臺,使用虛擬平臺來注冊設備會容易很多
? 如果大家在網上看到大段的注冊設備的代碼,可簡單了解一下,知道
有這么個東西就成,不用去深究。不要去學習“屠龍技”,現在基本都
是直接在平臺文件中注冊設備
注冊設備
注冊設備使用結構體platform_device,該結構體在頭文件“vim
include/linux/platform_device.h”中。頭文件中也有注冊設備和卸載設
備的函數,了解即可。
? 操作過程
– 注冊設備。將設備結構體放到平臺文件中,會自動注冊設備,不用去調
用注冊設備的函數。
– 在Kconfig文件中添加編譯HELLO設備的宏定義(前面教程中已經添加)
– 配置menuconfig中的HELLO宏定義,生成新的.config文件
– 生成新的zImage
? 注冊完之后在虛擬平臺總線下可以查到注冊的設備
– ls /sys/devices/platform/
驅動注冊
? 驅動注冊
– 很重要,牢牢掌握,以后寫任何Linux驅動都會用到
? 實驗
– 在mini_linux_module的基礎上添加驅動注冊部分
驅動注冊——頭文件
? 驅動注冊使用結構體platform_driver,該結構體在頭文件“vim
include/linux/platform_device.h”中
? 驅動注冊platform_driver_register,驅動卸載函數
platform_driver_unregister也在這個頭文件中
– 這兩個函數的參數都只有結構體platform_driver
驅動注冊——注冊結構體
驅動注冊——注冊結構體
? 驅動常見的幾種狀態,初始化,移除,休眠,復位
– 就像PC一樣,有的驅動休眠之后無法使用,有的可以使用;有的系統喚
醒之后,驅動需要重新啟動才能正常工作,也有直接就可以使用等等
? probe函數
– platform_match函數匹配之后,驅動調用的初始化函數
? remove函數
– 移除驅動函數
? suspend函數
– 懸掛(休眠)驅動函數
? resume函數
– 休眠后恢復驅動
? device_driver數據結構的兩個參數
– name和注冊的設備name要一致
– owner一般賦值THIS_MODULE
實驗
? 在mini_linux_module的基礎上添加驅動注冊部分
? 編譯,在開發板上加載和卸載驅動
上一篇:迅為4412開發板Linux驅動教程——編寫簡單應用調用驅動
下一篇:迅為iTOP-4412核心板調整電壓
推薦閱讀
史海拾趣
Allied Controls Incorporated(ACI)是一家專注于設計和制造溫度傳感器和控制器的公司,以下是其發展歷程的五個相關故事:
創立和早期發展: Allied Controls Incorporated成立于1983年,總部位于美國新澤西州。公司的創始人是一群對溫度控制技術充滿熱情的工程師和企業家。起初,ACI專注于為工業和商業應用提供高品質的溫度傳感器和控制器。通過不斷提高產品質量和性能,公司逐漸贏得了客戶的信任和好評,實現了良好的初期發展。
技術創新與產品優化: 隨著市場需求的變化和技術的發展,ACI不斷進行技術創新,并不斷優化其產品線。公司投入大量資源用于研發新型溫度傳感器和控制器,以滿足不同行業的需求。ACI的工程團隊與客戶緊密合作,根據客戶的反饋和需求不斷改進產品設計和性能,確保產品的質量和可靠性。
擴大市場份額: 隨著業務的穩步增長,ACI逐漸擴大了其市場份額,涵蓋了更多的行業和應用領域。除了工業和商業應用外,公司還開始進軍醫療、航空航天、汽車和消費電子等領域。通過開發定制化解決方案和與行業領先企業合作,ACI成功地拓展了其市場份額,并在各個行業中樹立了良好的聲譽。
國際市場拓展: 除了在美國市場取得成功外,ACI還積極拓展國際市場。公司與全球各地的合作伙伴建立了穩固的合作關系,拓展了產品的銷售網絡。ACI的產品出口到歐洲、亞洲和其他地區,贏得了國際客戶的青睞和認可。通過不斷開拓國際市場,ACI進一步鞏固了其在全球溫度傳感器和控制器領域的領先地位。
持續創新和發展: 作為一家技術驅動型公司,ACI致力于持續創新和發展。公司不斷投入研發和技術改進,推出更加先進和高性能的產品。ACI的工程團隊不斷探索新的技術和解決方案,以滿足客戶日益增長的需求。通過不斷創新和發展,ACI得以在電子行業中保持競爭優勢,并為客戶提供更加可靠和高效的溫度控制解決方案。
近年來,隨著全球能源結構的調整和光伏產業的快速發展,市場競爭日益激烈。ANYSOLAR也面臨著來自同行的競爭壓力和成本上升的挑戰。為了應對這些變革和危機,ANYSOLAR積極調整戰略,優化生產流程,降低成本。
同時,公司還加大了對新興市場的開拓力度,通過參加國際展會、建立海外銷售渠道等方式,拓展新的業務增長點。這些措施有效緩解了公司的經營壓力,為公司的持續發展注入了新的活力。
隨著全球電子市場的不斷擴大,ACI公司開始將目光投向海外市場。公司積極實施國際化戰略,通過設立海外分支機構、參加國際展會等方式拓展市場。同時,ACI還加強了與國際同行的交流與合作,共同推動電子行業的發展。通過國際化布局,ACI成功打開了海外市場的大門,為公司的發展注入了新的動力。
Aerotronics Marketing Inc公司在市場定位上獨具慧眼,準確抓住了電子行業中無人機市場的增長趨勢。公司制定了一系列精準的營銷策略,包括線上線下推廣、行業展會展示、合作伙伴計劃等,有效提升了品牌知名度和市場占有率。同時,公司還注重客戶關系管理,通過提供優質的售后服務和技術支持,贏得了客戶的信任和忠誠。
隨著國內市場的逐步飽和,Aerotronics Marketing Inc公司積極尋求國際市場的拓展。公司通過參加國際電子展會、建立海外銷售網絡、開展國際貿易合作等方式,成功將產品打入國際市場。這一舉措不僅為公司帶來了更多的商機,還提升了公司的國際影響力,實現了跨越式發展。
在快速發展的同時,Aptina注重技術研發與專利布局。公司投入大量資源用于研發,不斷推出具有創新性的圖像傳感器產品。這些產品不僅提升了公司的市場競爭力,還為Aptina積累了大量的技術專利。這些專利成為了公司寶貴的資產,為公司的長期發展奠定了堅實基礎。
在synplify中,我使用attribute屬性進行某些D觸發器的定位,但是在綜合的過程中發現,帶使能控制的D觸發器全部都沒有按照我的約束進行定位,而不帶使能控制的D觸發器都可以按照我的約束進行。請問有哪位大俠遇見過這樣的問題? 等高手指導 ...… 查看全部問答∨ |
|
我用VC編寫了server端,在XP下運行, 用EVC編寫的client端,在WIN CE3。0下運行,采用TCP/IP模式 client端向server端發送字符串,server收到后向client返回一個字符串, server端接收和發送都沒有問題,client發送和接收也沒有問題,可client在 ...… 查看全部問答∨ |
|
先說問題吧···· 就是矩陣反轉掃描函數中的問題··· 源函數如下····· unsigned char KeyScan(void) //鍵盤掃描函數,使用行列反轉掃描法 { unsigned char cord_h,cord_l;//行列值中間變量 KeyPort=0x0f; ...… 查看全部問答∨ |
本帖最后由 洗澡哥 于 2014-7-12 20:31 編輯 對Raw-OS感興趣,希望能跟大家一起學習。 linux沒接觸過,看了些帖子,感覺比較復雜。。。 附Raw-OS論壇網址:http://bbs.eeworld.com.cn/forum-190-1.html 曬曬全家福: … 查看全部問答∨ |