TOP
0
0
倒數三天!簡體曬書節單本79折,5本7折
嵌入式Linux驅動程序開發實例教程(簡體書)
滿額折

嵌入式Linux驅動程序開發實例教程(簡體書)

商品資訊

人民幣定價:21 元
定價
:NT$ 126 元
領券後再享89折起
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:3 點
相關商品
商品簡介
名人/編輯推薦
目次
書摘/試閱

商品簡介

《嵌入式Linux驅動程序開發實例教程》詳細介紹了計算機的嵌入式Linux系統的三類驅動程序開發方法。全書共分10章。前面4章簡要介紹Linux操作系統的操作、嵌入式Linux驅動開發環境的建立方法以及Linux驅動程序開發所需要的內核基礎。第5章和第6章介紹字符驅動程序的設計方法,第7章和第8章介紹塊設備驅動程序的設計方法,第9章和第10章介紹網絡驅動程序的設計方法。每類驅動程序分別從數據結構、驅動架構、驅動模塊設計三方面進行了介紹,每類驅動程序都配置了一個模擬驅動小實例,通過這些小實例,可以深入理解各類驅動程序的架構。每類驅動程序還配置了一個真實外部設備的驅動程序開發實例。
《嵌入式Linux驅動程序開發實例教程》實例豐富,通俗易懂,可作為高等學校計算機科學與技術、軟件工程等專業學生學習嵌入式技術的教材,也可以作為計算機相關專業學生學習操作系統的提高教材,還可作為工程技術人員設計Linux驅動程序的參考書。

名人/編輯推薦

《嵌入式Linux驅動程序開發實例教程》是21世紀高等學校嵌入式系統專業規劃教材之一。

目次

第1章 設備驅動概述
1.1 設備驅動程序的作用
1.1.1 嵌入式系統的硬件組成
1.1.2 嵌入式系統的軟件組成
1.1.3 驅動程序的作用
1.2 Linux設備驅動
1.2.1 Linux設備驅動程序的分類及特點
1.2.2 Linux設備驅動程序與整個軟件系統的關系
1.3 Linux設備驅動程序開發技術的學習方法
習題1

第2章 Linux基本操作
2.1 Linux常用命令
2.1.1 文件及目錄操作命令
2.1.2 顯示命令
2.1.3 文件壓縮及解壓命令
2.1.4 網絡命令
2.1.5 改變文件訪問權限的命令
2.1.6 幫助命令
2.1.7 安裝卸載文件系統命令
2.2 Linux基本編程
2.2.1 emacs編輯器
2.2.2 使用gcc編譯程序
2.2.3 make命令
2.2.4 描述文件
習題2

第3章 嵌入式Linux驅動程序開發環境的建立
3.1 交叉編譯環境的建立
3.2 超級終端的配置
3.3 文件共享的配置
3.3.1 配置防火墻
3.3.2 配置samba使Windows與Linux共享
3.3.3 配置NFS使宿主機Linux與目標機Linux共享
習題3

第4章 Linux設備驅動內核基礎
4.1 Linux設備的表示
4.2 設備文件系統(devfs)
4.3 模塊
4.4 I/O端口的訪問
4.5 中斷管理
4.5.1 中斷的注冊
4.5.2 中斷的釋放
4.5.3 中斷處理例程
4.5.4 中斷的禁止和使能
4.6 設備驅動程序中的并發控制
4.6.1 信號量的初始化
4.6.2 信號量的申請
4.6.3 信號量的釋放
4.7 內核空間和用戶空間數據復制
4.8 使用printk()函數調試設備驅動程序
習題4

