中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊
> >>
嵌入式Linux應用開發完全手冊

包郵 嵌入式Linux應用開發完全手冊

作者:韋東山
出版社:人民郵電出版社出版時間:2008-08-01
開本: 16開 頁數: 596
中 圖 價:¥52.2(5.8折) 定價  ¥89.8 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>

嵌入式Linux應用開發完全手冊 版權信息

嵌入式Linux應用開發完全手冊 本書特色

  本書介紹了嵌入式Linux系統開發過程中,從底層系統支持到上層GUI應用的方方面面,內容涵蓋Linux操作系統的安裝及相關工具的使用、配置,嵌入式編程所需要的基礎知識(交叉編譯工具的選項設置、Makefile語法、ARM匯編指令等),硬件部件的使用及編程(囊括了常見硬件,?熱?UART、I*IC、LCD等),U-Boot、Linux內核的分析、配置和移植,根文件系統的構造(包括移植busybox、glibc、制作映象文件等),內核調試技術(比如添加kgdb補丁、棧回溯等),驅動程序編寫及移植(LED、按鍵、擴展串口、網卡、硬盤、SD卡、LCD和USB等),GUI系統的移植(包含兩個G

UI系統:基于Qtopia和基于X),應用程序調試技術。

  本書從**簡單的點亮一個LED開始,由淺入深地講解,使讀者**終可以配置、移植、裁剪內核,編寫驅動程序,移植GUI系統,掌握整個嵌入式Linux系統的開發方法。
  本書介紹了嵌入式Linux系統開發過程中,從底層系統支持到上層GUI應用的方方面面,內容涵蓋Linux操作系統的安裝及相關工具的使用、配置,嵌入式編程所需要的基礎知識(交叉編譯工具的選項設置、Makefile語法、ARM匯編指令等),硬件部件的使用及編程(囊括了常見硬件,?熱?UART、I*IC、LCD等),U-Boot、Linux內核的分析、配置和移植,根文件系統的構造(包括移植busybox、glibc、制作映象文件等),內核調試技術(比如添加kgdb補丁、棧回溯等),驅動程序編寫及移植(LED、按鍵、擴展串口、網卡、硬盤、SD卡、LCD和USB等),GUI系統的移植(包含兩個G

UI系統:基于Qtopia和基于X),應用程序調試技術。

  本書從**簡單的點亮一個LED開始,由淺入深地講解,使讀者**終可以配置、移植、裁剪內核,編寫驅動程序,移植GUI系統,掌握整個嵌入式Linux系統的開發方法。

  本書由淺入深,循序漸進,適合剛接觸嵌入式Linux的初學者學習,也可作為大、中專院校嵌入式相關專業本科生、研究生的教材。

嵌入式Linux應用開發完全手冊 內容簡介

本書全面介紹了嵌入式Linux系統開發過程中,從底層系統支持到上層GUI應用的方方面面,內容涵蓋Linux操作系統的安裝及相關工具的使用、配置,嵌入式編程所需要的基礎知識(交叉編譯工具的選項設置、Makefile語法、ARM匯編指令等),硬件部件的使用及編程(囊括了常見硬件,比如UART、I2C、LCD等),U-Boot、Linux內核的分析、配置和移植,根文件系統的構造(包括移植busybox、glibc、制作映象文件等),內核調試技術(比如添加kgdb補丁、棧回溯等),驅動程序編寫及移植(LED、按鍵、擴展串口、網卡、硬盤、SD卡、LCD和USB等),GUI系統的移植(包含兩個GUI系統:基于Qtopia和基于X),應用程序調試技術。
本書從*簡單的點亮一個LED開始,由淺入深地講解,使讀者*終可以配置、移植、裁剪內核,編寫驅動程序,移植GUI系統,掌握整個嵌入式Linux系統的開發方法。
本書由淺入深,循序漸進,適合剛接觸嵌入式Linux的初學者學習,也可作為大、中專院校嵌入式相關專業本科生、研究生的教材。

嵌入式Linux應用開發完全手冊 目錄

目 錄



第 1篇 嵌入式Linux開發環境構建篇



第 1章 嵌入式Linux開發概述 2

1.1 嵌入式系統介紹 2

1.1.1 嵌入式系統的定義和特點 2

1.1.2 嵌入式技術的發展歷史 3

1.2 基于ARM處理器的嵌入式Linux系統 5

1.2.1 ARM處理器介紹 5

1.2.2 在嵌入式系統中選擇嵌入式Linux的理由 8



