最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

嵌入式Linux應(yīng)用開發(fā)完全手冊

2023-07-18 23:41 作者:沒有名字如何行走江湖  | 我要投稿

鏈接:https://pan.baidu.com/s/1WX9vsUjhHyjeK5DGpBey6A?pwd=mag2?

提取碼:mag2

內(nèi)容豐富,重印數(shù)次的Linux嵌入式開發(fā)自學(xué)手冊;
實(shí)例豐富,供讀者親自上手練習(xí),可操作性性強(qiáng);
源于初學(xué)者、服務(wù)初學(xué)者。

內(nèi)容簡介

  本書介紹了嵌入式Linux系統(tǒng)開發(fā)過程中,從底層系統(tǒng)支持到上層GUI應(yīng)用的方方面面,內(nèi)容涵蓋Linux操作系統(tǒng)的安裝及相關(guān)工具的使用、配置,嵌入式編程所需要的基礎(chǔ)知識(shí)(交叉編譯工具的選項(xiàng)設(shè)置、Makefile語法、ARM匯編指令等),硬件部件的使用及編程(囊括了常見硬件,?熱鏤ART、I*IC、LCD等),U-Boot、Linux內(nèi)核的分析、配置和移植,根文件系統(tǒng)的構(gòu)造(包括移植busybox、glibc、制作映象文件等),內(nèi)核調(diào)試技術(shù)(比如添加kgdb補(bǔ)丁、?;厮莸?,驅(qū)動(dòng)程序編寫及移植(LED、按鍵、擴(kuò)展串口、網(wǎng)卡、硬盤、SD卡、LCD和USB等),GUI系統(tǒng)的移植(包含兩個(gè)G
UI系統(tǒng):基于Qtopia和基于X),應(yīng)用程序調(diào)試技術(shù)。
  本書從簡單的點(diǎn)亮一個(gè)LED開始,由淺入深地講解,使讀者**終可以配置、移植、裁剪內(nèi)核,編寫驅(qū)動(dòng)程序,移植GUI系統(tǒng),掌握整個(gè)嵌入式Linux系統(tǒng)的開發(fā)方法。
  本書由淺入深,循序漸進(jìn),適合剛接觸嵌入式Linux的初學(xué)者學(xué)習(xí),也可作為大、中專院校嵌入式相關(guān)專業(yè)本科生、研究生的教材。

目錄

目 錄

第 1篇 嵌入式Linux開發(fā)環(huán)境構(gòu)建篇

第 1章 嵌入式Linux開發(fā)概述 2
1.1 嵌入式系統(tǒng)介紹 2
1.1.1 嵌入式系統(tǒng)的定義和特點(diǎn) 2
1.1.2 嵌入式技術(shù)的發(fā)展歷史 3
1.2 基于ARM處理器的嵌入式Linux系統(tǒng) 5
1.2.1 ARM處理器介紹 5
1.2.2 在嵌入式系統(tǒng)中選擇嵌入式Linux的理由 8

第 2章 嵌入式Linux開發(fā)環(huán)境構(gòu)建 10
2.1 硬件環(huán)境構(gòu)建 10
2.1.1 主機(jī)與目標(biāo)板結(jié)合的交叉開發(fā)模式 10
2.1.2 硬件要求 11
2.2 軟件環(huán)境構(gòu)建 12
2.2.1 主機(jī)Linux操作系統(tǒng)的安裝 12
2.2.2 主機(jī)Linux操作系統(tǒng)上網(wǎng)絡(luò)服務(wù)的配置與啟動(dòng) 18
2.2.3 在主機(jī)Linux操作系統(tǒng)中安裝基本的開發(fā)環(huán)境 23
2.2.4 光盤的內(nèi)容結(jié)構(gòu)及安裝 23
2.2.5 安裝交叉編譯工具鏈 25
2.2.6 書中寫作風(fēng)格的約定 28

第3章 嵌入式編程基礎(chǔ)知識(shí) 29
3.1 交叉編譯工具選項(xiàng)說明 29
3.1.1 arm-linux-gcc選項(xiàng) 29
3.1.2 arm-linux-ld選項(xiàng) 38
3.1.3 arm-linux-objcopy選項(xiàng) 41
3.1.4 arm-linux-objdump選項(xiàng) 43
3.1.5 匯編代碼、機(jī)器碼和存儲(chǔ)器的關(guān)系以及數(shù)據(jù)的表示 44
3.2 Makefile介紹 45
3.2.1 Makefile規(guī)則 45
3.2.2 Makefile文件里的賦值方法 46
3.2.3 Makefile常用函數(shù) 46
3.3 常用ARM匯編指令及ATPCS規(guī)則 52
3.3.1 本書使用的所有匯編指令 52
3.3.2 ARM-THUMB子程序調(diào)用規(guī)則ATPCS 55

第4章 Windows、Linux環(huán)境下相關(guān)工具、命令的使用 58
4.1 Windows環(huán)境下的工具介紹 58
4.1.1 代碼閱讀、編輯工具Source Insight 58
4.1.2 文件傳輸工具Cuteftp 63
4.1.3 遠(yuǎn)程登錄工具SecureCRT 63
4.1.4 TFTP服務(wù)器軟件Tftpd32 64
4.2 Linux環(huán)境下的工具、命令介紹 65
4.2.1 代碼閱讀、編輯工具KScope 65
4.2.2 遠(yuǎn)程登錄工具C-kermit 69
4.2.3 編輯命令vi 69
4.2.4 查找命令grep、find命令 71
4.2.5 在線手冊查看命令man 72
4.2.6 其他命令:tar、diff、patch 73

第 2篇 ARM9嵌入式系統(tǒng)基礎(chǔ)實(shí)例篇

第5章 GPIO接口 76
5.1 GPIO硬件介紹 76
5.1.1 通過寄存器來操作GPIO引腳 76
5.1.2 怎樣使用軟件來訪問硬件 77
5.2 GPIO操作實(shí)例:LED和按鍵 80
5.2.1 硬件設(shè)計(jì) 80
5.2.2 程序設(shè)計(jì)及代碼詳解 80
5.2.3 實(shí)例測試 86

第6章 存儲(chǔ)器控制 87
6.1 使用存儲(chǔ)控制器訪問外設(shè)的原理 87
6.1.1 S3C2410/S3C2440的地址空間 87
6.1.2 存儲(chǔ)控制器與外設(shè)的關(guān)系 89
6.1.3 存儲(chǔ)控制器的寄存器使用方法 91
6.2 存儲(chǔ)控制器操作實(shí)例:使用SDRAM 94
6.2.1 代碼詳解及程序的復(fù)制、跳轉(zhuǎn)過程 94
6.2.2 實(shí)例測試 97

第7章 內(nèi)存管理單元MMU 98
7.1 內(nèi)存管理單元MMU介紹 98
7.1.1 S3C2410/S3C2440 MMU特性 98
7.1.2 S3C2410/S3C2440 MMU地址變換過程 99
7.1.3 內(nèi)存的訪問權(quán)限檢查 107
7.1.4 TLB的作用 109
7.1.5 Cache的作用 110
7.1.6 S3C2410/S3C2440 MMU、TLB、Cache的控制指令 113
7.2 MMU使用實(shí)例:地址映射 113
7.2.1 程序設(shè)計(jì) 113
7.2.2 代碼詳解 114
7.2.3 實(shí)例測試 124

第8章 NAND Flash控制器 125
8.1 NAND Flash介紹和NAND Flash控制器使用 125
8.1.1 Flash介紹 125
8.1.2 NAND Flash的物理結(jié)構(gòu) 127
8.1.3 NAND Flash訪問方法 128
8.1.4 S3C2410/S3C2440 NAND Flash控制器介紹 134
8.2 NAND Flash控制器操作實(shí)例:讀Flash 135
8.2.1 讀NAND Flash的步驟 135
8.2.2 代碼詳解 137

第9章 中斷體系結(jié)構(gòu) 143
9.1 S3C2410/S3C2440中斷體系結(jié)構(gòu) 143
9.1.1 ARM體系CPU的7種工作模式 143
9.1.2 S3C2410/S3C2440中斷控制器 146
9.1.3 中斷控制器寄存器 149
9.2 中斷控制器操作實(shí)例:外部中斷 151
9.2.1 按鍵中斷代碼詳解 151
9.2.2 實(shí)例測試 158

第 10章 系統(tǒng)時(shí)鐘和定時(shí)器 159
10.1 時(shí)鐘體系及各類時(shí)鐘部件 159
10.1.1 S3C2410/S3C2440時(shí)鐘體系 159
10.1.2 PWM定時(shí)器 161
10.1.3 WATCHDOG定時(shí)器 164
10.2 MPLL和定時(shí)器操作實(shí)例 166
10.2.1 程序設(shè)計(jì) 166
10.2.2 代碼詳解  166
10.2.3 實(shí)例測試 170

第 11章 通用異步收發(fā)器UART 171
11.1 UART原理及UART部件使用方法 171
11.1.1 UART原理說明 171
11.1.2 S3C2410/S3C2440 UART的特性 172
11.1.3 S3C2410/S3C2440 UART的使用 173
11.2 UART操作實(shí)例 177
11.2.1 代碼詳解 177
11.2.2 實(shí)例測試 180

第 12章 I*IC接口 181
12.1 I*IC總線協(xié)議及硬件介紹 181
12.1.1 I*IC總線協(xié)議 181
12.1.2 S3C2410/S3C2440 I*IC總線控制器 184
12.2 I*IC總線操作實(shí)例 187
12.2.1 I*IC接口RTC芯片M41t11的操作方法 187
12.2.2 程序設(shè)計(jì) 188
12.2.3 設(shè)置/讀取M41t11的源碼詳解 188
12.2.4 I*IC實(shí)例的連接腳本 195
12.2.5 實(shí)例測試 196

第 13章 LCD控制器 197
13.1 LCD和LCD控制器 197
13.1.1 LCD顯示器 197
13.1.2 S3C2410/S3C2440 LCD控制器介紹 199
13.2 TFT LCD顯示實(shí)例 210
13.2.1 程序設(shè)計(jì) 210
13.2.2 代碼詳解 210
13.2.3 實(shí)例測試 221

第 14章 ADC和觸摸屏接口 222
14.1 ADC和觸摸屏硬件介紹及使用 222
14.1.1 S3C2410/S3C2440 ADC和觸摸屏接口概述 222
14.1.2 S3C3410/S3C2440 ADC接口的使用方法 224
14.1.3 觸摸屏原理及接口 226
14.2 ADC和觸摸屏操作實(shí)例 230
14.2.1 硬件設(shè)計(jì) 230
14.2.2 程序設(shè)計(jì) 230
14.2.3 測試ADC的代碼詳解 230
14.2.4 測試觸摸屏的代碼詳解 232
14.2.5 實(shí)例測試 237

第3篇 嵌入式Linux系統(tǒng)移植篇

第 15章 移植U-Boot 240
15.1 Bootloader簡介 240
15.1.1 Bootloader的概念 240
15.1.2 Bootloader的結(jié)構(gòu)和啟動(dòng)過程 241
15.1.3 常用Bootloader介紹 246
15.2 U-Boot分析與移植 246
15.2.1 U-Boot工程簡介 246
15.2.2 U-Boot源碼結(jié)構(gòu) 247
15.2.3 U-Boot的配置、編譯、連接過程 249
15.2.4 U-Boot的啟動(dòng)過程源碼分析 257
15.2.5 U-Boot的移植 264
15.2.6 U-Boot的常用命令 288
15.2.7 使用U-Boot來執(zhí)行程序 292

第 16章 移植Linux內(nèi)核 293
16.1 Linux版本及特點(diǎn) 293
16.2 Linux移植準(zhǔn)備 294
16.2.1 獲取內(nèi)核源碼 294
16.2.2 內(nèi)核源碼結(jié)構(gòu)及Makefile分析 295
16.2.3 內(nèi)核的Kconfig分析 304
16.2.4 Linux內(nèi)核配置選項(xiàng) 309
16.3 Linux內(nèi)核移植 313
16.3.1 Linux內(nèi)核啟動(dòng)過程概述 313
16.3.2 修改內(nèi)核以支持S3C2410/S3C2440開發(fā)板 314
16.3.3 修改MTD分區(qū) 327
16.3.4 移植YAFFS文件系統(tǒng) 330
16.3.5 編譯、燒寫、啟動(dòng)內(nèi)核 333

第 17章 構(gòu)建Linux根文件系統(tǒng) 335
17.1 Linux文件系統(tǒng)概述 335
17.1.1 Linux文件系統(tǒng)的特點(diǎn) 335
17.1.2 Linux根文件系統(tǒng)目錄結(jié)構(gòu) 336
17.1.3 Linux文件屬性介紹 340
17.2 移植Busybox 341
17.2.1 Busybox概述 341
17.2.2 init進(jìn)程介紹及用戶程序啟動(dòng)過程 342
17.2.3 編譯/安裝Busybox 346
17.3 使用glibc庫 350
17.3.1 glibc庫的組成 350
17.3.2 安裝glibc庫 351
17.4 構(gòu)建根文件系統(tǒng) 352
17.4.1 構(gòu)建etc目錄 352
17.4.2 構(gòu)建dev目錄 354
17.4.3 構(gòu)建其他目錄 356
17.4.4 制作/使用yaffs文件系統(tǒng)映象文件 356
17.4.5 制作/使用jffs2文件系統(tǒng)映象文件 360

第 18章 Linux內(nèi)核調(diào)試技術(shù) 362
18.1 內(nèi)核打印函數(shù)printk 362
18.1.1 printk的使用 362
18.1.2 串口控制臺(tái) 364
18.2 內(nèi)核源碼級別的調(diào)試方法 366
18.2.1 內(nèi)核調(diào)試工具KGDB的作用與原理 366
18.2.2 給內(nèi)核添加KGDB功能支持S3C2410/S3C2440 367
18.2.3 結(jié)合可視化圖形前端DDD和gdb來調(diào)試內(nèi)核 372
18.3 Oops信息及棧回溯 375
18.3.1 Oops信息來源及格式 375
18.3.2 配置內(nèi)核使Oops信息的?;厮菪畔⒏庇^ 376
18.3.3 使用Oops信息調(diào)試內(nèi)核的實(shí)例 376
18.3.4 使用Oops的棧信息手工進(jìn)行?;厮荨?80

第4篇 嵌入式Linux設(shè)備驅(qū)動(dòng)開發(fā)篇

第 19章 字符設(shè)備驅(qū)動(dòng)程序 384
19.1 Linux驅(qū)動(dòng)程序開發(fā)概述 384
19.1.1 應(yīng)用程序、庫、內(nèi)核、驅(qū)動(dòng)程序的關(guān)系 384
19.1.2 Linux驅(qū)動(dòng)程序的分類和開發(fā)步驟 385
19.1.3 驅(qū)動(dòng)程序的加載和卸載 387
19.2 字符設(shè)備驅(qū)動(dòng)程序開發(fā) 387
19.2.1 字符設(shè)備驅(qū)動(dòng)程序中重要的數(shù)據(jù)結(jié)構(gòu)和函數(shù) 387
19.2.2 LED驅(qū)動(dòng)程序源碼分析 389

第 20章 Linux異常處理體系結(jié)構(gòu) 396
20.1 Linux異常處理體系結(jié)構(gòu)概述 396
20.1.1 Linux異常處理的層次結(jié)構(gòu) 396
20.1.2 常見的異?!?00
20.2 Linux中斷處理體系結(jié)構(gòu) 401
20.2.1 中斷處理體系結(jié)構(gòu)的初始化 401
20.2.2 用戶注冊中斷處理函數(shù)的過程 404
20.2.3 中斷的處理過程 406
20.2.4 卸載中斷處理函數(shù) 409
20.3 使用中斷的驅(qū)動(dòng)程序示例 410
20.3.1 按鍵驅(qū)動(dòng)程序源碼分析 410
20.3.2 測試程序情景分析 415

第 21章 擴(kuò)展串口驅(qū)動(dòng)程序移植 419
21.1 串口驅(qū)動(dòng)程序框架概述 419
21.1.1 串口驅(qū)動(dòng)程序術(shù)語介紹 419
21.1.2 串口驅(qū)動(dòng)程序的4層結(jié)構(gòu) 420
21.2 擴(kuò)展串口驅(qū)動(dòng)程序移植 423
21.2.1 串口驅(qū)動(dòng)程序低層代碼分析 423
21.2.2 修改代碼以支持?jǐn)U展串口 425
21.2.3 測試擴(kuò)展串口 429