第5章 字符設備驅動程序
5.1 有關字符設備的數據結構
5.1.1 file_operations結構
5.1.2 file結構
5.1.3 chrdevs數組
5.2 字符設備驅動程序的設計
5.2.1 字符設備驅動程序的組成
5.2.2 file_operations結構體變量
5.2.3 字符設備驅動程序的加載及卸載函數
5.2.4 字符設備驅動程序的接口函數
5.3 訪問字符設備的系統調用
5.3.1 open()函數和create()函數
5.3.2 close()函數
5.3.3 read()函數
5.3.4 write()函數
5.3.5 應用舉例
5.4 內核訪問字符設備驅動程序的流程
5.4.1 open()系統調用的執行流程
5.4.2 read()和write()系統調用的執行流程
5.4.3 close()系統調用的執行流程
5.5 字符設備驅動程序示例:虛擬字符設備驅動程序
5.5.1 虛擬字符設備驅動程序代碼
5.5.2 測試程序代碼
5.5.3 虛擬字符設備驅動程序的編譯
5.5.4 虛擬字符設備驅動程序的測試
習題5

第6章 字符設備驅動程序實例:S3C2410ADC驅動程序
6.1 S3C2410X的ADC概述
6.1.1 S3C2410XADC的轉換頻率及轉換時間
6.1.2 S3C2410X與A/D轉換有關的寄存器
6.2 S3C2410X的ADC驅動程序設計
6.2.1 ADC驅動程序需要包含的頭文件
6.2.2 ADC驅動程序的file_operations結構體變量
6.2.3 ADC驅動程序的加載函數
6.2.4 ADC驅動程序的卸載函數
6.2.5 ADC驅動程序的接口函數
6.2.6 ADC中斷處理函數
6.3 ADC驅動程序的編譯及測試
6.3.1 測試程序
6.3.2 ADC驅動程序的編譯
6.3.3 ADC驅動程序的測試
習題6

第7章 塊設備驅動程序
7.1 有關塊設備的數據結構
7.1.1 block_device_operations結構
7.1.2 gendisk結構
7.1.3 request_queue結構
7.1.4 buffer_head結構
7.1.5 request結構
7.2 塊設備驅動程序的設計
7.2.1 塊設備驅動程序的組成
7.2.2 文件包含與宏定義
7.2.3 block_device_operations結構體變量
7.2.4 塊設備驅動程序的接口函數
7.2.5 塊設備驅動程序的request()函數
7.2.6 塊設備驅動的加載函數
7.2.7 塊設備驅動的卸載函數
7.3 塊設備驅動程序示例:虛擬塊設備驅動程序
7.3.1 虛擬塊設備驅動程序代碼
7.3.2 虛擬塊設備驅動程序的編譯
7.3.3 虛擬塊設備驅動程序的測試
習題7

第8章 塊設備驅動程序實例:SD卡驅動程序
8.1 SD卡功能概述
8.1.1 總線協議
8.1.2 SD卡的引腳
8.1.3 SD卡的命令
8.1.4 SD卡的響應
8.1.5 SD卡的寄存器
8.1.6 SD卡的狀態及操作模式
8.2 S3C2410XSDI接口概述
8.2.1 SDI寄存器
8.2.2 SDI的初始化
8.2.3 SD卡命令的發送
8.2.4 數據的讀寫
8.3 基于S3C2410X的SD卡驅動程序設計
8.3.1 SD卡驅動程序的加載函數
8.3.2 SD卡驅動程序的卸載函數
8.3.3 SD卡驅動程序的接口函數
8.3.4 SD卡驅動程序的request()函數
8.4 SD卡驅動程序的編譯及測試
8.4.1 SD卡驅動程序的編譯
8.4.2 SD卡驅動程序的測試
習題8

第9章 網絡設備驅動程序
9.1 有關網絡設備的數據結構
9.1.1 net_device結構體
9.1.2 sk_buff結構體
9.2 網絡設備驅動程序開發常用的內核函數
9.2.1 sk_buff結構操作函數
9.2.2 內存申請和釋放函數
9.2.3 網絡驅動程序注冊和解除注冊函數
9.2.4 以太網設備通用初始化函數
9.2.5 發送隊列的啟動、喚醒及停止函數
9.2.6 查詢網絡設備是否在運行的函數
9.2.7 向上層傳遞數據包的函數
9.3 網絡設備驅動程序的設計
9.3.1 網絡設備驅動程序的組成
9.3.2 網絡設備驅動程序的加載函數
9.3.3 網絡設備驅動程序的卸載函數
9.3.4 網絡設備驅動程序的接口函數
9.3.5 網卡中斷處理程序
9.4 網絡設備驅動程序示例:虛擬網絡設備驅動程序
9.4.1 虛擬網絡設備驅動程序代碼
9.4.2 虛擬網絡設備驅動程序的編譯
9.4.3 虛擬網絡設備驅動程序的測試
習題9

