-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

嵌入式Linux開發教程

( 簡體 字)
作者:宋娟、馬華杰類別:1. -> 作業系統 -> Linux
譯者:
出版社:人民郵電出版社嵌入式Linux開發教程 3dWoo書號: 47204
詢問書籍請說出此書號!

缺書
NT售價: 300

出版日:6/1/2017
頁數:330
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787115447012
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

  第1篇為嵌入式基礎,介紹了嵌入式系統入門、嵌入式軟硬件系統、嵌入式Linux、軟件開發環境建立和嵌入式開發的C語言基礎;第2篇是嵌入式系統基礎,介紹了ARM的內部資源、ARM處理器、ADS集成開發環境等;第3篇是嵌入式設備驅動與移植,介紹了Linux設備驅動、各類驅動設計和引導程序、內核移植等相關知識點;最后一篇通過一個真正的嵌入式B超程序案例詳解嵌入式開發的完整過程,以此提高讀者的實戰水平。
目錄:

第1篇 嵌入式開發基礎

第1章 嵌入式系統基礎 1
1.1 嵌入式處理器簡介 1
1.1.1 嵌入式微處理器 2
1.1.2 嵌入式微控制器 2
1.1.3 嵌入式數字信號處理器 2
1.1.4 嵌入式片上系統 3
1.2 ARM微處理器簡介 3
1.3 嵌入式操作系統概述 4
1.4 搭建嵌入式開發環境 5
1.4.1 Ubuntu16.04的安裝 5
1.4.2 Minicom的安裝配置 8
1.4.3 Tftp服務的安裝配置 9
1.4.4 NFS的安裝配置 10
1.4.5 建立交叉工具鏈 12
1.5 啟動目標板系統 16
1.5.1 Boot Loader和Kernel 16
1.5.2 根文件系統 18
1.6 小結 19
1.7 習題 19
第2章 嵌入式C語言開發流程 20
2.1 命令行下的開發流程 20
2.1.1 編寫代碼 20
2.1.2 編譯程序 21
2.1.3 運行程序 22
2.1.4 交叉編譯 22
2.1.5 編寫Makefile 23
2.2 基于Eclipse的開發流程 24
2.2.1 下載和安裝Eclipse 24
2.2.2 新建工程 25
2.2.3 編寫代碼 26
2.2.4 編譯工程 26
2.2.5 運行程序 28
2.3 小結 28
2.4 習題 28
第3章 Linux操作基礎 29
3.1 Linux的基本概念 29
3.1.1 文件 29
3.1.2 目錄 29
3.1.3 分區 31
3.1.4 掛載 31
3.1.5 用戶系統 31
3.1.6 用戶權限 32
3.1.7 shell 32
3.1.8 環境變量 33
3.2 Linux的命令行 33
3.2.1 執行命令 34
3.2.2 參數 34
3.2.3 重定向符號 34
3.2.4 獲取幫助 35
3.3 Linux的常用命令 36
3.3.1 文件管理 36
3.3.2 內容管理 39
3.3.3 權限管理 40
3.3.4 備份壓縮 41
3.3.5 系統設置 43
3.3.6 進程控制 45
3.3.7 網絡設置 47
3.4 小結 48
3.5 習題 49
第4章 嵌入式C編程基礎 50
4.1 C語言概述 50
4.1.1 C語言程序的結構 50
4.1.2 C語言的語句 51
4.1.3 C語言的關鍵字 51
4.1.4 C語言程序設計步驟 51
4.2 數據類型 52
4.2.1 常量與變量 52
4.2.2 整型數據、實型數據 52
4.2.3 字符型數據 53
4.3 運算符和表達式 53
4.3.1 算術運算符 53
4.3.2 關系和邏輯運算符 53
4.3.3 位操作符 54
4.3.4 ?操作符 55
4.3.5 表達式的優先級 55
4.4 流程控制 55
4.4.1 順序程序設計 55
4.4.2 選擇結構設計 56
4.4.3 循環結構設計 57
4.5 函數 58
4.5.1 函數定義的一般形式 58
4.5.2 函數的參數和函數的值 59
4.5.3 函數的調用 59
4.5.4 局部變量和全局變量 60
4.6 數組、指針 61
4.6.1 數組 61
4.6.2 指針的基本概念 62
4.6.3 指針與數組 64
4.6.4 指針與字符串 66
4.6.5 指針與函數 67
4.6.6 指針其他用法 68
4.6.7 動態內存管理 68
4.7 小結 69
4.8 習題 69