第 2章 嵌入式Linux開發環境構建 10

2.1 硬件環境構建 10

2.1.1 主機與目標板結合的交叉開發模式 10

2.1.2 硬件要求 11

2.2 軟件環境構建 12

2.2.1 主機Linux操作系統的安裝 12

2.2.2 主機Linux操作系統上網絡服務的配置與啟動 18

2.2.3 在主機Linux操作系統中安裝基本的開發環境 23

2.2.4 光盤的內容結構及安裝 23

2.2.5 安裝交叉編譯工具鏈 25

2.2.6 書中寫作風格的約定 28



第3章 嵌入式編程基礎知識 29

3.1 交叉編譯工具選項說明 29

3.1.1 arm-linux-gcc選項 29

3.1.2 arm-linux-ld選項 38

3.1.3 arm-linux-objcopy選項 41

3.1.4 arm-linux-objdump選項 43

3.1.5 匯編代碼、機器碼和存儲器的關系以及數據的表示 44

3.2 Makefile介紹 45

3.2.1 Makefile規則 45

3.2.2 Makefile文件里的賦值方法 46

3.2.3 Makefile常用函數 46

3.3 常用ARM匯編指令及ATPCS規則 52

3.3.1 本書使用的所有匯編指令 52

3.3.2 ARM-THUMB子程序調用規則ATPCS 55



第4章 Windows、Linux環境下相關工具、命令的使用 58

4.1 Windows環境下的工具介紹 58

4.1.1 代碼閱讀、編輯工具Source Insight 58

4.1.2 文件傳輸工具Cuteftp 63

4.1.3 遠程登錄工具SecureCRT 63

4.1.4 TFTP服務器軟件Tftpd32 64

4.2 Linux環境下的工具、命令介紹 65

4.2.1 代碼閱讀、編輯工具KScope 65

4.2.2 遠程登錄工具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嵌入式系統基礎實例篇



第5章 GPIO接口 76

5.1 GPIO硬件介紹 76

5.1.1 通過寄存器來操作GPIO引腳 76

5.1.2 怎樣使用軟件來訪問硬件 77

5.2 GPIO操作實例:LED和按鍵 80

5.2.1 硬件設計 80

5.2.2 程序設計及代碼詳解 80

5.2.3 實例測試 86



第6章 存儲器控制 87

6.1 使用存儲控制器訪問外設的原理 87

6.1.1 S3C2410/S3C2440的地址空間 87

6.1.2 存儲控制器與外設的關系 89

6.1.3 存儲控制器的寄存器使用方法 91

6.2 存儲控制器操作實例:使用SDRAM 94

6.2.1 代碼詳解及程序的復制、跳轉過程 94

6.2.2 實例測試 97



第7章 內存管理單元MMU 98

7.1 內存管理單元MMU介紹 98

7.1.1 S3C2410/S3C2440 MMU特性 98

7.1.2 S3C2410/S3C2440 MMU地址變換過程 99

7.1.3 內存的訪問權限檢查 107

7.1.4 TLB的作用 109

7.1.5 Cache的作用 110

7.1.6 S3C2410/S3C2440 MMU、TLB、Cache的控制指令 113

7.2 MMU使用實例:地址映射 113

7.2.1 程序設計 113

7.2.2 代碼詳解 114

7.2.3 實例測試 124



第8章 NAND Flash控制器 125

8.1 NAND Flash介紹和NAND Flash控制器使用 125

8.1.1 Flash介紹 125

8.1.2 NAND Flash的物理結構 127

8.1.3 NAND Flash訪問方法 128

8.1.4 S3C2410/S3C2440 NAND Flash控制器介紹 134

8.2 NAND Flash控制器操作實例:讀Flash 135

8.2.1 讀NAND Flash的步驟 135

8.2.2 代碼詳解 137



第9章 中斷體系結構 143

9.1 S3C2410/S3C2440中斷體系結構 143

9.1.1 ARM體系CPU的7種工作模式 143

9.1.2 S3C2410/S3C2440中斷控制器 146

9.1.3 中斷控制器寄存器 149

9.2 中斷控制器操作實例:外部中斷 151

9.2.1 按鍵中斷代碼詳解 151

9.2.2 實例測試 158



第 10章 系統時鐘和定時器 159

10.1 時鐘體系及各類時鐘部件 159

10.1.1 S3C2410/S3C2440時鐘體系 159

10.1.2 PWM定時器 161

10.1.3 WATCHDOG定時器 164