第 22章 網(wǎng)卡驅(qū)動(dòng)程序移植 431
22.1 CS8900A網(wǎng)卡驅(qū)動(dòng)程序移植 431
22.1.1 CS8900A網(wǎng)卡特性 431
22.1.2 CS8900A網(wǎng)卡驅(qū)動(dòng)程序修改 432
22.2 DM9000網(wǎng)卡驅(qū)動(dòng)程序移植 441
22.2.1 DM9000網(wǎng)卡特性 441
22.2.2 DM9000網(wǎng)卡驅(qū)動(dòng)程序修改 442

第 23章 IDE接口和SD卡驅(qū)動(dòng)程序移植 450
23.1 IDE接口驅(qū)動(dòng)程序移植 450
23.1.1 IDE接口相關(guān)概念介紹 450
23.1.2 IDE接口驅(qū)動(dòng)程序移植 452
23.1.3 IDE接口驅(qū)動(dòng)程序測試 461
23.2 SD卡驅(qū)動(dòng)程序移植 464
23.2.1 SD卡相關(guān)概念介紹 464
23.2.2 SD卡驅(qū)動(dòng)程序移植 465
23.2.3 SD卡驅(qū)動(dòng)程序測試 472
23.2.4 磁盤分區(qū)表 473

第 24章 LCD和USB驅(qū)動(dòng)程序移植 475
24.1 LCD驅(qū)動(dòng)程序移植 475
24.1.1 LCD和USB鍵盤驅(qū)動(dòng)程序框架 475
24.1.2 S3C2410/S3C2440 LCD控制器驅(qū)動(dòng)程序移植 479
24.2 USB驅(qū)動(dòng)程序移植 489
24.2.1 USB驅(qū)動(dòng)程序概述 489
24.2.2 配置內(nèi)核支持USB鍵盤、USB鼠標(biāo)和USB硬盤  491
24.2.3 USB設(shè)備的使用 492