第2篇 嵌入式系統基礎

第5章 S3C2440的內部資源 70
5.1 S3C2440微處理器 70
5.1.1 主要結構 70
5.1.2 片內資源 70
5.1.3 體系結構 71
5.2 S3C2440存儲器映射 71
5.2.1 bank0總線寬度 72
5.2.2 nWAIT引腳的作用 73
5.2.3 nXBREQ/nXBACK引腳操作 73
5.3 S3C2440內部資源詳解 73
5.3.1 Cache高速緩存 74
5.3.2 時鐘和電源管理 74
5.3.3 中斷控制器 75
5.3.4 脈沖帶寬調制(PWM)定時器 76
5.3.5 實時時鐘(RTC) 77
5.3.6 通用I/O端口 77
5.3.7 LCD控制器 77
5.3.8 UART控制器 78
5.3.9 A/D轉換和觸摸屏接口 79
5.3.10 看門狗定時器 79
5.3.11 IIC總線接口 79
5.3.12 AC97音頻解碼器接口 80
5.3.13 USB設備控制器 80
5.3.14 SD接口 81
5.3.15 SPI接口 81
5.3.16 相機接口 82
5.3.17 工作電壓 82
5.4 小結 82
5.5 習題 82
第6章 ARM微處理器 84
6.1 ARM微處理器的結構 84
6.1.1 體系結構 84
6.1.2 寄存器結構 85
6.1.3 指令結構 85
6.2 ARM微處理器的選擇 85
6.2.1 內核的選擇 85
6.2.2 工作頻率的選擇 85
6.2.3 芯片內存儲器的選擇 86
6.2.4 片內外圍電路的選擇 86
6.3 ARM微處理器的指令集 86
6.3.1 ARM微處理器的指令分類和
格式 86
6.3.2 指令的條件域 87
6.3.3 跳轉指令 88
6.3.4 數據處理指令 88
6.3.5 乘法指令與乘加指令 92
6.3.6 程序狀態寄存器訪問指令 94
6.3.7 加載/存儲指令 95
6.3.8 批量數據加載/存儲指令 97
6.3.9 數據交換指令 97
6.3.10 移位指令 98
6.3.11 協處理器指令 99
6.3.12 異常產生指令 100
6.4 ARM微處理器指令的尋址方式 101
6.4.1 立即尋址 101
6.4.2 寄存器尋址 101
6.4.3 寄存器間接尋址 101
6.4.4 基址變址尋址 102
6.4.5 多寄存器尋址 102
6.4.6 相對尋址 102
6.4.7 堆棧尋址 102
6.5 小結 103
6.6 習題 103
第7章 ADS集成開發環境 104
7.1 命令行開發工具 104
7.1.1 使用armcc 104
7.1.2 使用armlink 106
7.1.3 ARM運行時庫 106
7.1.4 CodeWarrior集成開發環境 107
7.1.5 ADS調試器 109
7.2 使用ADS創建工程 109
7.2.1 創建新工程 109
7.2.2 編譯和鏈接工程 112
7.2.3 ARM fromELF工具 114
7.2.4 在命令行下編譯工程 115
7.3 使用AXD調試代碼 116
7.3.1 打開調試文件 116
7.3.2 查看存儲器內容 117
7.3.3 設置斷點 118
7.3.4 查看變量值 118
7.4 小結 119
7.5 習題 119
第8章 S3C2440的外部電路 120
8.1 核心板電路 120
8.1.1 晶振電路 120
8.1.2 復位電路 120
8.1.3 啟動配置電路 120
8.1.4 FLASH存儲器(內存) 121
8.1.5 SDRAM存儲器(閃存) 123
8.2 底板電路 124
8.2.1 電源電路 125
8.2.2 串口電路 125
8.2.3 USB接口 126
8.2.4 以太網接口 127
8.2.5 JTAG調試接口 127
8.2.6 音頻接口 128
8.2.7 LCD接口 129
8.2.8 SD卡接口 129
8.3 小結 130
8.4 習題 130
第9章 嵌入式Linux文件系統 131
9.1 嵌入式文件系統基礎 131
9.1.1 NOR FLASH存儲器 131
9.1.2 NAND FLASH存儲器 132
9.1.3 MTD簡介 132
9.1.4 日志型文件系統 133
9.1.5 BusyBox 134
9.2 CramFS文件系統 136
9.2.1 CramFS文件系統的特性 136
9.2.2 CramFS文件系統映像文件的
結構 137
9.2.3 CramFS文件系統的工作原理 137
9.2.4 CramFS文件系統的初始化
過程 138
9.2.5 CramFS文件系統的制作 139
9.2.6 CramFS文件系統的掛載流程 141
9.3 基于RAM的文件系統 142
9.3.1 Ramdisk文件系統 142
9.3.2 RamFS/TmpFS文件系統 143
9.4 嵌入式文件系統的設計 145
9.4.1 文件系統格式選擇的基本策略 145
9.4.2 混合型文件系統格式設計方法 145
9.5 小結 146
9.6 習題 146
第10章 內存和信號量 148
10.1 共享內存 148
10.1.1 共享內存的定義 148
10.1.2 涉及的系統調用 148
10.1.3 共享內存舉例 150
10.2 System V共享內存 152
10.2.1 System V共享內存的定義 152
10.2.2 System V涉及的系統調用 152
10.2.3 System V共享內存舉例 153
10.3 消息隊列 154
10.3.1 消息隊列的定義 154
10.3.2 消息隊列涉及的系統調用 154
10.3.3 消息隊列舉例 156
10.4 System V信號量 158
10.4.1 System V信號量的定義 158
10.4.2 System V信號量涉及的系統
調用 159
10.4.3 System V信號量舉例 160
10.5 POSIX信號量 163
10.5.1 POSIX信號量的定義 163
10.5.2 POSIX信號量涉及的系統
調用 163
10.5.3 POSIX信號量舉例 164
10.6 小結 165
10.7 習題 166
第3篇 嵌入式設備驅動與移植