10.2 MPLL和定時器操作實例 166

10.2.1 程序設計 166

10.2.2 代碼詳解  166

10.2.3 實例測試 170



第 11章 通用異步收發器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操作實例 177

11.2.1 代碼詳解 177

11.2.2 實例測試 180



第 12章 I*IC接口 181

12.1 I*IC總線協議及硬件介紹 181

12.1.1 I*IC總線協議 181

12.1.2 S3C2410/S3C2440 I*IC總線控制器 184

12.2 I*IC總線操作實例 187

12.2.1 I*IC接口RTC芯片M41t11的操作方法 187

12.2.2 程序設計 188

12.2.3 設置/讀取M41t11的源碼詳解 188

12.2.4 I*IC實例的連接腳本 195

12.2.5 實例測試 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顯示實例 210

13.2.1 程序設計 210

13.2.2 代碼詳解 210

13.2.3 實例測試 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和觸摸屏操作實例 230

14.2.1 硬件設計 230

14.2.2 程序設計 230

14.2.3 測試ADC的代碼詳解 230

14.2.4 測試觸摸屏的代碼詳解 232

14.2.5 實例測試 237



第3篇 嵌入式Linux系統移植篇



第 15章 移植U-Boot 240

15.1 Bootloader簡介 240

15.1.1 Bootloader的概念 240

15.1.2 Bootloader的結構和啟動過程 241

15.1.3 常用Bootloader介紹 246

15.2 U-Boot分析與移植 246

15.2.1 U-Boot工程簡介 246

15.2.2 U-Boot源碼結構 247

15.2.3 U-Boot的配置、編譯、連接過程 249

15.2.4 U-Boot的啟動過程源碼分析 257

15.2.5 U-Boot的移植 264

15.2.6 U-Boot的常用命令 288

15.2.7 使用U-Boot來執行程序 292



第 16章 移植Linux內核 293

16.1 Linux版本及特點 293

16.2 Linux移植準備 294

16.2.1 獲取內核源碼 294

16.2.2 內核源碼結構及Makefile分析 295

16.2.3 內核的Kconfig分析 304

16.2.4 Linux內核配置選項 309

16.3 Linux內核移植 313

16.3.1 Linux內核啟動過程概述 313

16.3.2 修改內核以支持S3C2410/S3C2440開發板 314

16.3.3 修改MTD分區 327

16.3.4 移植YAFFS文件系統 330

16.3.5 編譯、燒寫、啟動內核 333



第 17章 構建Linux根文件系統 335

17.1 Linux文件系統概述 335

17.1.1 Linux文件系統的特點 335

17.1.2 Linux根文件系統目錄結構 336

17.1.3 Linux文件屬性介紹 340

17.2 移植Busybox 341

17.2.1 Busybox概述 341

17.2.2 init進程介紹及用戶程序啟動過程 342

17.2.3 編譯/安裝Busybox 346

17.3 使用glibc庫 350

17.3.1 glibc庫的組成 350

17.3.2 安裝glibc庫 351

17.4 構建根文件系統 352

17.4.1 構建etc目錄 352

17.4.2 構建dev目錄 354

17.4.3 構建其他目錄 356

17.4.4 制作/使用yaffs文件系統映象文件 356

17.4.5 制作/使用jffs2文件系統映象文件 360



第 18章 Linux內核調試技術 362

18.1 內核打印函數printk 362

18.1.1 printk的使用 362

18.1.2 串口控制臺 364

18.2 內核源碼級別的調試方法 366

18.2.1 內核調試工具KGDB的作用與原理 366

18.2.2 給內核添加KGDB功能支持S3C2410/S3C2440 367

18.2.3 結合可視化圖形前端DDD和gdb來調試內核 372

18.3 Oops信息及棧回溯 375

18.3.1 Oops信息來源及格式 375

18.3.2 配置內核使Oops信息的棧回溯信息更直觀 376

18.3.3 使用Oops信息調試內核的實例 376

18.3.4 使用Oops的棧信息手工進行棧回溯 380



第4篇 嵌入式Linux設備驅動開發篇



第 19章 字符設備驅動程序 384

19.1 Linux驅動程序開發概述 384

19.1.1 應用程序、庫、內核、驅動程序的關系 384

19.1.2 Linux驅動程序的分類和開發步驟 385

19.1.3 驅動程序的加載和卸載 387

19.2 字符設備驅動程序開發 387

19.2.1 字符設備驅動程序中重要的數據結構和函數 387

