發表於2024-12-29
書[0名0]: | Linux設備驅動開發詳解:基於新的Linux 4.0內核|4733972 |
圖書定價: | 89元 |
圖書作者: | 宋寶華 |
齣版社: | 機械工業齣版社 |
齣版日期: | 2015/8/1 0:00:00 |
ISBN號: | 9787111507895 |
開本: | 16開 |
頁數: | 618 |
版次: | 1-1 |
作者簡介 |
宋寶華 Linux布道者,[0知0][0名0]嵌入式係統專傢,《Essential Linux Device Drivers》譯者。作為早從事Linux內核與設備驅動研究的專傢之一,他在眾多[0國0]內外[0知0][0名0]企業開展Linux技術培訓。他也是一位活躍的Linux開發者和深度實踐者,為Linux官方內核貢獻瞭[0大0]量的Linux源碼並承擔代碼審核工作。至今已嚮Linux官方內核提交逾數萬行代碼和幾百個補丁。他的《Linux設備驅動開發詳解》係列書在嵌入式Linux開發者中有口皆碑,是眾多Linux書籍中為數不多的[0暢0]銷書。 |
內容簡介 |
對於嵌入式工程師來說,進入更高階段後,[0學0]習Linux設備驅動開發無疑就是職業生涯的一次“重生”。這是因為Linux設備驅動開發不僅僅涉及操作係統的轉換,開發方式的轉換,更重要的是思維上的轉變。對於Linux這樣一個復雜係統,如何從復雜的代碼中抓住設備驅動開發的關鍵是任何一個Linux設備驅動開發者入門時需要麵對的挑戰。除瞭[0知0]識、工具之外,往往還需要思路上的指導。本書不但幫助Linux設備驅動開發的初[0學0]者厘清必要的概念,還從具體的實例、設備驅動開發的指導原則循序漸進地引導讀者漸入[0學0]習佳境。為瞭讓讀者能夠達到Linux設備驅動開發的至臻境界,作者更是從軟件工程的角度抽象齣設備驅動開發的一般思想。毫無疑問,本書將成為讀者[0學0]習Linux設備驅動開發過程中的一座“燈塔”。 |
目錄 |
贊譽 推薦序一 推薦序二 前言 [0第0]1章 Linux設備驅動概述及開發環境構建 1 1.1 設備驅動的作用 1 1.2 無操作係統時的設備驅動 2 1.3 有操作係統時的設備驅動 4 1.4 Linux設備驅動 5 1.4.1 設備的分類及特點 5 1.4.2 Linux設備驅動與整個軟硬件係統的關係 6 1.4.3 Linux設備驅動的重點、難點 7 1.5 Linux設備驅動的開發環境構建 8 1.5.1 PC上的Linux環境 8 1.5.2 QEMU實驗平颱 11 1.5.3 源代碼閱讀和編輯 13 1.6 設備驅動Hello World:LED驅動 15 1.6.1 無操作係統時的LED驅動 15 1.6.2 Linux下的LED驅動 15 [0第0]2章 驅動設計的硬件基礎 20 2.1 處理器 20 2.1.1 通用處理器 20 2.1.2 數字信號處理器 22 2.2 存儲器 24 2.3 接口與總綫 28 2.3.1 串口 28 2.3.2 I2C 29 2.3.3 SPI 30 2.3.4 USB 31 2.3.5 以太網接口 33 2.3.6 PCI和PCI-E 34 2.3.7 SD和SDIO 36 2.4 CPLD和FPGA 37 2.5 原理圖分析 40 2.6 硬件時序分析 42 2.6.1 時序分析的概念 42 2.6.2 典型的硬件時序 43 2.7 芯片數據手冊閱讀方[0法0] 44 2.8 儀器儀錶使用 47 2.8.1 萬用錶 47 2.8.2 示波器 47 2.8.3 邏輯分析儀 49 2.9 總結 51 [0第0]3章 Linux內核及內核編程 52 3.1 Linux內核的發展與演變 52 3.2 Linux 2.6後的內核特點 56 3.3 Linux內核的組成 59 3.3.1 Linux內核源代碼的目錄結構 59 3.3.2 Linux內核的組成部分 60 3.3.3 Linux內核空間與用戶空間 64 3.4 Linux內核的編譯及加載 64 3.4.1 Linux內核的編譯 64 3.4.2 Kconfig和Makefile 66 3.4.3 Linux內核的引導 74 3.5 Linux下的C編程特點 75 3.5.1 Linux編碼風格 75 3.5.2 GNU C與ANSI C 78 3.5.3 do { } while(0) 語句 83 3.5.4 goto語句 85 3.6 工具鏈 85 3.7 實驗室建設 88 3.8 串口工具 89 3.9 總結 91 [0第0]4章 Linux內核模塊 92 4.1 Linux內核模塊簡介 92 4.2 Linux內核模塊程序結構 95 4.3 模塊加載函數 95 4.4 模塊卸載函數 97 4.5 模塊參數 97 4.6 導齣符號 99 4.7 模塊聲明與描述 100 4.8 模塊的使用計數 100 4.9 模塊的編譯 101 4.10 使用模塊“繞開”GPL 102 4.11 總結 103 [0第0]5章 Linux文件係統與設備文件 104 5.1 Linux文件操作 104 5.1.1 文件操作係統調用 104 5.1.2 C庫文件操作 108 5.2 Linux文件係統 109 5.2.1 Linux文件係統目錄結構 109 5.2.2 Linux文件係統與設備驅動 110 5.3 devfs 114 5.4 udev用戶空間設備管理 116 5.4.1 udev與devfs的區彆 116 5.4.2 sysfs文件係統與Linux設備模型 119 5.4.3 udev的組成 128 5.4.4 udev規則文件 129 5.5 總結 133 [0第0]6章 字符設備驅動 134 6.1 Linux字符設備驅動結構 134 6.1.1 cdev結構體 134 6.1.2 分配和釋放設備號 136 6.1.3 file_operations結構體 136 6.1.4 Linux字符設備驅動的組成 138 6.2 globalmem虛擬設備實例描述 142 6.3 globalmem設備驅動 142 6.3.1 頭文件、宏及設備結構體 142 6.3.2 加載與卸載設備驅動 143 6.3.3 讀寫函數 144 6.3.4 seek函數 146 6.3.5 ioctl函數 146 6.3.6 使用文件私有數據 148 6.4 globalmem驅動在用戶空間中的驗證 156 6.5 總結 157 [0第0]7章 Linux設備驅動中的並發控製 158 7.1 並發與競態 158 7.2 編譯亂序和執行亂序 160 7.3 中斷屏蔽 165 7.4 原子操作 166 7.4.1 整型原子操作 167 7.4.2 位原子操作 168 7.5 自鏇鎖 169 7.5.1 自鏇鎖的使用 169 7.5.2 讀寫自鏇鎖 173 7.5.3 順序鎖 174 7.5.4 讀-復製-更新 176 7.6 信號量 181 7.7 互斥體 183 7.8 完成量 184 7.9 增加並發控製後的globalmem的設備驅動 185 7.10 總結 188 [0第0]8章 Linux設備驅動中的阻塞與非阻塞I/O 189 8.1 阻塞與非阻塞I/O 189 8.1.1 等待隊列 191 8.1.2 支持阻塞操作的globalfifo設備驅動 194 8.1.3 在用戶空間驗證globalfifo的讀寫 198 8.2 輪詢操作 198 8.2.1 輪詢的概念與作用 198 8.2.2 應用程序中的輪詢編程 199 8.2.3 設備驅動中的輪詢編程 201 8.3 支持輪詢操作的globalfifo驅動 202 8.3.1 在globalfifo驅動中增加輪詢操作 202 8.3.2 在用戶空間中驗證globalfifo設備的輪詢 203 8.4 總結 205 [0第0]9章 Linux設備驅動中的異步通[0知0]與異步I/O 206 9.1 異步通[0知0]的概念與作用 206 9.2 Linux異步通[0知0]編程 207 9.2.1 Linux信號 207 9.2.2 信號的接收 208 9.2.3 信號的釋放 210 9.3 支持異步通[0知0]的globalfifo驅動 212 9.3.1 在globalfifo驅動中增加異步通[0知0] 212 9.3.2 在用戶空間中驗證globalfifo的異步通[0知0] 214 9.4 Linux異步I/O 215 9.4.1 AIO概念與GNU C庫AIO 215 9.4.2 Linux內核AIO與libaio 219 9.4.3 AIO與設備驅動 222 9.5 總結 223 [0第0]10章 中斷與時鍾 224 10.1 中斷與定時器 224 10.2 Linux中斷處理程序架構 227 10.3 Linux中斷編程 228 10.3.1 申請和釋放中斷 228 10.3.2 使能和屏蔽中斷 230 10.3.3 底半部機製 230 10.3.4 實例:GPIO按鍵的中斷 235 10.4 中斷共享 237 10.5 內核定時器 238 10.5.1 內核定時器編程 238 10.5.2 內核中延遲的工作delayed_work 242 10.5.3 實例:秒字符設備 243 10.6 內核延時 247 10.6.1 短延遲 247 10.6.2 長延遲 248 10.6.3 睡著延遲 248 10.7 總結 250 [0第0]11章 內存與I/O訪問 251 11.1 CPU與內存、I/O 251 11.1.1 內存空間與I/O空間 251 11.1.2 內存管理單元 252 11.2 Linux內存管理 256 11.3 內存存取 261 11.3.1 用戶空間內存動態申請 261 11.3.2 內核空間內存動態申請 262 11.4 設備I/O端口和I/O內存的訪問 267 11.4.1 Linux I/O端口和I/O內存訪問接口 267 11.4.2 申請與釋放設備的I/O端口和I/O內存 268 11.4.3 設備I/O端口和I/O內存訪問流程 269 11.4.4 將設備地址映射到用戶空間 270 11.5 I/O內存靜態映射 276 11.6 DMA 277 11.6.1 DMA與Cache一緻性 278 11.6.2 Linux下的DMA編程 279 11.7 總結 285 [0第0]12章 Linux設備驅動的軟件架構思想 286 12.1 Linux驅動的軟件架構 286 12.2 platform設備驅動 290 12.2.1 platform總綫、設備與驅動 290 12.2.2 將globalfifo作為platform設備 293 12.2.3 platform設備資源和數據 295 12.3 設備驅動的分層思想 299 12.3.1 設備驅動核心層和例化 299 12.3.2 輸入設備驅動 301 12.3.3 RTC設備驅動 306 12.3.4 Framebuffer設備驅動 309 12.3.5 終端設備驅動 311 12.3.6 misc設備驅動 316 12.3.7 驅動核心層 321 12.4 主機驅動與外設驅動分離的設計思想 321 12.4.1 主機驅動與外設驅動分離 321 12.4.2 Linux SPI主機和設備驅動 322 12.5 總結 330 [0第0]13章 Linux塊設備驅動 331 13.1 塊設備的I/O操作特點 331 13.2 Linux塊設備驅動結構 332 13.2.1 block_device_operations結構體 332 13.2.2 gendisk結構體 334 13.2.3 bio、request和request_queue 335 13.2.4 I/O調度器 339 13.3 Linux塊設備驅動的初始化 340 13.4 塊設備的打開與釋放 342 13.5 塊設備驅動的ioctl函數 342 13.6 塊 Linux設備驅動開發詳解:基於新的Linux 4.0內核 計算機與互聯…|4733972 下載 mobi epub pdf txt 電子書 格式 Linux設備驅動開發詳解:基於新的Linux 4.0內核 計算機與互聯…|4733972 mobi 下載 pdf 下載 pub 下載 txt 電子書 下載 2024Linux設備驅動開發詳解:基於新的Linux 4.0內核 計算機與互聯…|4733972 下載 mobi pdf epub txt 電子書 格式 2024 Linux設備驅動開發詳解:基於新的Linux 4.0內核 計算機與互聯…|4733972 下載 mobi epub pdf 電子書用戶評價
評分
包裝精緻,正品,非常喜歡? 評分好書,不多說,點個贊 評分第一版的錯誤多。建議買第二版的 評分好書,不多說,點個贊 評分還沒看,書看著不錯 評分還沒看,書看著不錯 評分書可能沒有經過嚴謹審核,發現多處錯誤 評分第一版的錯誤多。建議買第二版的 評分不錯,Linux學習的一本好書
類似圖書 點擊查看全場最低價
Linux設備驅動開發詳解:基於新的Linux 4.0內核 計算機與互聯…|4733972 mobi epub pdf txt 電子書 格式下載 2024 分享鏈接相關圖書
|