第11章 設備驅動開發基礎 167
11.1 Linux設備管理和驅動概述 167
11.1.1 Linux設備的分類 167
11.1.2 設備驅動程序的作用 167
11.1.3 訪問設備的實現 168
11.1.4 Linux設備控制方式 168
11.2 Linux設備驅動開發流程 169
11.2.1 構造和運行模塊 170
11.2.2 字符設備驅動編寫 171
11.2.3 字符設備驅動示例 172
11.2.4 并發控制 174
11.2.5 阻塞與非阻塞 180
11.2.6 select和poll 183
11.2.7 中斷處理 185
11.2.8 內存與I/O操作 187
11.3 塊設備驅動編寫 191
11.3.1 塊設備的I/O操作特點 191
11.3.2 block_device_operations
結構體 191
11.3.3 gendisk結構體 192
11.3.4 request結構體 193
11.3.5 request操作函數 196
11.3.6 bio結構體 197
11.3.7 注冊與注銷 199
11.3.8 加載與卸載 199
11.3.9 打開與釋放 201
11.3.10 ioctl函數 202
11.3.11 I/O請求處理 202
11.4 小結 206
11.5 習題 206
第12章 MiniGUI圖形界面設計 207
12.1 MiniGUI概述 207
12.1.1 MiniGUI的特點 207
12.1.2 MiniGUI運行模式 208
12.2 MiniGUI的安裝和使用 208
12.2.1 安裝MiniGUI庫 208
12.2.2 安裝MiniGUI的資源 209
12.2.3 配置MiniGUI 210
12.2.4 編譯應用程序例子 210
12.2.5 交叉編譯MiniGUI庫 210
12.2.6 交叉編譯例程 211
12.2.7 QVFB圖形引擎 211
12.2.8 FrameBuffer圖形引擎 212
12.3 利用Eclipse編寫MiniGUI程序 213
12.3.1 建立vacs工程 213
12.3.2 配置編譯選項 214
12.3.3 配置外部工具QVFB 214
12.3.4 運行vacs 215
12.3.5 調試vacs 215
12.4 MiniGUI的編程基礎 215
12.4.1 頭文件 217
12.4.2 程序入口 217
12.4.3 創建和顯示主窗口 217
12.4.4 進入消息循環 218
12.4.5 窗口過程函數 219
12.4.6 屏幕輸出 219
12.4.7 程序的退出 219
12.5 消息循環和窗口過程 220
12.5.1 消息處理函數 220
12.5.2 重要的消息 221
12.5.3 窗口及窗口過程 221
12.6 對話框和控件編程 223
12.6.1 控件的概念 223
12.6.2 預定義控件 223
12.6.3 自定義控件 225
12.6.4 控件子類化 226
12.6.5 對話框和對話框模板 227
12.6.6 模態和非模態對話框 230
12.7 圖形設備接口 230
12.7.1 圖形設備上下文 230
12.7.2 矩形操作和區域操作 231
12.7.3 像素值和調色板 233
12.7.4 位圖操作函數 233
12.7.5 字體和文本輸出 234
12.7.6 繪制圖形 236
12.8 實例——MiniQQ界面設計 238
12.8.1 登錄窗口 239
12.8.2 好友列表窗口 242
12.8.3 聊天窗口 246
12.8.4 其他 248
12.9 小結 248
12.10 習題 249
第13章 各類驅動設計和
引導程序 250
13.1 CAN總線和SJA1000介紹 250
13.1.1 SJA1000寄存器介紹 250
13.1.2 SJA1000與S3C2440連接 254
13.1.3 SJA1000的驅動程序 256
13.2 SD卡驅動 266
13.2.1 塊設備驅動設計 266
13.2.2 SD卡驅動程序分析 266
13.2.3 SD卡驅動程序設計 266
13.3 網絡驅動 269
13.3.1 DM9000芯片介紹 269
13.3.2 重要數據結構 269
13.3.3 網絡設備初始化 271
13.3.4 激活和關閉網絡設備 274
13.3.5 中斷控制的實現 274
13.3.6 發送過程的實現 276
13.3.7 接收過程的實現 278
13.4 引導程序 280
13.4.1 Boot Loader 281
13.4.2 vivi簡介 281
13.4.3 U-Boot簡介 290
13.5 小結 295
13.6 習題 295
第14章 內核移植 296
14.1 Linux內核結構 296
14.2 Linux源碼結構 298
14.2.1 arch目錄 298
14.2.2 drivers目錄 298
14.2.3 fs目錄 299
14.2.4 其他目錄 300
14.3 內核編譯 302
14.3.1 編譯準備 302
14.3.2 設置Flash分區 302
14.3.3 配置內核 305
14.4 內核配置選項 307
14.4.1 常規設置 307
14.4.2 模塊和塊設備層 309
14.5 下載內核 309
14.6 內核調試 310
14.6.1 內核調試步驟 310
14.6.2 常見內核問題 311
14.7 小結 312
14.8 習題 312
第4篇 嵌入式開發實戰

