你學習嵌入式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 性能,轉發數據的理論極限?
為什麼很多人喜歡把磁碟分多個區?

TAG:Linux | 嵌入式系統 | 嵌入式軟體開發 |