第5篇 嵌入式Linux系統(tǒng)應(yīng)用開發(fā)篇

第 25章 嵌入式GUI開發(fā) 496
25.1 嵌入式GUI介紹 496
25.1.1 Linux桌面GUI系統(tǒng)的發(fā)展 496
25.1.2 嵌入式Linux中的幾種GUI 499
25.2 Qtopia移植 501
25.2.1 主機(jī)開發(fā)環(huán)境的搭建 501
25.2.2 交叉編譯、安裝Qtopia 2.2.0 502
25.2.3 開發(fā)自己的Qt GUI程序 514
25.2.4 在主機(jī)上使用模擬軟件開發(fā)、調(diào)試嵌入式Qt GUI程序 518

第 26章 基于X的GUI開發(fā) 524
26.1 X Window概述 524
26.1.1 X協(xié)議介紹 524
26.1.2 窗口管理器(Window manager) 526
26.1.3 桌面環(huán)境(Desktop environment) 526
26.2 交叉編譯工具包Scratchbox 526
26.2.1 Scratchbox介紹 527
26.2.2 安裝Scratchbox及編譯工具 528
26.2.3 在Scratchbox里安裝交叉編譯工具鏈 529
26.2.4 安裝其他開發(fā)工具 535
26.3 移植X 536
26.3.1 編譯軟件的基本知識(shí) 536
26.3.2 編譯X的依賴軟件 539
26.3.3 編譯Xorg 542
26.4 移植Matchbox 547
26.4.1 下載源代碼 548
26.4.2 編譯Matchbox 548
26.4.3 運(yùn)行、試驗(yàn)Matchbox 550
26.5 移植GTK+ 553
26.5.1 GTK+介紹 553
26.5.2 GTK+移植 553
26.6 移植基于GTK+/X的GUI程序 555
26.6.1 xterm移植 556
26.6.2 gtkboard移植 557
26.6.3 裁剪文件系統(tǒng) 560

第 27章 Linux應(yīng)用程序調(diào)試技術(shù) 564
27.1 使用strace工具跟蹤系統(tǒng)調(diào)用和信號(hào) 564
27.1.1 strace介紹及移植 564
27.1.2 使用strace來調(diào)試程序 565
27.2 內(nèi)存調(diào)試工具 568
27.2.1 使用memwatch進(jìn)行內(nèi)存調(diào)試 568
27.2.2 其他內(nèi)存工具介紹:mtrace、dmalloc、yamd 571
27.3 段錯(cuò)誤的調(diào)試方法 573
27.3.1 使用庫函數(shù)backtrace和backtrace_symbols定位段錯(cuò)誤 573
27.3.2 段錯(cuò)誤調(diào)試實(shí)例 574

參考文獻(xiàn) 578

查看全部↓


嵌入式Linux應(yīng)用開發(fā)完全手冊的評論 (共 條)

分享到微博請遵守國家法律
如皋市| 时尚| SHOW| 延安市| 嘉义县| 敖汉旗| 惠来县| 洱源县| 桂平市| 柳州市| 伊宁市| 静海县| 台中市| 南雄市| 克东县| 额尔古纳市| 墨竹工卡县| 平南县| 岗巴县| 亚东县| 玛纳斯县| 洪泽县| 贺兰县| 滦平县| 海林市| 兴隆县| 德令哈市| 抚远县| 界首市| 德清县| 商都县| 雷山县| 兰考县| 茂名市| 台中县| 绍兴市| 永康市| 杭锦后旗| 乌什县| 玛曲县| 罗平县|