注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡操作系統(tǒng)LinuxLinux驅動程序開發(fā)實例

Linux驅動程序開發(fā)實例

Linux驅動程序開發(fā)實例

定 價:¥55.00

作 者: 馮國進 編著
出版社: 機械工業(yè)出版社
叢編項:
標 簽: LINUX

ISBN: 9787111333159 出版時間: 2011-04-01 包裝: 平裝
開本: 16開 頁數(shù): 365 字數(shù):  

內容簡介

  《Linux驅動程序開發(fā)實例》專門介紹Linux設備驅動程序開發(fā),涵蓋了Linux驅動程序基礎、內核移植、I2C驅動程序、LCD驅動程序、網(wǎng)絡驅動程序、USB驅動程序、輸入子系統(tǒng)驅動程序、塊設備驅動程序等內容?!禠inux驅動程序開發(fā)實例》以實例為主線,是為Linux設備驅動程序開發(fā)人員量身打造的精品學習圖書和實戰(zhàn)指南?!禠inux驅動程序開發(fā)實例》提供了豐富的實例代碼和詳細的注釋,并附贈完整代碼光盤一張?!禠inux驅動程序開發(fā)實例》主要面向各層次的嵌入式Linux開發(fā)工程師,也可以作為各類嵌入式系統(tǒng)培訓機構的培訓教材和高校計算機課程的教輔書籍。

作者簡介

暫缺《Linux驅動程序開發(fā)實例》作者簡介

圖書目錄

