嵌入式Linux系統開發:基於ARM處理器通用平臺(簡體書)
- 系列名:高等學校電子信息類專業系列教材
- ISBN13:9787302482192
- 出版社:清華大學出版社(大陸)
- 作者:馮新宇
- 裝訂/頁數:平裝/392頁
- 規格:23.4cm*16.8cm (高/寬)
- 版次:1
- 出版日:2017/11/01
商品簡介
作者簡介
名人/編輯推薦
目次
章 Linux概述與系統管理 1
1.1 嵌入式系統概述 1
1.1.1嵌入式系統的發展歷史 1
1.1.2嵌入式系統的特點 2
1.1.3嵌入式系統的體系結構 2
1.1.4典型嵌入式系統介紹 3
1.2 嵌入式Linux基礎 4
1.2.1Linux發行版本 4
1.2.2 Linux定制安裝 6
1.3Linux常用命令 18
1.3.1系統管理相關命令 18
1.3.2文件管理相關命令 19
1.3.3備份壓縮相關命令 25
1.3.4網絡通信相關命令 26
1.3.5其他常用命令 30
1.4 服務器配置 34
1.4.1samba服務器 34
1.4.2NFS服務器 38
1.4.3TFTP服務器 40
習題與練習 42
第2章 Linux腳本編程 43
2.1 常用shell命令 43
2.2 腳本編寫基礎 44
2.2.1 特殊字符 44
2.2.2 變量和參數 46
2.2.3退出和退出狀態 48
2.3 流程控制 49
2.3.1條件測試 49
2.3.2操作符相關主題 51
2.3.3循環控制 53
2.3.4測試與分支 55
習題與練習 58
第3章 Linux編程基礎 59
3.1 編輯器介紹 59
3.1.1vi介紹 59
3.1.2vi的各模式功能鍵 60
3.2 程序編譯與調試 63
3.2.1gcc編譯流程 64
3.2.2gcc編譯選項分析 64
3.2.3gdb程序調試 69
習題與練習 75
第4章 C語言進階 76
4.1C語言的基本知識 76
4.2 數據類型 77
4.2.1常量和變量 78
4.2.2進制 78
4.2.3字符 79
4.2.4轉義符與字符集 79
4.2.5類型轉換 79
4.2.6輸入輸出 82
4.2.7運算符 83
4.3 控制語句 86
4.3.1分支語句 86
4.3.2循環語句 88
4.4 數組與字符串 97
4.4.1數組的定義 97
4.4.2數組本質探討 98
4.4.3一維數組和二維數組 99
4.4.4字符串 101
4.5 函數 103
4.5.1函數的定義 103
4.5.2函數的深度剖析 103
4.5.3函數的作用剖析 104
4.6 指針 108
4.6.1指針的本質 108
4.6.2連續空間的內存地址 108
4.6.3指針變量 109
4.6.4指針數組和指針的指針 111
4.6.5函數和指針 115
4.7 預處理指令 119
4.7.1宏定義 120
4.7.2#include 121
4.7.3條件編譯 121
習題與練習 123
第5章 文件I/O編程 124
5.1 文件和目錄 124
5.2 目錄操作 126
5.3 文件操作 134
5.3.1基本概念 134
5.3.2檢查文件及確定文件的權限 136
5.3.3創建文件 137
5.3.4打開文件 138
5.3.5關閉文件 139
5.3.6刪除文件 140
5.3.7文件指針移動 142
5.3.8其他常用函數 145
5.4 設備控制 148
5.5Linux時間編程 159
5.5.1取得目前的時間 159
5.5.2取得目前時間和日期 160
5.5.3取得當地目前時間和日期 161
5.5.4將時間結構數據轉換成經過的秒數 162
5.5.5設置目前時間 162
5.5.6取得當前時間 163
5.5.7將時間和日期以ASCII碼格式表示 164
5.5.8將時間和日期以字符串格式表示 164
習題與練習 165
第6章 進程控制 166
6.1 進程控制概述 166
6.1.1進程的定義 166
6.1.2進程控制塊 167
6.1.3分配進程描述符 168
6.1.4進程的創建 168
6.1.5進程狀態 169
6.1.6進程調度 171
6.1.7虛擬內存 172
6.1.8文件鎖 172
6.2 進程控制編程 173
6.2.1創建進程 173
6.2.2進程終止 181
6.2.3守護進程 186
習題與練習 187
第7章 進程間通信 188
7.1 進程間通信概述 188
7.2 管道通信 190
7.2.1無名管道 190
7.2.2有名管道 192
7.2.3標準流管道 195
7.3 消息隊列 196
7.3.1鍵值 196
7.3.2打開/創建消息隊列 197
7.3.3發送消息 197
7.3.4接收消息 198
7.3.5消息控制 198
7.4 信號 201
7.4.1信號處理的方式 201
7.4.2信號操作指令 201
7.5 信號量 207
7.5.1信號量創建 208
7.5.2信號量操作 208
7.6 內存共享 214
7.6.1共享內存創建 214
7.6.2共享內存的操作 216
7.6.3共享內存段連接到本進程空間 216
7.6.4共享內存解除 217
習題與練習 220
第8章 多線程技術 221
8.1Linux多線程概念 221
8.2Linux線程實現 222
8.2.1線程創建 222
8.2.2線程退出 224
8.2.3線程等待 226
8.2.4線程標識獲取 228
8.2.5線程清除 229
8.3 線程函數傳遞及修改線程的屬性 232
8.3.1線程函數傳遞 232
8.3.2綁定屬性 235
8.3.3分離屬性 236
8.3.4優先級屬性 237
8.3.5線程的互斥 239
8.3.6線程的同步 241
8.3.7信號量 243
習題與練習 245
第9章 網絡編程 246
9.1 基本概念 246
9.1.1OSI模型 246
9.1.2常用命令 247
9.1.3網絡地址 247
9.1.4IP設置項 248
9.1.5端口 248
9.2TCP/IP協議 249
9.2.1整體構架概述 249
9.2.2IP協議 250
9.2.3ICMP協議 251
9.2.4UDP協議 251
9.2.5TCP協議 252
9.2.6TCP連接的建立 253
9.3 基本網絡函數介紹 253
9.3.1建立一個socket通信 253
9.3.2對socket定位 254
9.3.3等待連接 255
9.3.4建立socket連線 255
9.4 服務器和客戶端的信息函數 256
9.4.1字節轉換函數 256
9.4.2IP和域名的轉換 257
9.4.3字符串的IP和32位的IP轉換 259
9.4.4服務信息函數 260
9.5 完整的讀寫函數 260
9.5.1 write 260
9.5.2 read 261
9.5.3數據的傳遞 261
9.6 用戶數據報發送 262
9.6.1 recvfrom 262
9.6.2 sendto 262
9.7 高級套接字函數 263
9.7.1 recv 263
9.7.2send 263
9.7.3 recvmsg 264
9.7.4sendmsg 264
9.7.5 套接字的關閉 265
9.8 套接字選項 265
9.8.1getsockopt 265
9.8.2setsockopt 266
9.8.3ioctl 267
9.9 服務器模型 267
9.9.1循環服務器:UDP服務器 267
9.9.2循環服務器:TCP服務器 268
9.9.3并發服務器:TCP服務器 271
9.9.4并發服務器:多路復用I/O 272
9.9.5并發服務器:UDP服務器 273
習題與練習 276
0章 內核開發基礎 277
10.1嵌入式開發環境搭建 277
10.1.1交叉編譯工具鏈 278
10.1.2終端軟件 281
10.2Linux內核簡介 282
10.2.1Linux內核 282
10.2.2Linux內核源代碼 285
10.3Linux內核配置與編譯 285
10.3.1Linux內核配置 286
10.3.2編譯內核 288
10.4Linux內核模塊 288
10.4.1內核模塊簡介 288
10.4.2內核模塊編譯與相關命令 289
10.5文件系統 289
10.5.1文件系統簡介 290
10.5.2根文件系統 291
10.5.3Busybox 293
10.5.4Ramdisk文件系統 299
習題與練習 299
1章 BootLoader 300
11.1BootLoader介紹 300
11.1.1BootLoader的安裝和啟動 300
11.1.2 BootLoader的操作模式 301
11.1.3 BootLoader與主機之間的通信方式 301
11.1.4 常用BootLoader介紹 301
11.2U-boot介紹 302
11.2.1目錄結構 302
11.2.2U-boot的主要功能 303
11.2.3U-boot的工具 303
11.3 U-boot工作流程 304
11.3.1stage1 305
11.3.2 stage2 306
11.4 U-boot編譯 308
習題與練習 309
2章 Linux驅動開發基礎與調試 310
12.1設備驅動簡介 310
12.1.1設備類型分類 311
12.1.2內核空間和用戶空間 312
12.1.3驅動程序層次結構 312
12.1.4驅動程序與外界接口 313
12.2打印調試 315
習題與練習 316
3章 字符設備驅動 317
13.1字符設備驅動程序基礎 317
13.1.1關鍵數據結構 317
13.1.2設備驅動開發的基本函數 319
13.1.3設備文件和設備號 324
13.1.4加載和卸載驅動程序 325
13.2LED設備驅動程序 326
13.2.1LED接口電路 326
13.2.2LED驅動程序 327
13.2.3 加載運行LED驅動程序 329
13.3按鍵設備驅動程序 330
13.3.1按鍵模塊硬件電路 330
13.3.2按鍵驅動程序 331
13.3.3加載運行按鍵驅動程序 335
13.4DS18B20驅動程序設計分析 336
13.4.1DS18B20基礎知識 336
13.4.2DS18B20代碼設計 337
習題與練習 344
4章 塊設備驅動 345
14.1塊設備驅動程序開發基礎 345
14.1.1塊設備的I/O操作特點 345
14.1.2塊設備主要數據結構 345
14.1.3塊設備的操作 353
14.2IDE硬盤設備驅動 359
14.2.1 IDE硬盤設備原理 359
14.2.2S3C2440與IDE接口電路 360
14.2.3block_device_operations及成員函數 361
14.2.4I/O請求處理 363
14.2.5在內核中增加對新系統IDE設備的支持 369
習題與練習 372
5章 網絡設備驅動 373
15.1網絡設備驅動簡介 373
15.1.1驅動程序體系結構 373
15.1.2主要數據結構 374
15.1.3基本函數 376
15.2CS8900A網卡設備 378
15.2.1CS8900A簡介 378
15.2.2CS8900A網卡接口電路 379
15.3CS8900A設備驅動程序 380
15.3.1初始化網絡設備 380
15.3.2打開網絡設備 385
15.3.3關閉網絡設備 386
15.3.4中斷處理 387
15.3.5發送數據 389
15.3.6接收數據 391
習題與練習 392
參考文獻 393
主題書展
更多主題書展
更多書展本週66折
您曾經瀏覽過的商品
購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。