第15章 綜合案例—
嵌入式B超 313
15.1 系統終端的結構設計 313
15.1.1 總體結構 313
15.1.2 顯示控制芯片選型 314
15.2 系統終端的軟件設計 314
15.2.1 U-Boot 314
15.2.2 嵌入式Linux移植 315
15.2.3 MiniGUI移植 315
15.3 FPGA與ARM接口設計 318
15.3.1 硬件連接 318
15.3.2 FPGA驅動程序設計 318
15.4 顯示芯片的連接與控制 319
15.4.1 選擇SM501的原因 320
15.4.2 SM501驅動程序設計 320
15.5 超聲動態圖像的實時顯示 321
15.5.1 圖像動態顯示 322
15.5.2 坐標轉換和灰度插值 322
15.6 圖形界面的結構 323
15.6.1 需求分析 323
15.6.2 總體結構 324
15.6.3 網絡通信 324
15.6.4 多線程編程 325
15.7 操作界面設計 326
15.7.1 區域分配 326
15.7.2 鍵盤響應 326
15.7.3 控件設計 327
15.8 測量模塊設計 328
15.8.1 橢圓的畫法 328
15.8.2 橢圓測量周長和面積 329
15.8.3 軌跡法測量面積 329
15.9 小結 330
15.10 習題 330
序: