[www.ed2k.online]下載基地為您提供軟件、遊戲、圖書、教育等各種資源的ED2K電驢共享下載和MAGNET磁力鏈接下載。
設為首頁
加入收藏
首頁 圖書資源 軟件資源 游戲資源 教育資源 其他資源
 電驢下載基地 >> 教育资源 >> 學習教程 >> 《ARM嵌入式Linux系統開發詳解一書附帶的光盤》[壓縮包]
《ARM嵌入式Linux系統開發詳解一書附帶的光盤》[壓縮包]
下載分級 教育资源
資源類別 學習教程
發布時間 2017/7/14
大       小 -
《ARM嵌入式Linux系統開發詳解一書附帶的光盤》[壓縮包] 簡介: 資料介紹 相關專題學習資料: 操作系
電驢資源下載/磁力鏈接資源下載:
全選
"《ARM嵌入式Linux系統開發詳解一書附帶的光盤》[壓縮包]"介紹

資料介紹

相關專題學習資料:
  • 操作系統教程
  • 電子技術/通信技術
  • 嵌入式/單片機教程/視頻教程
  • Linux教程/視頻教程/軟件

IPB Image

還是慣例,提供一個HTTP下載,大家下載後,幫忙分流。謝謝了。
分卷1:http://u.115.com/file/f6eb6f2e1e
分卷2:http://u.115.com/file/f67c855a1b


嵌入式系統是目前最流行的計算機應用技術之一。本書由淺入深地講解基於ARM體系結構的嵌入式Linux系統開發,內容包括嵌入式系統的基本概念、應用領域等基礎知識;ARM處理器的體系結構和功能特點;Linux系統內核結構和移植方法、Bootloader功能和移植;Linux應用程序開發,包括如何操作文件、管理內存、訪問串口、多線程和多進程技術,並且剖析了應用程序的結構和工作流程;Linux系統設備驅動程序開發,包括如何編寫內核模塊、驅動程序分類和功能特點,並且給出了網絡設備驅動、Flash設備驅動和USB設備驅動的實例分析。
本書附帶1張DVD光盤,內容為專門為本書錄制的9小時視頻、本書涉及的源代碼、Ubuntu安裝光盤的鏡像文件和另外贈送的35小時Linux專題學習視頻。
本書適合廣大從事嵌入式Linux系統開發人員、對嵌入式Linux系統開發有興趣的計算機愛好者,以及大中專院校學生閱讀。

目 錄
第1篇 Linux嵌入式開發基礎篇
第1章 嵌入式系統入門 2
1.1 什麼是嵌入式系統 2
1.2 嵌入式系統應用領域 2
1.2.1 家用電器 2
1.2.2 交通工具 3
1.2.3 公共電子設施 3
1.3 嵌入式系統發展 4
1.3.1 嵌入式微控制器 4
1.3.2 嵌入式微處理器 5
1.3.3 未來嵌入式系統發展的方向 6
1.4 典型的嵌入式系統組成 6
1.5 小結 7
第2章 嵌入式軟硬件系統 8
2.1 電路基本知識 8
2.1.1 什麼是模擬電路 8
2.1.2 什麼是數字電路 8
2.1.3 數制轉換 9
2.2 計算機組成原理 10
2.2.1 計算機體系的發展 10
2.2.2 中央處理器 10
2.2.3 存儲系統 11
2.2.4 總線系統 12
2.2.5 輸入輸出系統 12
2.3 軟件基礎知識 12
2.3.1 什麼是軟件 13
2.3.2 軟件開發流程 13
2.3.3 常見的軟件開發模型 14
2.3.4 計算機編程語言 14
2.3.5 數據結構 15
2.4 操作系統知識 15
2.4.1 什麼是操作系統 16
2.4.2 操作系統的發展歷史 16
2.4.3 操作系統由什麼組成 16
2.4.4 幾種操作系統的設計思路 17
2.4.5 操作系統分類 17
2.5 小結 18
第3章 ARM處理器 19
3.1 微處理器和微控制器 19
3.2 ARM處理器介紹 19
3.2.1 ARM微處理器的應用領域 20
3.2.2 ARM的功能特點 20
3.3 ARM指令集 21
3.3.1 算術運算指令 21
3.3.2 邏輯運算指令 22
3.3.3 分支指令 23
3.3.4 數據傳送指令 23
3.4 ARM的結構 24
3.4.1 ARM體系結構的命名方法 24
3.4.2 處理器系列劃分 25
3.4.3 處理器工作模式 25
3.4.4 存儲系統 26
3.4.5 尋址方式 27
3.5 ARM的功能選型 29
3.5.1 ARM的選型原則 29
3.5.2 幾種常見的ARM核處理器選型參考 32
3.6 小結 32
第4章 嵌入式Linux 33
4.1 常見的嵌入式操作系統 33
4.1.1 VxWorks 33
4.1.2 Windows CE 34
4.1.3 PalmOS 34
4.1.4 Symbian 34
4.2 嵌入式Linux操作系統 34
4.2.1 什麼是Linux 35
4.2.2 Linux與UNIX的不同——GPL版權協議介紹 35
4.2.3 Linux發行版 36
4.2.4 常見的嵌入式Linux系統 37
4.3 小結 37
第5章 建立軟件開發環境 38
5.1 獨立的Linux系統 38
5.1.1 安裝Ubuntu Linux 38
5.1.2 關鍵一步——系統的網絡設置 46
5.1.3 其他必要的設置 46
5.1.4 怎樣安裝卸載軟件 48
5.1.5 怎樣配置系統服務 48
5.1.6 安裝主要的開發工具 48
5.1.7 安裝其他的開發工具和文檔 49
5.2 運行在Windows上的Linux系統 50
5.2.1 什麼是Cygwin 50
5.2.2 如何安裝Cygwin 50
5.2.3 安裝開發環境 54
5.3 Linux常用工具 54
5.3.1 Linux shell和常用命令 55
5.3.2 文本編輯工具vi 56
5.3.3 搜索工具find和grep 57
5.3.4 FTP工具 61
5.3.5 串口工具minicom 63
5.4 Windows常用工具 65
5.4.1 代碼編輯管理工具Source Insight 65
5.4.2 串口工具XShell 71
5.5 ARM集成開發環境ADS 72
5.5.1 ADS集成開發環境介紹 73
5.5.2 配置ADS調試環境 73
5.5.3 建立自己的工程 75
5.6 小結 78
第6章 第一個Linux應用程序 79
6.1 向世界問好--Hello,World! 79
6.1.1 用vi編輯源代碼文件 79
6.1.2 用gcc編譯程序 80
6.1.3 執行程序 80
6.2 程序背後做了什麼 80
6.2.1 程序執行的過程 81
6.2.2 窺視程序執行中的秘密 82
6.2.3 動態庫的作用 83
6.3 程序如何來的--編譯的全部過程 84
6.3.1 編譯源代碼 84
6.3.2 連接目標文件到指定的庫 85
6.4 更簡單的辦法--用Makefile管理工程 86
6.4.1 什麼是Makefile 87
6.4.2 它是如何工作的 87
6.4.3 如何使用Makefile 87
6.4.4 好的源代碼管理習慣 88
6.5 小結 88
第2篇 Linux嵌入式開發應用篇
第7章 Linux應用程序編程基礎 90
7.1 內存管理和使用 90
7.1.1 堆和棧的區別 90
7.1.2 內存管理函數malloc()和free() 93
7.1.3 實用的內存分配函數calloc()和realloc() 93
7.1.4 內存管理編程實例 94
7.2 ANSI C文件管理 97
7.2.1 文件指針和流 97
7.2.2 存儲方式 98
7.2.3 標准輸入、標准輸出和標准錯誤 98
7.2.4 緩沖 98
7.2.5 打開關閉文件 99
7.2.6 讀寫文件 100
7.2.7 文件流定位 103
7.2.8 ANSI C文件編程實例 103
7.3 POSIX文件I/O編程 104
7.3.1 底層的文件I/O操作 104
7.3.2 文件描述符 104
7.3.3 創建/打開/關閉文件 105
7.3.4 讀寫文件內容 108
7.3.5 文件內容定位 109
7.3.6 修改已打開文件的屬性 110
7.3.7 POSIX文件編程實例 110
7.4 小結 112
第8章 開發多進程/線程程序 113
8.1 多進程開發 113
8.1.1 什麼是進程 113
8.1.2 進程環境和屬性 114
8.1.3 創建進程 115
8.1.4 等待進程結束 117
8.1.5 退出進程 118
8.1.6 常用進程間通信的方法 120
8.1.7 進程編程實例 124
8.2 多線程開發 125
8.2.1 線程的概念 126
8.2.2 進程和線程對比 126
8.2.3 創建線程 127
8.2.4 取消線程 128
8.2.5 等待線程 129
8.2.6 使用pthread庫線程操作實例 129
8.3 小結 131
第9章 網絡通信應用 132
9.1 網絡通信基礎 132
9.1.1 TCP/IP協議族 132
9.1.2 IP協議 133
9.1.3 TCP協議 135
9.1.4 UDP協議 135
9.1.5 學習分析協議的方法 135
9.2 Socket通信基本概念 137
9.2.1 創建socket對象 138
9.2.2 面向連接的Socket通信實現 138
9.2.3 面向連接的Echo服務編程實例 140
9.2.4 無連接的Socket通信實現 144
9.2.5 無連接的時間服務編程實例 145
9.3 Socket高級應用 148
9.3.1 Socket超時處理 148
9.3.2 使用Select機制處理多連接 149
9.3.3 使用Poll機制處理多連接 151
9.3.4 多線程環境Socket編程 152
9.4 小結 152
第10章 串行口通信編程 154
10.1 串口介紹 154
10.1.1 什麼是串口 154
10.1.2 串口工作原理 154
10.1.3 串口流量控制 155
10.2 開發串口應用程序 156
10.2.1 操作串口需要用到的頭文件 156
10.2.2 串口操作方法 157
10.2.3 串口屬性設置 157
10.2.4 與Windows串口終端通信 161
10.3 串口應用實例--手機短信發送 163
10.3.1 PC與手機連接發送短信的物理結構 164
10.3.2 AT指令介紹 164
10.3.3 GSM AT指令集 165
10.3.4 PDU編碼方式 165
10.3.5 建立與手機的連接 167
10.3.6 使用AT指令發送短信 167
10.4 小結 171
第11章 嵌入式GUI程序開發 172
11.1 Linux GUI介紹 172
11.1.1 Linux GUI的發展 172
11.1.2 常見的嵌入式GUI 173
11.2 開發圖形界面程序 174
11.2.1 安裝Qt開發環境 174
11.2.2 建立簡單的Qt程序 176
11.2.3 Qt庫編程結構 178
11.3 深入Qt編程 179
11.3.1 使用Widget 179
11.3.2 對話框程序設計 181
11.3.3 信號與槽系統 185
11.4 移植Qtopia到ARM開發板 186
11.4.1 需要的資源 186
11.4.2 准備工作 187
11.4.3 編譯主機Qt工具 187
11.4.4 交叉編譯qtopia 189
11.5 小結 190
第12章 軟件項目管理 191
12.1 源代碼管理 191
12.1.1 什麼是軟件的版本 191
12.1.2 版本控制的概念 192
12.2 版本控制系統Subversion 193
12.2.1 在Linux系統下使用Subversion服務端 193
12.2.2 在Windows系統下使用TortoiseSVN客戶端 195
12.3 開發文檔管理--常見的開發文檔 199
12.3.1 可行性研究報告 200
12.3.2 項目開發計劃 200
12.3.3 軟件需求說明書 200
12.3.4 概要設計 200
12.3.5 詳細設計 200
12.3.6 用戶手冊 201
12.3.7 其他文檔 201
12.4 使用trac管理軟件開發文檔 201
12.4.1 安裝trac 201
12.4.2 配置trac基本設置 202
12.4.3 配置trac全局腳本 204
12.4.4 設置trac的Web界面 205
12.5 Bug跟蹤系統 208
12.5.1 Bug管理的概念和作用 208
12.5.2 使用Bugzilla跟蹤Bug 208
12.6 小結 211
第3篇 Liux系統篇
第13章 ARM體系結構及開發實例 214
13.1 ARM體系結構介紹 214
13.1.1 ARM體系結構 214
13.1.2 ARM指令集介紹 215
13.2 編程模型 216
13.2.1 數據類型 216
13.2.2 處理器模式 216
13.2.3 寄存器 217
13.2.4 通用寄存器 217
13.2.5 程序狀態寄存器 219
13.2.6 異常處理 219
13.2.7 內存和內存I/O映射 220
13.3 內存管理單元 221
13.3.1 內存管理介紹 221
13.3.2 內存訪問順序 222
13.3.3 地址翻譯過程 222
13.3.4 訪問權限 223
13.4 常見接口和控制器 223
13.4.1 GPIO接口 223
13.4.2 中斷控制器 224
13.4.3 RTC控制器 224
13.4.4 看門狗定時器 225
13.4.5 試驗:使用GPIO點亮LED 226
13.5 小結 227
第14章 深入Bootloader 228
14.1 初識Bootloader 228
14.1.1 PC(個人電腦)上的Bootloader 228
14.1.2 什麼是嵌入式系統的Bootloader 229
14.1.3 嵌入式系統常見的Bootloader 229
14.2 U-Boot分析 230
14.2.1 獲取U-Boot 230
14.2.2 U-Boot工程結構分析 230
14.2.3 U-Boot總體工作流程 232
14.3 U-Boot啟動流程分析 233
14.3.1 _start標號 233
14.3.2 reset標號 235
14.3.3 cpu_init_crit標號 237
14.3.4 lowlevel_init標號 238
14.3.5 relocate標號 239
14.3.6 start_armboot()函數 240
14.3.7 main_loop()函數 244
14.4 移植U-Boot到開發板 248
14.4.1 U-Boot移植的一般步驟 248
14.4.2 移植U-Boot到目標開發板 249
14.4.3 移植U-Boot的常見問題 250
14.5 小結 251
第15章 解析Linux內核 252
15.1 基本知識 252
15.1.1 什麼是Linux內核 252
15.1.2 Linux內核版本 253
15.1.3 如何獲取Linux內核代碼 253
15.1.4 編譯內核 253
15.2 Linux內核的子系統 260
15.2.1 系統調用接口 260
15.2.2 進程管理子系統 261
15.2.3 內存管理子系統 262
15.2.4 虛擬文件系統 263
15.2.5 網絡堆棧 264
15.2.6 設備驅動 265
15.2.7 依賴體系結構的代碼 266
15.3 Linux內核代碼的工程結構 266
15.3.1 源代碼目錄布局 266
15.3.2 幾個重要的Linux內核文件 267
15.4 內核編譯系統 268
15.4.1 內核編譯系統基本架構 269
15.4.2 內核頂層Makefile分析 269
15.4.3 內核編譯文件分析 274
15.4.4 目標文件清除機制 278
15.4.5 編譯輔助程序 279
15.4.6 KBuild變量 281
15.5 小結 282
第16章 嵌入式Linux啟動流程 283
16.1 Linux內核初始化流程 283
16.2 PC的初始化流程 284
16.2.1 PC BIOS功能和作用 284
16.2.2 硬盤的數據結構 285
16.2.3 完整的初始化流程 286
16.3 嵌入式系統的初始化 286
16.4 Linux內核初始化 287
16.4.1 解壓縮內核映像 287
16.4.2 進入內核代碼 289
16.5 啟動init內核進程 291
16.6 根文件系統初始化 292
16.6.1 根文件系統介紹 292
16.6.2 掛載虛擬文件系統 294
16.7 內核交出權限 300
16.8 init進程 300
16.9 初始化RAM Disk 301
16.9.1 RAM Disk介紹 301
16.9.2 如何使用RAM Disk 302
16.9.3 實例:使用RAM Disk作為根文件系統 302
16.10 小結 303
第17章 Linux文件系統 304
17.1 Linux文件管理 304
17.1.1 文件和目錄的概念 304
17.1.2 文件的結構 305
17.1.3 文件的類型 305
17.1.4 文件系統的目錄結構 307
17.1.5 文件和目錄的存取權限 308
17.1.6 文件系統管理 310
17.2 Linux文件系統原理 311
17.2.1 非日志文件系統 311
17.2.2 日志文件系統 311
17.3 常見的Linux文件系統 312
17.3.1 ext2文件系統 312
17.3.2 ext3文件系統 315
17.3.3 ReiserFS文件系統 315
17.3.4 JFFS文件系統 316
17.3.5 cramfs文件系統 318
17.4 其他文件系統 319
17.4.1 網絡文件系統 319
17.4.2 /proc影子文件系統 320
17.5 小結 323
第18章 建立交叉編譯工具鏈 324
18.1 什麼是交叉編譯 324
18.2 需要哪些東西 325
18.3 手工創建工具鏈 325
18.3.1 准備工作——獲取源代碼 326
18.3.2 開始了——建立工作環境 326
18.3.3 建立Linux內核頭文件 327
18.3.4 編譯安裝binutils 330
18.3.5 編譯安裝gcc的C編譯器 331
18.3.6 編譯安裝glibc庫 332
18.3.7 編譯安裝gcc的C、C++編譯器 333
18.3.8 最後的工作 334
18.4 使用腳本創建工具鏈 334
18.5 更簡便的方法--獲取已編譯好的交叉編譯環境 336
18.6 小結 336
第19章 強大的命令系統BusyBox 337
19.1 BusyBox簡介 337
19.1.1 簡單易懂的BusyBox 337
19.1.2 BusyBox工作原理 338
19.1.3 安裝BusyBox 339
19.2 交叉編譯BusyBox 341
19.3 使用BusyBox 343
19.3.1 BusyBox初始化 344
19.3.2 目標板BusyBox安裝 346
19.4 小結 348
第20章 Linux內核移植 349
20.1 Linux內核移植要點 349
20.2 平台相關代碼結構 350
20.3 建立目標平台工程框架 351
20.3.1 加入編譯菜單項 352
20.3.2 設置宏與代碼文件的對應關系 352
20.3.3 測試工程框架 353
20.4 建立目標平台代碼框架 354
20.4.1 ARM處理器相關結構 354
20.4.2 建立machine_desc結構 356
20.4.3 加入處理函數 356
20.4.4 加入定時器結構 357
20.4.5 測試代碼結構 357
20.5 構建目標板代碼 357
20.5.1 處理器初始化 358
20.5.2 端口映射 360
20.5.3 中斷處理 361
20.5.4 定時器處理 361
20.5.5 編譯最終代碼 361
20.6 小結 362
第21章 內核和應用程序調試技術 363
21.1 使用GDB調試應用程序概述 363
21.2 基本的調試技術 363
21.2.1 列出源代碼 366
21.2.2 斷點管理 368
21.2.3 執行程序 370
21.2.4 顯示程序變量 370
21.2.5 信號管理 371
21.2.6 調試實例 371
21.3 多進程調試 372
21.4 調試意外終止的程序 374
21.5 內核調試技術 376
21.5.1 printk打印調試信息 376
21.5.2 使用/proc虛擬文件系統 377
21.5.3 使用KDB調試工具 379
21.5.4 KDB調試指令 382
21.6 小結 384
第4篇 Linux嵌入式驅動開發篇
第22章 Linux設備驅動 386
22.1 設備驅動介紹 386
22.2 Linux內核模塊 386
22.2.1 內核模塊簡介 387
22.2.2 內核模塊的結構 387
22.2.3 內核模塊的加載和卸載 388
22.2.4 編寫一個基本的內核模塊 389
22.2.5 編譯內核模塊 390
22.2.6 為內核模塊添加參數 391
22.3 Linux設備驅動 392
22.3.1 PCI局部總線介紹 392
22.3.2 Linux設備驅動基本概念 393
22.3.3 字符設備 394
22.3.4 塊設備 396
22.3.5 網絡設備 396
22.4 字符設備驅動開發實例 396
22.4.1 開發一個基本的字符設備驅動 397
22.4.2 測試字符設備驅動 399
22.5 小結 400
第23章 網絡設備驅動程序 401
23.1 網絡基礎知識 401
23.1.1 ISO/OSI網絡參考模型 401
23.1.2 TCP/IP協議 402
23.2 以太網基礎 404
23.2.1 工作原理 405
23.2.2 常見以太網標准 405
23.2.3 拓撲結構 406
23.2.4 工作模式 406
23.3 網卡工作原理 407
23.4 內核網絡分層結構 408
23.4.1 內核網絡結構 408
23.4.2 與網絡有關的數據結構 409
23.4.3 內核網絡部分的全局變量 410
23.5 內核網絡設備驅動框架 411
23.5.1 net_device結構 411
23.5.2 數據包接收流程 413
23.5.3 數據包發送流程 415
23.6 實例:DM9000網卡驅動分析 416
23.6.1 DM9000芯片介紹 416
23.6.2 網卡驅動程序框架 416
23.6.3 DM9000網卡驅動主要數據結構 417
23.6.4 加載驅動程序 418
23.6.5 停止和啟動網卡 423
23.6.6 發送數據包 425
23.6.7 接收數據包 427
23.6.8 中斷和定時器處理 429
23.7 小結 431
第24章 Flash設備驅動 432
24.1 Linux Flash驅動結構 432
24.1.1 什麼是MTD 432
24.1.2 MTD系統結構 433
24.2 Flash設備基礎 434
24.2.1 存儲原理 434
24.2.2 性能比較 435
24.3 內核MTD層 436
24.3.1 mtd_info結構 436
24.3.2 mtd_part結構 439
24.3.3 mtd_partition結構 440
24.3.4 map_info結構 440
24.3.5 nand_chip結構 442
24.4 Flash設備框架 443
24.4.1 NOR Flash設備驅動框架 443
24.4.2 NAND Flash設備驅動框架 444
24.5 Flash設備驅動實例--NOR Flash設備驅動剖析 445
24.5.1 數據結構 446
24.5.2 驅動初始化 446
24.5.3 驅動卸載 447
24.6 Flash設備驅動實例--NAND Flash設備驅動分析 448
24.6.1 S3C2440 NAND控制器介紹 448
24.6.2 數據結構 450
24.6.3 驅動初始化 450
24.6.4 驅動卸載 454
24.6.5 初始化NAND控制器 455
24.6.6 設置芯片操作 456
24.6.7 電源管理 458
24.7 小結 459
第25章 USB驅動開發 460
25.1 USB體系介紹 460
25.1.1 USB設計目標 460
25.1.2 USB體系概述 461
25.1.3 USB體系工作流程 462
25.2 USB驅動程序框架 462
25.2.1 Linux內核USB驅動框架 462
25.2.2 主機驅動結構 465
25.2.3 設備驅動結構 468
25.2.4 USB驅動程序框架 470
25.3 USB驅動實例剖析 473
25.3.1 USB串口驅動 473
25.3.2 USB鍵盤驅動 475
25.4 小結 478


光盤內容如下:
IPB Image
IPB Image
IPB Image

相關資源:

免責聲明:本網站內容收集於互聯網,本站不承擔任何由於內容的合法性及健康性所引起的爭議和法律責任。如果侵犯了你的權益,請通知我們,我們會及時刪除相關內容,謝謝合作! 聯系信箱:[email protected]

Copyright © 電驢下載基地 All Rights Reserved