19.2.2 LED驅動程序源碼分析 389



第 20章 Linux異常處理體系結構 396

20.1 Linux異常處理體系結構概述 396

20.1.1 Linux異常處理的層次結構 396

20.1.2 常見的異常 400

20.2 Linux中斷處理體系結構 401

20.2.1 中斷處理體系結構的初始化 401

20.2.2 用戶注冊中斷處理函數的過程 404

20.2.3 中斷的處理過程 406

20.2.4 卸載中斷處理函數 409

20.3 使用中斷的驅動程序示例 410

20.3.1 按鍵驅動程序源碼分析 410

20.3.2 測試程序情景分析 415



第 21章 擴展串口驅動程序移植 419

21.1 串口驅動程序框架概述 419

21.1.1 串口驅動程序術語介紹 419

21.1.2 串口驅動程序的4層結構 420

21.2 擴展串口驅動程序移植 423

21.2.1 串口驅動程序低層代碼分析 423

21.2.2 修改代碼以支持擴展串口 425

21.2.3 測試擴展串口 429



第 22章 網卡驅動程序移植 431

22.1 CS8900A網卡驅動程序移植 431

22.1.1 CS8900A網卡特性 431

22.1.2 CS8900A網卡驅動程序修改 432

22.2 DM9000網卡驅動程序移植 441

22.2.1 DM9000網卡特性 441

22.2.2 DM9000網卡驅動程序修改 442



第 23章 IDE接口和SD卡驅動程序移植 450

23.1 IDE接口驅動程序移植 450

23.1.1 IDE接口相關概念介紹 450

23.1.2 IDE接口驅動程序移植 452

23.1.3 IDE接口驅動程序測試 461

23.2 SD卡驅動程序移植 464

23.2.1 SD卡相關概念介紹 464

23.2.2 SD卡驅動程序移植 465

23.2.3 SD卡驅動程序測試 472

23.2.4 磁盤分區表 473



第 24章 LCD和USB驅動程序移植 475

24.1 LCD驅動程序移植 475

24.1.1 LCD和USB鍵盤驅動程序框架 475

24.1.2 S3C2410/S3C2440 LCD控制器驅動程序移植 479

24.2 USB驅動程序移植 489

24.2.1 USB驅動程序概述 489

24.2.2 配置內核支持USB鍵盤、USB鼠標和USB硬盤  491

24.2.3 USB設備的使用 492



第5篇 嵌入式Linux系統應用開發篇



第 25章 嵌入式GUI開發 496

25.1 嵌入式GUI介紹 496

25.1.1 Linux桌面GUI系統的發展 496

25.1.2 嵌入式Linux中的幾種GUI 499

25.2 Qtopia移植 501

25.2.1 主機開發環境的搭建 501

25.2.2 交叉編譯、安裝Qtopia 2.2.0 502

25.2.3 開發自己的Qt GUI程序 514

25.2.4 在主機上使用模擬軟件開發、調試嵌入式Qt GUI程序 518



第 26章 基于X的GUI開發 524

26.1 X Window概述 524

26.1.1 X協議介紹 524

26.1.2 窗口管理器(Window manager) 526

26.1.3 桌面環境(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 安裝其他開發工具 535

26.3 移植X 536

26.3.1 編譯軟件的基本知識 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 運行、試驗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 裁剪文件系統 560



第 27章 Linux應用程序調試技術 564

27.1 使用strace工具跟蹤系統調用和信號 564

27.1.1 strace介紹及移植 564

27.1.2 使用strace來調試程序 565

27.2 內存調試工具 568

27.2.1 使用memwatch進行內存調試 568

27.2.2 其他內存工具介紹:mtrace、dmalloc、yamd 571

27.3 段錯誤的調試方法 573

27.3.1 使用庫函數backtrace和backtrace_symbols定位段錯誤 573

27.3.2 段錯誤調試實例 574



參考文獻 578

展開全部
商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 铁素体测量仪/检测仪/铁素体含量测试仪-苏州圣光仪器有限公司 | 卷筒电缆-拖链电缆-特种柔性扁平电缆定制厂家「上海缆胜」 | MES系统-WMS系统-MES定制开发-制造执行MES解决方案-罗浮云计算 | 骨密度仪-骨密度测定仪-超声骨密度仪-骨龄测定仪-天津开发区圣鸿医疗器械有限公司 | 汽车润滑油厂家-机油/润滑油代理-高性能机油-领驰慧润滑科技(河北)有限公司 | 电缆接头_防水接头_电缆防水接头 - 乐清市新豪电气有限公司 | 凝胶成像系统(wb成像系统)百科-上海嘉鹏 | 石家庄网站建设|石家庄网站制作|石家庄小程序开发|石家庄微信开发|网站建设公司|网站制作公司|微信小程序开发|手机APP开发|软件开发 | 罗茨真空机组,立式无油往复真空泵,2BV水环真空泵-力侨真空科技 | 雾度仪_雾度计_透光率雾度仪价格-三恩时(3nh)光电雾度仪厂家 | 油罐车_加油机_加油卷盘_加油机卷盘_罐车人孔盖_各类球阀_海底阀等车用配件厂家-湖北华特专用设备有限公司 | LHH药品稳定性试验箱-BPS系列恒温恒湿箱-意大利超低温冰箱-上海一恒科学仪器有限公司 | 珠海白蚁防治_珠海灭鼠_珠海杀虫灭鼠_珠海灭蟑螂_珠海酒店消杀_珠海工厂杀虫灭鼠_立净虫控防治服务有限公司 | 非小号行情 - 专业的区块链、数字藏品行情APP、金色财经官网 | EDLC超级法拉电容器_LIC锂离子超级电容_超级电容模组_软包单体电容电池_轴向薄膜电力电容器_深圳佳名兴电容有限公司_JMX专注中高端品牌电容生产厂家 | 北京公积金代办/租房发票/租房备案-北京金鼎源公积金提取服务中心 | 液压中心架,数控中心架,自定心中心架-烟台恒阳机电设计有限公司 行星搅拌机,双行星搅拌机,动力混合机,无锡米克斯行星搅拌机生产厂家 | 在线PH计-氧化锆分析仪-在线浊度仪-在线溶氧仪- 无锡朝达 | 缝纫客| 仓储笼_金属箱租赁_循环包装_铁网箱_蝴蝶笼租赁_酷龙仓储笼租赁 测试治具|过炉治具|过锡炉治具|工装夹具|测试夹具|允睿自动化设备 | 制氮设备_PSA制氮机_激光切割制氮机_氮气机生产厂家-苏州西斯气体设备有限公司 | 耐高温风管_耐高温软管_食品级软管_吸尘管_钢丝软管_卫生级软管_塑料波纹管-东莞市鑫翔宇软管有限公司 | NBA直播_NBA直播免费观看直播在线_NBA直播免费高清无插件在线观看-24直播网 | 台湾阳明固态继电器-奥托尼克斯光电传感器-接近开关-温控器-光纤传感器-编码器一级代理商江苏用之宜电气 | 手术室净化厂家-成都做医院净化工程的公司-四川华锐-15年特殊科室建设经验 | 巨野电机维修-水泵维修-巨野县飞宇机电维修有限公司 | 充气膜专家-气膜馆-PTFE膜结构-ETFE膜结构-商业街膜结构-奥克金鼎 | bng防爆挠性连接管-定做金属防爆挠性管-依客思防爆科技 | ★济南领跃标识制作公司★济南标识制作,标牌制作,山东标识制作,济南标牌厂 | 河北中仪伟创试验仪器有限公司是专业生产沥青,土工,水泥,混凝土等试验仪器的厂家,咨询电话:13373070969 | 下水道疏通_管道疏通_马桶疏通_附近疏通电话- 立刻通 | 水篦子|雨篦子|镀锌格栅雨水篦子|不锈钢排水篦子|地下车库水箅子—安平县云航丝网制品厂 | 防火卷帘门价格-聊城一维工贸特级防火卷帘门厂家▲ | 上海噪音治理公司-专业隔音降噪公司-中广通环保 | 智能风向风速仪,风速告警仪,数字温湿仪,综合气象仪(气象五要素)-上海风云气象仪器有限公司 | 合景一建-无尘车间设计施工_食品医药洁净车间工程装修总承包公司 | 船用烟火信号弹-CCS防汛救生圈-船用救生抛绳器(海威救生设备) | 东莞市踏板石餐饮管理有限公司_正宗桂林米粉_正宗桂林米粉加盟_桂林米粉加盟费-东莞市棒子桂林米粉 | cnc精密加工_数控机械加工_非标平键定制生产厂家_扬州沃佳机械有限公司 | 掺铥光纤放大器-C/L波段光纤放大器-小信号光纤放大器-合肥脉锐光电技术有限公司 | 农业四情_农业气象站_田间小型气象站_智慧农业气象站-山东风途物联网 |