附 1 張光碟、黑白印刷、326頁、2012-10-12出版
著者:馮新宇 初憲寶 吳巖 等編著
出版社: 機械工業出版社
ISBN9787111393368
著者:馮新宇 初憲寶 吳巖 等編著
出版社: 機械工業出版社
ISBN9787111393368
本書主要包括4部分:嵌入式Linux系統管理與程式設計基礎、ARM程式設計、內核開發與系統移植,以及驅動程式開發。本書作者都是長期使用Linux系統進行教學、科研和實際生產工作的教師和工程師,有著豐富的教學和編著經驗。本書在內容編排上,按照讀者學習的一般規律,結合大量實例講解操作步驟,能夠使讀者快速、真正地掌握嵌入式Linux系統的基本原理和應用。
本書通俗易懂、條理清晰、實例豐富,既可作為大中專院校相關專業的教材,也可作為讀者自學的教程,同時也非常適合作為專業人員的參考手冊。
封底無防偽標均為盜版
版權所有,侵權必究
本書法律顧問 北京市展達律師事務所
前言
第1章 嵌入式系統的定制及配置使用1
1.1 嵌入式系統開發綜述1
1.1.1 嵌入式系統的定義1
1.1.2 嵌入式Linux基礎1
1.2 Linux安裝與配置2
1.2.1 Linux定制安裝2
1.2.2 伺服器配置7
1.3 Linux常用命令12
1.3.1 使用者系統相關命令12
1.3.2 檔操作相關命令13
1.3.3 壓縮打包相關命令18
1.3.4 網路相關命令19
1.3.5 其他常用命令22
1.4 思考與練習26
第2章 嵌入式開發軟體工具的使用27
2.1 Windows平臺下軟體工具的使用27
2.1.1 Source Insight27
2.1.2 SecureCRT31
2.1.3 Notepad++32
2.2 Linux平臺下軟體工具的使用33
2.2.1 vi33
2.2.2 gcc程式編譯37
2.2.3 gdb程式調試42
2.3 思考與練習49
第3章 Linux腳本程式設計50
3.1 常用shell命令50
3.2 腳本編寫基礎51
3.2.1 特殊字元51
3.2.2 變數和參數53
3.2.3 退出和退出狀態55
3.3 流程控制56
3.3.1 條件測試56
3.3.2 操作符相關主題58
3.3.3 迴圈控制59
3.3.4 測試與分支62
3.3.5 實例進階63
3.4 思考與練習65
第4章 ARM11綜述66
4.1 ARM概述66
4.1.1 ARM11主要功能66
4.1.2 ARM11處理器比較67
4.2 ARM指令與系統70
4.2.1 ARM寄存器結構70
4.2.2 ARM指令集72
4.2.3 ARM虛擬指令80
4.3 ARM中斷體系結構89
4.3.1 ARM中斷系統結構89
4.3.2 ARM中斷系統操作91
4.4 思考題97
第5章 GPIO介面98
5.1 GPIO介面介紹98
5.1.1 GPIO結構98
5.1.2 GPIO寄存器100
5.2 GPIO操作實例114
5.2.1 硬體設計114
5.2.2 軟體設計115
5.3 思考與練習116
第6章 IIC介面117
6.1 IIC介面介紹117
6.1.1 IIC結構及寄存器118
6.1.2 軟體存取方法121
6.2 IIC操作實例124
6.2.1 硬體設計124
6.2.2 軟體設計129
6.3 思考與練習131
第7章 UART介面132
7.1 UART介面介紹132
7.1.1 UART結構及操作132
7.1.2 寄存器137
7.2 UART操作實例147
7.2.1 RS232原理147
7.2.2 硬體設計149
7.2.3 軟體設計150
7.3 思考題153
第8章 ADC介面154
8.1 ADC介面介紹154
8.1.1 ADC基本原理154
8.1.2 S3C6410ADC介面155
8.1.3 ADC寄存器158
8.2 ADC操作實例161
8.2.1 硬體設計161
8.2.2 軟體設計161
8.3 思考與練習163
第9章 內核開發基礎164
9.1 構建嵌入式Linux系統基礎164
9.1.1 嵌入式開發環境搭建164
9.1.2 嵌入式Linux內核168
9.1.3 根檔案系統170
9.1.4 BootLoader170
9.2 嵌入式Linux內核簡介170
9.2.1 內核架構170
9.2.2 內核原始程式碼172
9.2.3 內核模組化173
9.3 思考與練習178
第10章 內核的配置與編譯179
10.1 內核的配置179
10.1.1 內核配置系統179
10.1.2 內核配置項182
10.2 內核的編譯與安裝186
10.2.1 內核編譯命令186
10.2.2 內核編譯與安裝186
10.3 思考與練習190
第11章 嵌入式檔案系統191
11.1 Linux檔案系統概述191
11.1.1 Linux檔案系統的結構191
11.1.2 Linux檔案系統的特徵194
11.2 嵌入式檔案系統簡介195
11.2.1 JFFS檔案系統簡介198
11.2.2 YAFFS檔案系統簡介201
11.3 構建根檔案系統203
11.3.1 Busybox簡介203
11.3.2 構建RAMdisk檔案系統208
11.4 思考與練習209
第12章 BootLoader技術210
12.1 BootLoader簡介210
12.1.1 BootLoader的基本概念210
12.1.2 BootLoader的啟動過程216
12.1.3 BootLoader與主機之間的通信方式218
12.2 BootLoader的工作流程218
12.2.1 stage1階段218
12.2.2 stage2219
12.3 思考與練習220
第13章 U-Boot分析和移植221
13.1 U-Boot簡介221
13.1.1 U-Boot 原始程式碼結構222
13.1.2 U-Boot主要功能223
13.1.3 U-Boot的工具223
13.1.4 U-Boot的編譯223
13.1.5 U-boot命令226
13.2 U-Boot的移植235
13.3 思考與練習243
第14章 Linux驅動開發基礎與調試244
14.1 設備驅動簡介244
14.1.1 設備類型分類244
14.1.2 內核空間和用戶空間245
14.1.3 驅動程式層次結構246
14.1.4 驅動程式與外界介面246
14.1.5 驅動模組的特點247
14.2 字元設備驅動程式基礎249
14.2.1 關鍵資料結構249
14.2.2 設備驅動開發的基本函數251
14.2.3 設備檔和設備號256
14.2.4 載入和卸載驅動程式257
14.2.5 列印調試258
14.3 思考與練習259
第15章 字元設備驅動260
15.1 併發和競態260
15.1.1 併發及其管理 260
15.1.2 信號量和互斥體260
15.1.3 自旋鎖262
15.2 ioctl and llseek268
15.2.1 ioctl268
15.2.2 定位設備(llseek實現)271
15.3 阻塞型I/O和休眠271
15.3.1 休眠271
15.3.2 阻塞和非阻塞操作272
15.3.3 高級休眠272
15.3.4 poll和select273
15.4 思考與練習277
第16章 塊設備驅動278
16.1 塊設備驅動程式開發基礎278
16.1.1 塊設備的I/O操作特點278
16.1.2 塊設備主要資料結構278
16.1.3 塊設備的操作286
16.2 實例進階:IDE硬碟設備291
16.2.1 IDE硬碟設備原理291
16.2.2 S3C2440與IDE介面電路292
16.3 實例進階:IDE硬碟設備驅動293
16.3.1 block_device_operations及成員函數293
16.3.2 I/O請求處理294
16.3.3 在內核中增加對新系統IDE設備的支援300
16.4 思考與練習304
第17章 網路設備驅動305
17.1 網路設備驅動簡介305
17.1.1 驅動程式體系結構305
17.1.2 主要資料結構306
17.1.3 基本函數308
17.2 DM9000網卡設備310
17.2.1 DM9000簡介310
17.2.2 DM9000網卡介面電路311
17.3 實例進階:DM9000設備驅動程式312
17.3.1 初始化網路設備312
17.3.2 打開網路設備318
17.3.3 關閉網路設備319
17.3.4 中斷處理320
17.3.5 發送資料322
17.3.6 接收資料323
17.4 思考與練習326
參考文獻327