出版說明
前言
第1章 Linux設備驅動程序模型1
1.1 設備驅動程序基礎1
1.1.1 驅動程序的概念1
1.1.2 驅動程序的加載方式2
1.1.3 編寫可加載模塊3
1.1.4 帶參數(shù)的可加載模塊5
1.1.5 設備驅動程序的分類6
1.2 字符設備驅動程序原理7
1.2.1 file_operations結構7
1.2.2 使用register_chrdev注冊字符設備9
1.2.3 使用cdev_add注冊字符設備11
1.2.4 字符設備的讀寫13
1.2.5 ioctl接口14
1.2.6 seek接口16
1.2.7 poll接口18
1.2.8 異步通知22
1.3 proc文件系統(tǒng)24
1.3.1 proc文件系統(tǒng)概述24
1.3.2 seq_file機制25
1.3.3 使用proc文件系統(tǒng)27
1.4 塊設備驅動程序32
1.4.1 Linux塊設備驅動程序原理32
1.4.2 簡單的塊設備驅動程序實例35
1.5 網(wǎng)絡設備驅動程序39
1.5.1 網(wǎng)絡設備的特殊性39
1.5.2 sk_buff結構40
1.5.3 Linux網(wǎng)絡設備驅動程序架構42
1.5.4 虛擬網(wǎng)絡設備驅動程序實例46
1.6 Linux 2.6設備管理機制50
1.6.1 kobject和kset50
1.6.2 sysfs文件系統(tǒng)51
1.6.3 設備模型層次52
1.6.4 platform的概念54
第2章 Linux內核同步機制58
2.1 鎖機制58
2.1.1 自旋鎖58
2.1.2 讀寫鎖60
2.1.3 RCU61
2.2 互斥64
2.2.1 原子操作64
2.2.2 信號量65
2.2.3 讀寫信號量67
2.3 等待隊列68
2.3.1 等待隊列原理68
2.3.2 阻塞式I/O實例68
2.3.3 完成事件70
2.4 關閉中斷71
第3章 內存管理與鏈表72
3.1 物理地址和虛擬地址72
3.2 內存分配與釋放72
3.3 IO端口到虛擬地址的映射73
3.3.1 靜態(tài)映射73
3.3.2 動態(tài)映射75
3.4 內核空間到用戶空間的映射76
3.4.1 內核空間到用戶空間的地址映射原理76
3.4.2 mmap地址映射實例78
3.5 內核鏈表80
3.5.1 Linux內核中的鏈表80
3.5.2 內核鏈表實例81
第4章 延遲處理83
4.1 內核線程83
4.2 軟中斷機制85
4.2.1 軟中斷原理85
4.2.2 tasklet87
4.3 工作隊列89
4.3.1 工作隊列原理89
4.3.2 工作隊列實例91
4.4 內核時間92
4.4.1 Linux中的時間概念92
4.4.2 Linux中的延遲93
4.4.3 內核定時器93
第5章 簡單設備驅動程序96
5.1 寄存器訪問96
5.1.1 S3C6410地址映射96
5.1.2 S3C6410看門狗驅動程序實例98
5.1.3 S3C6410蜂鳴器驅動程序實例102
5.2 電平控制107
5.2.1 S3C6410 LED驅動程序實例107
5.2.2 掃描型S3C6410按鍵驅動程序實例109
5.3 時序產(chǎn)生112
5.3.1 時序圖原理112
5.3.2 AT24C02芯片原理112
5.3.3 AT24C02驅動程序開發(fā)實例115
5.4 硬中斷處理123
5.4.1 硬中斷處理原理123
5.4.2 中斷型S3C6410按鍵驅動程序實例127
5.5 Linux I/O端口控制132
5.5.1 Linux I/O端口讀寫132
5.5.2 在應用層訪問Linux I/O端口133
5.5.3 /dev/port設備134
第6章 深入Linux內核135
6.1 嵌入式Linux系統(tǒng)構成135
6.2 Linux內核導讀136
6.2.1 Linux內核組成136
6.2.2 Linux的代碼結構137
6.2.3 內核Makefile138
6.2.4 S3C6410硬件初始化139
6.3 Linux文件系統(tǒng)141
6.3.1 虛擬文件系統(tǒng)141
6.3.2 根文件系統(tǒng)143
6.3.3 文件系統(tǒng)加載143
6.3.4 ext3文件系統(tǒng)145
6.4 Flash文件系統(tǒng)145
6.4.1 MTD設備145
6.4.2 MTD字符設備148
6.4.3 MTD塊設備150
6.4.4 cramfs文件系統(tǒng)153
6.4.5 JFFS2文件系統(tǒng)153
6.4.6 YAFFS文件系統(tǒng)155
6.4.7 文件系統(tǒng)總結156
6.5 Linux內核移植156
6.5.1 體系配置156
6.5.2 添加yaffs2157
6.5.3 Nand flash驅動程序移植157
6.5.4 配置啟動參數(shù)159
6.5.5 移植RTC驅動程序160
6.6 根文件系統(tǒng)制作162
6.6.1 Busybox162
6.6.2 shell基礎165
6.6.3 根文件系統(tǒng)構建實例166
6.7 udev模型167
6.7.1 udev模型原理167
6.7.2 mdev的使用167
第7章 I2C總線驅動程序169
7.1 Linux的I2C驅動程序架構169
7.1.1 I2C適配器169
7.1.2 I2C算法170
7.1.3 I2C驅動程序結構170
7.1.4 I2C從設備171
7.1.5 i2c-dev設備層171
7.2 Linux I2C驅動程序開發(fā)174
7.2.1 S3C2410X的I2C控制器174
7.2.2 S3C2410X的I2C驅動程序分析175
7.3 S3C2410的I2C訪問實例182
7.4 I2C客戶端驅動程序185
第8章 TTY與串口驅動程序190
8.1 TTY概念190
8.2 Linux TTY驅動程序體系190
8.2.1 TTY驅動程序調用關系190
8.2.2 TTY驅動程序原理191
8.3 線路規(guī)程194
8.4 串口驅動程序與TTY196
8.4.1 串口設備驅動程序原理196
8.4.2 S3C6410的串口驅動程序實例199
8.5 TTY應用層202
第9章 網(wǎng)絡設備驅動程序205
9.1 DM9000網(wǎng)卡驅動程序開發(fā)205
9.1.1 DM9000原理205
9.1.2 DM9000X驅動程序分析207
9.1.3 DM9000網(wǎng)口驅動程序移植215
9.2 NFS根文件系統(tǒng)搭建219
9.2.1 主機配置219
9.2.2 NFS根文件系統(tǒng)搭建實例220
9.3 netlink Socket224
9.3.1 netlink機制224
9.3.2 netlink應用層編程228
9.3.3 netlink驅動程序實例229
第10章 framebuffer驅動程序232
10.1 Linux framebuffer驅動程序原理232
10.1.1 framebuffer核心數(shù)據(jù)結構232
10.1.2 framebuffer操作接口234
10.1.3 framebuffer驅動程序的文件接口236
10.1.4 framebuffer驅動程序框架236
10.2 S3C6410 顯示控制器238
10.3 S3C6410 LCD驅動程序實例243
10.4 framebuffer應用層250
10.5 Qt4界面系統(tǒng)移植251
第11章 輸入子系統(tǒng)驅動程序253
11.1 Linux輸入子系統(tǒng)概述253
11.1.1 input_dev結構253
11.1.2 輸入事件255
11.2 input_handler256
11.2.1 Input Handler層256
11.2.2 常用的Input Handler259
11.3 輸入設備應用層261
11.4 鍵盤輸入設備驅動程序實例262
11.5 event接口267
11.6 觸摸屏驅動程序實例270
11.6.1 S3C6410觸摸屏控制器270
11.6.2 S3C6410觸摸屏驅動程序設計273
11.7 觸摸屏校準282
11.7.1 觸摸屏校準原理282
11.7.2 利用TSLIB庫校準觸摸屏282
第12章 USB驅動程序284
12.1 USB體系概述284
12.1.1 USB系統(tǒng)組成284
12.1.2 USB主機284
12.1.3 USB設備邏輯層次285
12.2 Linux USB驅動程序體系287
12.2.1 USB總體結構287
12.2.2 USB設備驅動程序287
12.2.3 主機控制器驅動程序288
12.2.4 USB請求塊urb289
12.2.5 USB請求塊的填充291
12.3 S3C6410 USB主機控制器驅動程序292
12.3.1 USB主機控制器驅動程序分析292
12.3.2 S3C6410 USB驅動程序加載294
12.4 USB鍵盤設備驅動程序分析296
12.5 USB Gadget驅動程序301
12.5.1 Linux USB Gadget驅動程序301
12.5.2 Linux USB Gadget驅動程序實例302
第13章 音頻設備驅動程序303
13.1 ALSA音頻體系303
13.2 ALSA驅動層API304
13.2.1 聲卡和設備管理304
13.2.2 PCM API304
13.2.3 控制與混音API305
13.2.4 AC97 API306
13.2.5 SOC層驅動307
13.3 ALSA驅動程序實例308
13.3.1 S3C6410的AC97控制單元308
13.3.2 S3C6410聲卡電路原理309
13.3.3 S3C6410的數(shù)字音頻接口310
13.3.4 wm9713的數(shù)字音頻接口313
13.4 ALSA音頻編程接口316
13.4.1 ALSA PCM接口實例316
13.4.2 ALSA MIDI接口實例320
13.4.3 ALSA mixer接口實例321
13.4.4 ALSA timer接口實例322
第14章 video4linux2視頻驅動程序327
14.1 video4linux2驅動程序架構327
14.1.1 video4linux2驅動程序的注冊327
14.1.2 v4l2_fops接口331
14.1.3 常用的結構332
14.1.4 video4linux2的ioctl函數(shù)333
14.2 S3C6410攝像頭驅動程序分析333
14.2.1 電路原理333
14.2.2 驅動程序分析334
14.3 video4linux2應用層實例339
第15章 SD卡驅動程序346
15.1 Linux SD卡驅動程序體系346
15.1.1 SD卡電路原理346
15.1.2 MMC卡驅動程序架構347
15.1.3 MMC卡驅動程序相關結構347
15.1.4 MMC卡塊設備驅動程序350
15.1.5 SD卡主機控制器接口驅動程序356
15.2 S3C6410 SD卡控制器驅動程序分析360
15.2.1 電路原理360
15.2.2 S3C6410 SDHCI驅動程序原理360
15.2.3 SD卡的加載實例364
參考文獻366

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.talentonion.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號