linux設備驅動宋寶華
1. linux驅動開發insmod hello.ko失敗
你好,記得當初也被這個問題困惑了,kernel mole 的insmod 的時候是需要版本驗證的(也可以使用方法繞過版本驗證)。你可以看看他到底是怎麼個版本驗證法,加深你的學習。
現在看看你的問題,你下載的kerne 是2.30.4的,在make的時候kernel_dir 指定也是這個。那編譯出來的mole 肯定也是也是2.30.4的版本了,然後你想把這個mole insmod 到的你pc linux 系統,那就肯定不行了。
1. 你可以用的linux系統內核來編譯你的hello 模塊。
2. 先寫個makefile:
obj-m:= hello.o
3. 然後 make -C /lib/moles/$(shell uname -r )/build M=`pwd` moles
4.編譯好了再insmode. 就能成功了。但是還要看的printk 的等級了,可能你還需要dmesg才能看道你的模塊的操作
5. 然後你可以把上面的過程集成道一個makefile里,直接在當前目錄make 就好了。
提醒下,假如你是用自己的系統作這些實驗,要當心點,有的mole可能會讓你的系統出現oops。
所以建議你安裝個虛擬機玩,或者真正要學的話,直接買個板子最好了。
最後看你下載了linux 2.30.4?是不是應該是2.6.30.4? 然後你的開發板是也是這個kernel?假如你是用板子,你現在可以把剛編好的模塊,push 到板子,在insmod就好了。
2. 有誰知道《Linux設備驅動開發詳解》作者宋寶華的背景
宋寶華我知道啊,華清遠見的老師,我以前在華清培訓的時候接觸過
3. 《Linux設備驅動開發詳解基於最新的Linux4.0內核》pdf下載在線閱讀,求百度網盤雲資源
《Linux設備驅動開發詳解》(宋寶華)電子書網盤下載免費在線閱讀
資源鏈接:
鏈接:https://pan..com/s/1ddjTHycqTk3yYQDr-raoKw
書名:Linux設備驅動開發詳解
作者:宋寶華
豆瓣評分:6.5
出版社:機械工業出版社
出版年份:2015-8
頁數:618
內容簡介:
對於嵌入式工程師來說,進入更高階段後,學習Linux設備驅動開發無疑就是職業生涯的一次「重生」。這是因為Linux設備驅動開發不僅僅涉及操作系統的轉換,開發方式的轉換,更重要的是思維上的轉變。對於Linux這樣一個復雜系統,如何從復雜的代碼中抓住設備驅動開發的關鍵是任何一個Linux設備驅動開發者入門時需要面對的挑戰。除了知識、工具之外,往往還需要思路上的指導。本書不但幫助Linux設備驅動開發的初學者釐清必要的概念,還從具體的實例、設備驅動開發的指導原則循序漸進地引導讀者漸入學習佳境。為了讓讀者能夠達到Linux設備驅動開發的至臻境界,作者更是從軟體工程的角度抽象出設備驅動開發的一般思想。毫無疑問,本書將成為讀者學習Linux設備驅動開發過程中的一座「燈塔」。
作者簡介:
宋寶華,
Linux佈道者,知名嵌入式系統專家,《Essential Linux Device Drivers》譯者。作為最早從事Linux內核與設備驅動研究的專家之一,他在眾多國內外知名企業開展Linux技術培訓。他也是一位活躍的Linux開發者和深度實踐者,為Linux官方內核貢獻了大量的Linux源碼並承擔代碼審核工作。至今已向Linux官方內核提交逾數萬行代碼和幾百個補丁。他的《Linux設備驅動開發詳解》系列書在嵌入式Linux開發者中有口皆碑,是眾多Linux書籍中為數不多的暢銷書。
4. linux初學者應該看些什麼書啊以前沒有接觸過!
一般會給你推介《linux就該這么學》或者《鳥哥的Linux私房菜》
5. 學習linux系統,看那幾本書比較好
《鳥哥的Linux私房菜 基礎學習篇(第三版)》,鳥哥著
一本大而全的LINUX入門指點,主要講解Linux一些命令,Linux的實際操作及Linux基礎理論。很適合Linux初學者學習。
《嵌入式 Linux 應用開發完全手冊》,韋東山著
這本書綜合了常見的嵌入式開發經驗技巧,以及常見的嵌入式系統應用,系統移植,調試及異常處理等,內容非常豐富,是中文 Linux 領域難得的一本好書。嵌入式處理器種類繁多,韋老師著重講了目前國內最常用的ARM系統,實用性很強,是國內嵌入式程序員不容錯過的一本工具書。
《UNIX環境高級編程》(第2版),史蒂文斯著
《UNIX環境高級編程》是 Unix/ Linux 程序員案頭必備的一本書籍。可以說,Linux 程序員如果沒有讀過這本書,就好像基督教徒沒有讀過聖經一樣,是很難讓人理解的。這本書概括了 Linux 編程所需的一切理論框架、主要系統函數、多進程編程、乃至 Linux 網路通信。
《Linux設備驅動開發詳解:基於最新的Linux 4.0內核》,宋寶華著
隨著通信、電子行業的迅速發展,全世界每天都會生產大量晶元,設計大量新電路板,也因此,會有大量設備驅動需要開發。本書主要對驅動編程所涉及Linux內核最底層機理的講解。也是即Linux設備驅動開發詳解第二版暢銷後,作者又進行第三版的編著。
《Linux 設備驅動程序》,科波特著
《LINUX設備驅動程序》就是網上說的「LDD」,經典之作,必備書籍。國產經典《Linux驅動詳細解》也是一本非常不錯的書,很實用,書中源代碼分析比較多,基於2440的,對linux外圍驅動有很全面的講解。
《深入理解 Linux 內核》(第三版) ,博韋等著
學習 Linux ,就要學習 Linux 的精華。而 Linux 的精華,則在於 Linux 的內核。本書以 Linux 2.6 版架構為基礎,分門別類地向初學者介紹了 Linux 內核的架構、編程思想、以及功能模塊。在本書的指導下學習,對於你讀懂 Linux 操作系統的精華部分,會取得事半功倍的效果。
-------------------
學習linux shell 下的編程有什麼用?
我是剛開始學linux的,現在開始學了一些shell下的編程,是比較初步的,覺得不是很難,但是不知道學了到底能在那些方面運用?有誰能給指點一下
工作或者讀書等)需要學習linux的人,需要系統的學習一下,最好有一本好的書來學習。
linux是世界各地的黑客們寫出來的開源系統,對於熱愛學習計算機技術(演算法、數據結構、編程、操作系統……)的人來說,linux是一個天堂。
我個人就是完全因為興趣而搗鼓linux,和工作不沾邊。
有幾種不同的學習:
a)使用->需要學習linux的一些歷史、各種命令、桌面的操作、shell的知識
b)編程->學習linux的介面
c)系統管理->學習一些管理員需要掌握的命令
d)內核、源碼->先要學好操作系統原理,然後慢慢鑽研。
linux是一個很奇怪的東西,因為你知道的越多,你的問題就越多。
如果你將來用的上,那麼學習linux自然有用。
如果用不上,學習linux的作用在於折騰你的精力、開拓你的思維、視野、提高自學能力。從你付出的機會成本的角度來說,學習linux不合算,因為你應該把有限的時間用來學習對你更重要的東西,而不是不沾邊的linux。
除非把linux當作一種愛好。所謂「衣帶漸寬終不悔,為伊消得人憔悴」。自然是另一番感受。
當你用shell編寫個自己能用上的腳本 你就知道有用拉
而且還老有成就感拉
比如你需要搜索全盤文件,把大寫名字改為小寫,這樣的程序用幾行shell就能寫,但是無論C還是其它語言都非常麻煩,手工修改就更麻煩。
明白shell程序設計的用處嗎,任何一種語言都有他自己的適用領域
-------------------
linux shell 學習
分類:讀書筆記
首先恭喜你,看了這個文章,推薦兩本書,Linux shell 腳本攻略, shell腳本學習指南 ^_^ 。
shell腳本學習指南大概很多人都看過,但是看完之後對於shell能幹什麼,可能並不十分清楚,而linux shell 腳本攻略則以一個個任務的形式,用腳本解決。 而且有詳細的解釋。相當於cookbook。包含了各個方面,基礎的,網路的,系統管理的。但是對於基礎知識的介紹,可能需要讀者查看相關書籍,所以shell腳本學習指南可以拿來翻翻。
以下是個人的一點粗淺認識,不一定對。
關於shell
lilnux與windows不同之處在於提供了很多工具。而且多個命令之間用管道|連接,可以實現一系列任務,這在windows應用程序界限很明顯的地方是很難實現的。
linux的shell提供了很多工具。工具就相當於函數,但是與我們編程語言的函數不同在於,並不需要寫一個入口函數來調用它,而多個工具可以一起使用。
find,sed,awk,grep等命令都可以稱為工具。
find 查找
grep 也是查找
sed 可以實現一些替換等
awk 相當與編程語言,在awk ' '包含裡面進行簡單編碼,實現相應的功能
還有很多工具,具體要查看書籍。
而一行一行的命令不適合批處理,不適應管理自動化。所以需要腳本。
腳本就是把一堆命令寫在一起。在#!/bin/bash 指明這是個腳本。具體參見書籍。
關於linux shell 腳本攻略
前面幾章介紹基礎知識,以及應用。後面的對於網路的操作,引入了curl,wget,利用了服務提供商的rss feed。其它的與前面的編程一樣,都是文本替換啥的。(這里顯示出shell的好用之處,不必專門寫一個程序來操作,不用自己寫很多函數,且多個操作結合方便,靈活)。後面介紹了歸檔,壓縮,加密工具。最後兩章是一些系統運維的知識,查看系統磁碟狀態,查看進程使用cpu的情況等等。要用的時候細看。
看了很久了,有點忘記了,以後看書,再詳細記錄一些知識點。現在都忘光了。提供一個方向罷。
p130 pattern 用於匹配字元串
\1 代表匹配到的第一個子串 後向引用
對結果進行分組,利於後向引用
p26 使用反引用或者$()來存儲命令,如cmd_output =$(ls | cat -n) 或者 cmd_output=`ls | cat -n`
6. 如何寫linux設備驅動以及調試驅動
寫Linux驅動是一件非常富有挑戰的工作,需要有良好的硬體和軟體基礎,建議你看看宋寶華寫的<Linux 設備驅動詳解>和老外寫的<Linux設備驅動程序>,這兩本書非常好,datasheet不用都看,具體做那個模塊就看那個模塊,而且datasheet一般是用到的時候找相應的部分去查,千萬不要上來從頭到尾看,最後你什麼也記不住.
7. 請教:linux驅動編寫流程,疑惑不止一點點哦!
你至少要先學習Linux的應用程序,然後再學習驅動程序才好,不會用驅動也不會寫好。
1、不需要去掉所有的驅動,你把你要寫的編譯成mole就可以了,當然必須要讓kernel支持mole。當然mole的寫法自己慢慢琢磨吧。
2、Linux工程師是一個龐大隊伍通稱,就好像計算機工程師做什麼一樣,不好回答。僅我接觸的一個Linux為主的項目就有10萬人參與,代碼編寫幾年,這么大的團隊,你常見的計算機類的職業都有了。
3、每一個設備,小到中斷控制器、計數器、定時器,大到CPU(體系結構)驅動、甚至虛擬文件系統(不是VFS,主要是類似集群文件系統,但是毫無疑問文件系統驅動也都比較龐大)等。
8. linux 驅動開發入門書籍哪本好 求推薦 !
入門可以看看宋寶華的《linux設備驅動開發詳解 宋寶華版》,實例較多