你學習嵌入式linux時有哪些經典書籍讓你相見恨晚?
如題,並分享一下你學習該書籍的心得體會。
正在整理和翻譯 Linux 基金會下屬的消費電子基金會維護的 Embedded Linux Wiki(http://eLinux.org),這嚴格意義上來說不是一本書,而是一個資源合集和重度索引,是一個大而全的嵌入式 Linux 知識庫,內容收集來自全球各地。內容分門別類,條分縷析。
工作進展:
1,主體內容已經基本轉為 Gitbook,可以直接下載 pdf 版本到線下閱讀
2,中文翻譯工作正在有條不紊地推進,目前有將近 30 號人員參與翻譯或者校訂
熱烈歡迎更多有嵌入式Linux和英文背景的同學參與翻譯或者校訂。
項目計劃:http://tinylab.org/elinux
在線書籍:嵌入式 Linux 知識庫 (elinux.org) · GitBook
在一次未遂的面試中,似乎碰到陳正沖本人:面上嚴肅但是技術能力強,能夠善誘思維和問題考慮,感覺能夠考慮員工的不同發展; 特別感謝其本人,也同時錯失了向其學習的機會。(20171116)
________________1,補充:
感謝下面各位的評論,下文所說的文章為 @陳正沖 C語言深度剖析 感謝作者的分享。2,修改原文 全書不超過100p(應該在50-70左右),為全書100p左右
鏈接
-gufensoso.com!陳正沖+C語言深度剖析+3 添加另外兩本嵌入式 linux 驅動基本功相關的書 ldd lkd
~~~~~~~~~分割線~~~~~~~~~這個問題勾起了我的一個經歷,曾經在看ucos源碼時,找到了一個國內數學博士寫的關於指針的pdf,全書100p左右,按照他自己的說法是出版商想出版厚一點的書,他覺得多餘的東西沒有必要加進去,最後將pdf公開出來。每次有人問關於指針的問題,我都非常將其推薦出來,奈何自從那次中午看完之後,再也找不到了。可以理解的是 關於指針部分寫得非常透徹,全書絕對可以一氣呵成看完。先站位置,總會找到。~~~~~~~~7月29日更新~~~~~~~ 題目本來包含linux,前段時間還有一位做powerpc開發的作者推薦的lkd,ldd都是做linux嵌入式開發的基本功類的書,那些書對於概要理解linux全貌和行為(lkd)以及學習2.6x驅動的經典類書籍,當然也有相應的對應的中文書籍,內容大同小異,不過這種書就不要去看譯本了,你懂的。 最後推薦自己看過的兩本:(注意部分例子和一些函數可能已經更不上刷版本內核的節奏了,這就是為什麼上述作者推薦另外一本書的原因)1 linux kernel implementation(lkd3)
對應的中文書 xxxxx(回來補充) 2 linux device driver(ldd) 這個看過要用驅動對應的章節,全書沒有完全看完,不過值得推薦(英文版)說不上有多相見恨晚,不過在大量計算機類圖書作者都是欺世盜名的情況下,有那麼幾本靠譜的良心之作,已經夠讓人欣喜了。
順便說一下我的讀書觀或者技術學習觀:- 買書學習不要糾結可惜錢,糾結買哪本,差不多的可以都買來翻翻看看,一本書五六十而已,學會技術在身,能賺書價的許多倍
- 要先見森林後見樹木,先對一個技術有一個全面的大致的了解,再對感興趣的點深入學習和了解
- 見森林我覺得最好的途徑就是快速瀏覽一本全面介紹該技術的書,或者去書城翻閱相關的多本書,看完後也就有大概印象了,哪本好哪本差,各有什麼側重。
- 善用google
- 珍愛生命,遠離部分國內高校老師出的書 (不絕對,你懂我意思就行了)
我個人把嵌入式linux工作分為3大類:
- 構建部分:包括環境搭建,工具鏈製作,內核配置與編譯,rootfs編譯與製作,inittab 修改,Sxx 啟動腳本,等等
- 內核模塊、驅動部分:有一點硬體基礎比較好
- 應用部分:基本純軟體,邏輯部分可以在pc上模擬
下面推薦的書也是在這 3 類中各有針對,可以很容易判斷出來的。
1.Pro embedded linux system
這本書書名在國內被定為《Linux嵌入式系統高級程序設計》,其實講了產品開發的方方面面,看完會有一種全局觀,我不太會總結或者誇,反正看了不會後悔的,而且翻譯得也很到位書:Linux嵌入式系統高級程序設計
2. Embedded Linux Primer: A Practical Real-World Approach, Second Edition
中文名《嵌入式Linux基礎教程(第2版) (豆瓣)》這本也是全面介紹類的,和上面的差不多的感覺,有些點兩者詳略方面各有側重。圖靈選擇翻譯出版的書,基本靠譜。3.宋寶華老師代表作 Linux設備驅動開發詳解 (豆瓣)
宋老師在linux內核領域的研究與跟進,在國內能出其右的人不多。中國人當然更適合讀中國人寫的好的技術書。 這本書第 2 版電子版pdf已經由宋老師本人釋放出。據宋老師微博,好消息是這本書的第三版馬上就要出版了,linux內核更新很快,這一版做了大量更新。另推薦大家關注宋老師新浪微博,經常會分享一些內核研究成果在微盤。4.韋東山老師 嵌入式Linux應用開發完全手冊 (豆瓣)
韋東山老師是一線的工程師,他開發的工具和軟體讓很多行業內的人用起來很爽。他的書或許有不完善的地方,也不知道最近有沒有出新版,但絕對開卷有益,就沖他是技術一線的工程師。
5. ldd3
能有自己書名的簡稱的書,都是經典。這本書是以pc上開發linux驅動為例的,但也無妨。不過對於新近的內核來說可能有點過時了,所以還是等待宋寶華老師的第三版吧。6. 華清遠見的兩本嵌入式Linux系統開發標準教程嵌入式Linux應用程序開發標準教程 (豆瓣)華清遠見在嵌入式培訓界的地位不用說了,它出的書和培訓教材,是很實用的,非常適合入門。《Linux設備驅動開發詳解》
《嵌入式應用程序設計綜合教程》 格,同時也基於最新Linux內核和LDD6410平台進行了講解內容和案例的全面升級和更新,書中匯聚的大量Linux驅動開發的參考代碼和技術資料,相信對廣大的Linux開發人員和嵌入式工程師都具有非常重要的價值和意義。本書全面介紹了Linux設備驅動開發詳細內容,重點講解了驅動設計的硬體基礎、Linux內核及內核編程、Linux內核模塊、Linux文件系統與設備文件系統、字元設備驅動、Linux設備驅動中的並發控制等,內容豐富,實用易懂。
C語言入門書籍《嵌入式Linux C語言程序設計基礎教程》
嵌入式圖書《嵌入式Linux應用程序開發標準教程》 嵌入式圖書《嵌入式Linux應用程序開發標準教程》
《嵌入式技術基礎》
《ARM嵌入式體系結構與介面技術Cortex-A8版》
《嵌入式Linux操作系統》
《嵌入式Linux C語言開發》
《嵌入式應用程序設計》
《嵌入式應用程序設計綜合教程》
初學者,就是指聽過Linux的但是沒見過的,推薦《鳥哥的linux私房菜》
印象比較深刻的是《Linux內核設計與實現》短小精悍,通俗易懂,傾向於全局。後續又看了趙炯博士的《Linux內核完全剖析》寫的也不錯,脈絡清晰,也比較詳細。
那絕對是毛德操啊,看的酣暢淋漓的
Embedded Linux Primer: A Practical Real-World Approach (2nd Edition)
Making Embedded Systems: Design Patterns for Great Software
Linux Kernel Development (3rd Edition)
Embedded Firmware Solutions: Development Best Practices for the Internet of Things
Embedded Linux Projects Using Yocto Project Cookbook
把毛德操的linux情景分析讀懂,什麼都ok了
推薦閱讀:
※有自己的VPS伺服器可以用來做什麼有趣的事?
※Linux內核中許多晶元的驅動程序都已經存在,為何還要開發這些晶元的驅動?
※本人想從事嵌入式開發,求指點該怎麼一步一步打基礎?
※lvs 性能,轉發數據的理論極限?
※為什麼很多人喜歡把磁碟分多個區?