第10章 網絡設備驅動程序實例:AX88796驅動程序
10.1 AX88796芯片與CPU的接口
10.1.1 AX88796與CPU的接口信號
10.1.2 S3C2410CPU與AX88796接口的信號
10.1.3 S3C2410CPU與網卡芯片接口相關的寄存器
10.1.4 UP-NETARM2410-S中AX88796與S3C2410CPU的連接
10.2 AX88796MAC核心寄存器
10.2.1 MAC核心寄存器概述
10.2.2 常用的MAC核心寄存器
10.3 AX88796芯片的緩沖區操作
10.3.1 數據包的接收
10.3.2 數據包的發送
10.3.3 填充數據包到發送緩沖區以及從接收緩沖區環移走數據包
10.4 AX88796驅動程序設計
10.4.1 AX88796.h
10.4.2 AX88796驅動程序的加載函數
10.4.3 AX88796驅動程序的卸載函數
10.4.4 AX88796驅動程序的接口函數
10.4.5 AX88796驅動程序的中斷處理程序
10.5 AX88796驅動程序的編譯及測試
10.5.1 AX88796網絡驅動程序的編譯
10.5.2 AX88796驅動程序的測試
習題10
參考文獻

書摘/試閱

任何一個計算機系統的運行都是系統中軟硬件協作的結果。硬件是底層基礎,是所有軟件得以運行的平臺,代碼最終會落實為硬件上的組合邏輯與時序邏輯;軟件則實現了具體應用,它按照各種不同的業務需求而設計,滿足了用戶的需求。硬件較固定,軟件則很靈活,可以適應各種復雜多變的應用。
為了盡可能快速地完成設計,應用軟件工程師不想也不關心硬件,而硬件工程師也難有足夠的閑暇和能力去顧及軟件。例如,應用軟件工程師在調用套接字發送和接收數據的時候,他不關心網卡上的中斷、寄存器、存儲空間、I/O端口、片選以及其他任何硬件詞匯;在使用printf()函數輸出信息的時候,他不用知道底層究竟是怎樣把相應的信息輸出到屏幕或串口的。因此,應用軟件工程師需要看到一個沒有硬件的純粹的軟件世界,硬件必須透明地呈現給他們。誰來實現硬件對應用軟件工程師的隱形?這個艱巨的任務就落在了驅動工程師的頭上。
對設備驅動最通俗的解釋就是“驅使硬件設備行動”。設備驅動與底層硬件直接打交道,按照硬件設備的具體工作方式讀寫設備寄存器,完成設備的輪詢、中斷處理、DMA通信,進行物理內存向虛擬內存的映射,最終使通信設備能夠收發數據,使顯示設備能夠顯示文字和畫面,使存儲設備能夠記錄文件數據。設備驅動充當了硬件和應用軟件之間的紐帶,它使得應用軟件只需要調用系統軟件的應用編程接口( API)就可讓硬件去完成要求的工作。在系統中沒有操作系統的情況下,工程師可以根據硬件設備的特點自行定義接口,如對串口定義SerialSend()、SerialRecv(),對LED定義LightOn()、LightOff(),以及對FLASH定義FlashWrite()、FlashRead()等。而在有操作系統的情況下,設備驅動的架構則由相應的操作系統定義,驅動工程師必須按照相應的架構設計設備驅動,這樣,設備驅動才能良好地整合到操作系統的內核中。
驅動程序溝通著硬件和應用軟件,相應地驅動工程師溝通著硬件工程師和應用軟件工程師。隨著通信、電子行業的發展,全世界每天都會有大量的新芯片被生產,大量的新電路板被設計,因此,也會有大量設備驅動需要開發。這些設備驅動,或運行在簡單的單任務環境中,或運行在VxWorks、Linux、Windows等多任務操作系統環境中,都發揮著不可替代的作用。

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

定價:100 126
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區