TOP
0
0
【簡體曬書區】 單本79折,5本7折,活動好評延長至5/31,趕緊把握這一波!
嵌入式Linux系統開發:基於ARM處理器通用平臺(簡體書)
滿額折

嵌入式Linux系統開發:基於ARM處理器通用平臺(簡體書)

人民幣定價:79 元
定  價:NT$ 474 元
優惠價:87412
領券後再享88折
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:12 點
相關商品
商品簡介
作者簡介
名人/編輯推薦
目次

商品簡介

本書系統論述了基于ARM處理器的嵌入式Linux系統開發的原理、方法與實踐。全書共15章,分別介紹了嵌入式Linux系統管理、Linux編程基礎、Linux高級編程、Linux內核開發、Linux系統移植和Linux驅動程序開發等。 本書內容吸收了作者在Linux系統教學、科研和實際項目研發中的經驗,實踐性強。在內容編排上,按照讀者學習的一般性規律,結合大量實例論述,能夠使讀者高效地掌握嵌入式Linux系統的基本原理和應用方法。本書既可以作為高等院校相關專業的教材,也可以作為從事嵌入式系統開發人員的參考用書。

作者簡介

作者簡介馮新宇 黑龍江科技大學副教授,長期從事嵌入式系統項目開發和相關教學工作。曾主持或參與嵌入式相關課題和項目開發20余項;近10年來一直作為指導教師參與全國電子設計大賽、飛思卡爾電子設計大賽、黑龍江省電子設計大賽等工作,所指導的學生多次獲得各種賽事重大獎勵。代表性著作有《ADS2009射頻電路設計與仿真》、《四旋翼無人飛行器設計》與《ARM Cortex-M3體系結構與編程》。

名人/編輯推薦

嵌入式系統的知識體系龐大,在授課學時不斷減少的背景下,要根據不同專業對嵌入式課程體系進行具體的設計。對于嵌入式教學存在的種種弊端,應做到“因課施教”。嵌入式學習必須配合實踐,這是因為實踐可以激發學習興趣,提高學習能力,而且有助于檢驗學習效果。正是在這種背景下,筆者在總結教學團隊的豐富教學經驗的基礎上,從嵌入式操作系統開發的工程實踐出發,將操作系統安裝、操作系統開發、Linux高級編程、底層驅動等內容有機地結合在一起,構建起嵌入式系統開發的完整過程。力爭從實際應用角度出發,培養邏輯思維和創新思維能力,提高分析、解決實際工程問題的能力。(1) 從零開始,輕松入門 系統闡述理論的同時,兼顧內容的實用性和可讀性,從C語言入手,便于理解和運用。(2) 經典實例,清晰直觀 從Linux基本操作入手,以VI、GCC、高級編程為主線,直到系統驅動開發,均給出了豐富的實例,并給出了實例的完整代碼和運行結果,注重實例的科學分析方法,并妥善處理好知識點與實例的有效銜接。(3) 圖文并茂,操作簡單 根據讀者認識和學習嵌入式開發的規律編排內容,將數學工具工程化,將抽象問題形象化,將復雜問題簡單化,將零散問題系統化,并給出筆者理解的“標簽”。(4) 教學課件 配書教案(PPT)可到清華大學出版社網站本書頁面下載。(5) 學習輔導 書中配套代碼,開發環境,讀者可通過群獲取并在線學習答疑。

目次

章 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

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 412
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區