新書推薦:
《
战国竹书复原综论
》
售價:NT$
449.0
《
走出内心的深渊:快节奏人群心理疾病与健康指南(原书第3版)
》
售價:NT$
352.0
《
趋势跟踪: 汤姆·巴索的交易谋略
》
售價:NT$
352.0
《
滚滚红尘(《滚滚红尘》电影原著)
》
售價:NT$
250.0
《
罗马之变(法语直译,再现罗马共和国走向罗马帝国的辉煌历史)
》
售價:NT$
500.0
《
自然之争:1600年以来苏格兰和英格兰北部地区的环境史(新史学译丛)
》
售價:NT$
485.0
《
硝烟下的博弈:工业革命与中西方战争
》
售價:NT$
398.0
《
让内的理性主义 发现无意识之旅
》
售價:NT$
301.0
|
內容簡介: |
嵌入式Linux在各行各業中已被廣泛應用,在物聯網、通訊企業、航太、消費電子、汽車電子等企業中,都急需掌握嵌入式Linux軟體開發的研發人員。
本書特色:
◎第一線研發實戰經驗累積,所有技巧及說明使用的工具都可以接應用到實際開發工作中。
◎採用範本的方式對分散的各種驅動程式基礎知識說明,所有範都可以直接參考。
◎對每個基礎知識都提供實際案例,從模組的原理介紹,到系統次的分析,圖文並茂,力求分析透徹。
◎提供大量的驅動程式,可以快速應用在實際開發中,讀者可直執行偵錯。
適合:從實用的角度對嵌入式Linux驅動設計開發做深入介紹,可供嵌入式Linux開發者,或大專院校、教育訓練中心等相關專業的師生參考使用。
書附內容:官網提供書附程式下載
|
目錄:
|
前言
Chapter01 驅動程式總論
1.1總論
1.1.1驅動程式在核心中的比例
1.1.2驅動程式開發需要具備的能力
1.1.3驅動程式開發特別注意的內容
1.2驅動程式理論與思想
1.2.1分類思想
1.2.2分層思想
1.2.3分離思想
1.2.4匯流排思想
Chapter02 核心程式設計及基礎知識
2.1核心執行緒
2.2核心計時器2.3鏈結串列
2.4記憶體操作
2.5IO通訊埠
2.6核心相關巨集
2.7核心態檔案操作
2.8核心通知鏈2.1.2啟動MariaDB服務
Chapter03 模組與常用字元裝置方法
3.1Linux驅動程式
3.2核心驅動程式模組剖析
3.2.1核心模組
3.2.2模組工具集
3.2.3模組檔案結構分析
3.2.4核心管理
3.2.5Modutils工具套件及Module-init-tools移植
3.2.6符號
3.2.7驅動程式模組之間的依賴
3.2.8模組編譯流程細節
3.2.9模組撰寫
3.3巨觀分析Linux驅動程式
3.4裝置檔案
3.5裝置管理系統
3.5.1自動建立和管理裝置檔案揭秘
3.5.2devfs、mdev和udev
3.5.3udev基本原理與流程
3.5.4熱抽換與冷抽換
3.5.5class
3.6字元裝置驅動程式
3.6.1原始方式
3.6.2靜態設定裝置編號方式
3.6.3使用udev工具自動產生裝置檔案方式
3.6.4簡潔型字元裝置驅動程式——misc字元裝置驅動程式方式
3.7裝置操作方法file_operations
3.7.1ioctl和unlocked_ioctl操作
3.7.2readwrite裝置方法
3.7.3llseek裝置方法
3.7.4mmap裝置方法
3.7.5利用mmap在應用層實現硬體操作
Chapter04 同步和互斥
4.1概述
4.2基本概念
4.3互斥和同步機制
4.4互斥
4.4.1隱藏中斷
4.4.2最小操作
4.4.3迴旋栓鎖
4.4.4號誌
4.4.5迴旋栓鎖與號誌
4.4.6互斥體:專用於互斥
4.5同步Chapter
Chapter05 中斷系統
5.1中斷概述
5.2基本概念
5.3中斷原理及使用注意事項
5.4中斷介面函數
5.4.1中斷申請和釋放
5.4.2中斷共用
5.4.3中斷範例之一:按鍵中斷
5.4.4中斷範例之二:AD轉換驅動程式
5.5底半部:tasklet、工作佇列
5.6時間管理
Chapter06 裝置進階特性
6.1字元裝置file_operations的進階特性
6.2Linux裝置驅動程式的IO模型
6.2.1同步阻塞IO
6.2.2同步非阻塞IO
6.2.3非同步阻塞IO
6.2.4非同步非阻塞IO
6.2.5非同步通知
6.2.6同步阻塞型IO的實現:建立在等待佇列的基礎上
6.2.7非同步阻塞型IO的實現:基於poll系統呼叫操作介面函數
6.3裝置多工
Chapter07 進階類型驅動程式
7.1misc類型驅動程式
7.1.1概述
7.1.2結構與流程分析
7.1.3關於裝置節點的建立
7.2input類型驅動程式
7.2.1input驅動程式概述
7.2.2三個主要結構
7.2.3Input驅動程式步驟
7.3觸控式螢幕驅動程式
7.4I2C驅動程式
7.4.1I2C匯流排界面
7.4.2I2C核心驅動程式層及相關檔案分析
7.4.3重要的資料結構及相關聯繫
7.4.4流程分析
7.4.5i2c-tools
7.5區塊裝置驅動程式
7.5.1區塊裝置驅動程式分析
7.5.2製作一個區塊裝置實例:RamDisk驅動程式7.3刪除索引
Chapter08 虛擬檔案系統
8.1核心線上視窗——虛擬檔案系統
8.2proc檔案系統
8.2.1目錄介紹
8.2.2建立目錄與檔案
8.2.3相關應用
8.3sys檔案系統
8.3.1sys檔案系統概述
8.3.2sys檔案目錄
8.3.3sys檔案系統介面函數與建立資料夾範本
Chapter09 裝置驅動程式模型
9.1裝置驅動程式模型概述
9.2sys檔案系統與裝置驅動程式模型
9.3認識裝置驅動程式模型
9.4兩大基礎kobject和kset
9.4.1核心物件kobject
9.4.2另外一個基礎kset
9.5subsystem
9.6三角關係核心——匯流排、裝置、驅動程式
9.6.1匯流排
9.6.2裝置
9.6.3驅動程式
9.7platform匯流排
9.8serio匯流排
9.8.1serio子系統介紹
9.8.2serio子系統架構
9.8.3主要資料結構
Chapter10 嵌入式Linux檔案系統
10.1檔案系統介紹
10.2建立最簡單的root檔案系統
10.3YAFFS檔案系統移植
10.4JFFS2檔案系統製作
10.5ramdisk檔案系統製作
10.6cramfs檔案系統製作
Chapter11 開發與校正技巧
11.1vim使用
11.2工具使用
11.3printk使用技巧
11.4使用proc線上開啟列印開關
11.5例外Exception當機oops處理
11.6動態修改模組參數
11.7使用devmem2操作實體位址
11.8時間測量
11.9善於使用開放原始碼專案
Chapter12 底層驅動程式規劃與管理探索
12.1底層驅動程式規劃探索
12.1.1設計理念概述
12.1.2底層平台軟體設計
12.1.3底層平台軟體管理規則
12.1.4獨立驅動程式模組的版本管理
12.1.5提供最基本的系統
12.1.6驅動程式開發注意事項
12.1.7版本函數庫
12.1.8平台版本建置發佈
12.2研發管理
12.2.1嵌入式軟體研發管理天馬行空
12.2.2嵌入式軟體V字形開發模式
12.3軟體開發文件
12.3.1可行性分析報告
12.3.2嵌入式軟體系統設計方案文件
12.3.3嵌入式軟體概要設計
12.3.4嵌入式軟體詳細設計
12.3.5案例分析
Chapter13 Linux裝置驅動程式設計標準
13.1基本原則
13.2規劃
13.3基本格式
13.4對齊
13.5空行空格
13.6註釋
13.7命名
13.8函數
13.9可用性
13.10其他
|
|