《Linux裝置驅動開發詳解(第2版)》前言

2021-08-25 06:36:17 字數 2084 閱讀 8700

前 言

本書自第1版出版以來,在極短的時間裡就進入了暢銷版的前十,獲得了年度「十大原創經典」、「十大暢銷經典」等殊榮。在長達二年半的時間裡,本書始終保持在銷售排行榜的前列。在此,筆者要向廣大讀者的支援和厚愛表示最真摯地感謝!但是,本書自從出版後,也暴露了一些問題,主要體現在:

1.沒有現成的開發環境,讀者需要從頭到尾構建,而構建需要花費很長的時間,許多時候會不成功,加之配套光碟中的例項沒有makefile,更加重了操作的難度;

2.沒有配套的開發板,大量的基於s3c2410的例項找不到可以直接執行的平台,因此讀者無法親身體驗這些驅動;

3.一些內容並不實用或陳舊,也有一些知識點的講解語言晦澀,讀者難以理解,典型如platform驅動等;

4.一些知識點並不完整,如input驅動、usb udc和gadget驅動、spi驅動、asoc驅動等。

有鑑於此,筆者對全書超過40%的篇幅進行了改動。這些改動,一些是對過時內容的刪除,一些是對講解不清知識點的修正,一些是對重點內容的增強,一些則是有用知識點的增加,其目的是要向讀者提供一套更加準確和完整的全方位、立體式linux裝置驅動學習平台。第2版相對第1版的主要改動有:

1.直接提供virtualbox虛擬機器,該虛擬機器上已包含了書中所需開發環境和源**,讀者不再需要安裝環境即可進行試驗,書中詳細介紹了各個試驗的步驟;

2.提供了專門的配套學習板——基於三星s3c6410 soc的ldd6410(linux device drivers 6410),使得書中的各種真實裝置驅動例項都找了試驗的依託;

3.全面公升級核心至linux 2.6.28.6,根據linux核心api的變更情況更新了書中的所有內容,典型如i2c驅動的體系結構、網路napi的介面等,並對delayed_work等較新的核心機制進行了介紹;

4.刪除了大量過時的內容,如redhat linux 2.4核心更新到2.6、傳統的按鍵驅動、saa7113h啟動、傳統的ide驅動等,同時新增了大量內容,包括linux核心的編碼風格、linux核心的移植、android驅動、usb udc和gadget驅動、alsa soc驅動、input驅動、spi驅動、基於sysfs的裝置驅動、linux裝置驅動的韌體載入、linux效能調優工具、linux裝置驅動的電源管理、linux驅動的分層設計思想、主機驅動與裝置驅動分離設計思想等;

5.在塊裝置驅動方面,刪除了ramdisk驅動例項,而新增了更加簡單易懂的vmem_disk驅動,類似於globalmem和globalfifo;

6.對許多關鍵知識點的講解進行了語言上的調整和內容方面的增強,以便讀者能更好的理解,譬如以專門章節講解platform驅動等。

第1章主要講解裝置驅動的作用,並從無作業系統的裝置驅動引出了linux作業系統下的裝置驅動以及全書所用試驗環境的安裝方法。

第2章系統地講解了乙個linux驅動工程師應該掌握的硬體知識,使讀者打下linux裝置驅動開發的硬體基礎。本章涵蓋了各種型別的cpu、儲存器和常見的外設,並講解了硬體時序分析方法和儀器使用方法。

第3章將linux裝置驅動放在linux 2.6核心背景中進行講解,說明linux核心的基本原理和程式設計方法,為編寫linux裝置驅動打下軟體基礎。

第4、5章分別講解linux核心模組和linux裝置檔案系統。

第6~9章以虛擬裝置globalmem和globalfifo為主線講解了字元裝置驅動的編寫方法,各章還講解了併發控制、阻塞與非阻塞、非同步i/o等高階控制功能。

第10、11章分別講解linux驅動程式設計中所涉及的中斷和定時器,核心和i/o操作處理方法。

globalmem和globalfifo驅動與真實專案中看到的驅動有一些不同,第12章詳細講解linux裝置驅動的工程化問題,讓讀者看到真實的驅動要考慮的諸多問題。

第22章講解了linux裝置驅動的開發環境構建以及借助printk、oops、/proc、strace、**器進行驅動除錯的方法,最後也介紹了linux的效能調優工具。

第23章講解了開發可移植驅動程式以及借助晶元範例程式、demo板驅動和其他作業系統驅動等現成**進行linux驅動快速移植的方法,最後也介紹了如何在一塊新的soc和電路板上構建linux。

最後,再次對廣大讀者以及所有為本書提出過寶貴意見、為本書的誕生奉獻過力量的人們,表示最誠摯的謝意!歡迎讀者朋友繼續通過本書專用**與作者和編輯團隊進行交流。

2023年6月

《Linux裝置驅動開發詳解(第2版)》前言

前 言 本書自第1版出版以來,在極短的時間裡就進入了暢銷版的前十,獲得了年度 十大原創經典 十大暢銷經典 等殊榮。在長達二年半的時間裡,本書始終保持在銷售排行榜的前列。在此,筆者要向廣大讀者的支援和厚愛表示最真摯地感謝!但是,本書自從出版後,也暴露了一些問題,主要體現在 1.沒有現成的開發環境,讀者...

《Linux 裝置驅動開發詳解(第2版)》 導讀

前言 本書第1版在2008年初出版以後,受到廣大讀者的支援和厚愛,累計銷售1.6萬冊,從幾年的市場和讀者反饋看,在第1版中還存在一些不足,主要是以下幾方面。沒有現成的開發環境,讀者需要從頭到尾構建,而構建需要花費很長的時間,許多時候會不成功,加之配套光碟中的例項沒有makefile,更加大了操作的難...

分享《Linux裝置驅動開發詳解》第2版高畫質電子版

linux裝置驅動開發詳解 第3版擬變更內容 公升級為linux 3.6核心,qemu模擬4核cortex a9 smp 全面剖析device tree,3.6新的bsp架構 驅動和u boot變更 增加cpufreq,cpuidle,regulator,battery等dvfs相關的驅動 介紹ar...