基於ARM嵌入式μCLinux系統原理及套用

基於ARM嵌入式μCLinux系統原理及套用

《基於ARM嵌入式μCLinux系統原理及套用》是一本由清華大學出版社在2009年出版的書籍。

基本介紹

  • 書名:基於ARM嵌入式μCLinux系統原理及套用
  • ISBN:9787302186939
  • 定價:39元
  • 出版社:清華大學出版社
  • 裝幀:平裝
圖書簡介,書籍目錄,

圖書簡介

本書不但著重介紹了目前流行的ARM微處理器及套用較為廣泛的μCLinux嵌入式作業系統,而且結合作者多年的研究和教學經驗介紹了基於ARM晶片的嵌入式系統的原?懟⒊絛蟶杓品椒ㄒ約壩τ貿絛虻目?Ⅰ?br>本書共分為12章。第1章~第3章介紹了嵌入式系統的基本概念,常用的ARM/Thumb指令系統及編譯工具GNUGCC的使用方法;第4章和第5章介紹了ARM晶片的體系結構和各個外部設備接口(如Flash存儲器、SDRAM、中斷接口、DMA接口、定時及時鐘接口、音頻接口、串列接口、鍵盤顯示器接口、觸控螢幕LCD接口和模擬接口等)的結構、原理、接口電路及時序,並且介紹了接口的驅動程式的編制方法;第6章~第10章介紹了主流的μCLinux作業系統的進程管理、檔案系統管理、設備管理以及用戶接口的設計過程,其中包括開發工具HitoolforμCLinux的使用方法介紹及簡單驅動程式的編寫。第11章和第12章介紹了應用程式開發實例和μCLinux在UP-NETARM3000平台上的移植過程。
本書主要從嵌入式理論、方法和套用實踐的角度出發,以ARM處理器為基礎,展現了嵌入式系統的基本理論的主要內容和實際套用開發方法。本書是精品課程配套教材,取得了良好的教學效果,具有較好的推廣價值。
本書可供嵌入式愛好者、從業者和高等學校師生專業進修和教學參考之用,也可作為有關嵌入式系統教學的本科生或研究生的教材使用。

書籍目錄

第1章嵌入式系統導論1
1.1概述1
1.1.1什麼是嵌入式系統1
1.1.2嵌入式系統的特點及分類2
1.2嵌入式微處理器和嵌入式作業系統4
1.2.1嵌入式微處理器4
1.2.2嵌入式作業系統5
1.3嵌入式系統設計過程9
1.3.1需求分析10
1.3.2規格說明13
1.3.3體系結構設計13
1.3.4設計硬體構件和軟體構件15
1.3.5系統集成15
1.3.6系統測試15
小結16
習題16
第2章ARM/?Thumb微處理器結構及指令系統17
2.1ARM微處理器概述17
2.1.1ARM系列微處理器17
2.1.2RISC體系結構20
2.1.3ARM和Thumb狀態21
2.1.4暫存器21
2.1.5ARM指令集概述21
2.1.6Thumb指令集概述21
2.2ARM微處理器體系結構22
2.2.1數據類型22
2.2.2ARM微處理器的工作狀態22
2.2.3ARM體系結構的存儲器格式23
2.2.4處理器模式23
2.2.5暫存器組織24
2.2.6異常28
2.3ARM/Thumb指令系統34
2.3.1ARM處理器定址方式34
2.3.2ARM指令集介紹36
2.3.3Thumb指令集介紹54
小結55
習題55
第3章程式?杓苹??6
3.1GCC簡介56
3.1.1GCC組成56
3.1.2GCC編譯程式的基本過程57
3.2C/C++交叉編譯器arm-elf-gcc58
3.2.1概述58
3.2.2命令使用60
3.3交叉連線器arm-elf-ld62
3.3.1概述62
3.3.2命令使用63
3.3.3linkcmds連結命令檔案64
3.4工程管理器make70
3.4.1概述70
3.4.2命令使用71
3.4.3編寫一個makefile72
3.5交叉彙編器arm-elf-as76
3.5.1概述76
3.5.2命令使用77
3.6彙編語言編程78
3.6.1彙編語言78
3.6.2宏語句與條件彙編83
3.6.3模組化程式設計86
3.6.4記憶體模式86
3.6.5StrongARM和ARM786
3.7簡單程式設計88
3.7.1順序程式設計88
3.7.2分支程式設計89
3.7.3循環程式設計90
3.7.4子程式設計91
3.8混合語言編程92
3.8.1如何在C語言內嵌彙編語言93
3.8.2C與彙編相互調用96
小結99
習題99
第4章S3C44B0XCPU管理及附加電路101
4.1S3C44B0X簡介101
4.2時鐘和功耗管理109
4.2.1概述109
4.2.2暫存器定義111
4.2.3時鐘與電源管理編程113
4.3CPUWrapper和匯流排特性114
4.3.1概述114
4.3.2內部SRAM115
4.3.3匯流排優先權115
4.3.4寫緩衝區操作116
4.3.5特殊暫存器116
4.4存儲器管理118
4.5存儲時序圖123
4.6MICETEKEV44B0II開發板簡介126
4.6.1存儲地址空間分配126
4.6.2I/O口配置128
4.6.3電源、時鐘及復位電路130
4.6.4MBL(MicetekBootLoader)介紹130
小結131
習題131
第5章S3C44B0X接口電路設計與編程132
5.1存儲器電路設計及編程132
5.1.1SDRAMKM416S4020B晶片132
5.1.2Flash存儲器132
5.1.3存儲器與CPU的連線137
5.1.4SDRAM存儲器接口電路與編程138
5.1.5Flash存儲器接口電路與編程139
5.2中斷系統電路設計及編程141
5.2.1S3C44B0X中斷概述141
5.2.2中斷源及中斷模式142
5.2.3中斷請求及允許143
5.2.4中斷判優143
5.2.5IRQ中斷回響模式145
5.2.6中斷及異常回響處理過程150
5.2.7中斷特殊暫存器154
5.2.8中斷程式套用編程159
5.3通用I/O接口電路設計及編程161
5.3.1概述161
5.3.2連線埠控制暫存器165
5.3.3LED接口電路設計及編程166
5.3.4鍵盤接口電路設計及編程167
5.4DMA接口電路原理及編程169
5.4.1S3C44B0XDMA控制器結構170
5.4.2外部DMA請求/應答協定171
5.4.3DMA傳輸模式172
5.4.4DMA請求源的選擇173
5.4.5DMA自動重裝模式173
5.4.6S3C44B0X晶片的DMA暫存器174
5.4.7S3C44B0XDMA編程177
5.5PWM計時器接口電路原理及編程180
5.5.1概述180
5.5.2PWM計時器操作181
5.5.3PWM計時器控制暫存器186
5.5.4PWM計時器編程188
5.6看門狗計時器接口電路原理及編程190
5.6.1概述190
5.6.2WDT計時器控制暫存器190
5.6.3WDT計時器編程191
5.7日曆時鐘接口電路設計及編程192
5.7.1概述192
5.7.2日曆時鐘192
5.7.3日曆時鐘暫存器定義194
5.7.4日曆時鐘接口電路設計及編程197
5.8LCD控制器198
5.8.1LCD工作原理199
5.8.2S3C44B0X的內部LCD控制器199
5.8.3LCD控制器的操作201
5.8.4LCD控制器專用暫存器203
5.8.5LCD接口電路設計及編程209
5.9觸控螢幕電路設計及編程213
5.9.1觸控螢幕概述213
5.9.2電阻觸控螢幕原理213
5.9.3觸控螢幕電路控制213
5.9.4編程217
5.9.5觸控螢幕與顯示器的配合218
5.10異步串列通信接口219
5.10.1簡述219
5.10.2中斷/DMA請求產生器220
5.10.3UART錯誤狀態FIFO220
5.10.4UART暫存器221
5.10.5編程225
5.11A/D轉換器227
5.11.1A/D轉換器概述227
5.11.2ADC的相關暫存器228
5.11.3A/D轉換器電路設計及編程229
5.12D/A轉換器230
5.12.1D/A轉換器工作原理230
5.12.2DAC0832晶片231
5.13IIS匯流排接口234
5.13.1音頻系統簡介234
5.13.2IIS匯流排?攀?34
5.13.3傳輸方式235
5.13.4聲音串口格式236
5.13.5採樣頻率和主時鐘237
5.13.6IIS操作238
5.13.7IIS匯流排接口暫存器238
5.13.8UDA1341TS概述240
5.13.9IIS接口及編程246
小結252
習題252
第6章嵌入式Linux開發254
6.1嵌入式Linux概況254
6.1.1嵌入式Linux254
6.1.2嵌入式Linux的組成257
6.1.3嵌入式Linux的版本257
6.2μCLinux開發介紹258
6.2.1啟動模組258
6.2.2核心初始化259
6.2.3系統調用處理/異常處理259
6.2.4驅動程式259
6.2.5檔案系統260
6.2.6記憶體管理260
6.2.7進程管理261
6.2.8運行時間庫及應用程式261
6.3μCLinux啟動過程263
6.4開發工具介紹266
6.4.1安裝267
6.4.2開發環境的建立267
6.4.3調試方法268
6.5核心的配置和編譯272
6.5.1配置核心272
6.5.2編譯核心274
6.6核心的調試274
6.6.1下載μCLinux核心274
6.6.2幾個調試視窗274
小結278
習題278
第7章進程/執行緒管理279
7.1進程概念及組成279
7.1.1進程概念279
7.1.2進程的組成279
7.2進程調度280
7.2.1信號280
7.2.2進程狀態283
7.2.3進程調度284
7.3進程運行和控制285
7.4進程通信與同步286
7.4.1進?掏ㄐ?86
7.4.2進程同步288
7.5執行緒概念及分類288
7.5.1執行緒特點288
7.5.2執行緒的基本概念289
7.5.3執行緒的分類289
7.6執行緒基礎290
7.6.1執行緒的基本操作函式290
7.6.2簡單的多執行緒編程291
7.7執行緒套用中的同步問題292
7.7.1特定執行緒數據292
7.7.2互斥鎖292
7.7.3讀寫鎖294
7.7.4記錄上鎖294
7.7.5條件變數295
7.7.6信號量295
小結295
習題295
第8章存儲管理296
8.1FLAT模式記憶體管理296
8.1.13種記憶體管理模型296
8.1.2標準Linux的記憶體管理297
8.1.3μCLinux的記憶體管理298
8.1.4μCLinux記憶體管理的局限性298
8.2記憶體管理模組的啟動初始化299
8.2.1setup_arch()299
8.2.2paging_init()300
8.2.3free_area_init()301
8.2.4mem_init()301
8.3可執行程式的載入301
8.3.1用戶程式的記憶體分布301
8.3.2reloc段機制302
8.3.3FLAT執行檔格式303
8.3.4執行檔案載入流程304
小結307
習題307
第9章檔案系統308
9.1檔案系統結構308
9.2檔案系統類型310
9.2.1ROMFS檔案系統310
9.2.2RAMFS檔案系統312
9.2.3JFFS與JFFS2檔案系統312
9.2.4EXT2檔案系統314
9.3檔案系統目錄結構315
9.3.1ROMFS檔案?低襯柯冀峁?15
9.3.2μCLinux源程式結構318
9.4簡單編程實例321
小結324
習題324
第10章設備管理325
10.1設備管理結構325
10.1.1概述325
10.1.2字元設備與塊設備325
10.1.3主設備號和次設備號326
10.1.4Linux設備命名習慣326
10.2驅動程式326
10.2.1驅動程式基本功能326
10.2.2驅動程式的運作過程327
10.2.3常用接口函式介紹327
10.2.4常用函式原型328
10.3驅動程式編寫實例329
10.3.1設備功能介紹329
10.3.2具體實現329
小結333
習題334
第11章應用程式開發335
11.1串口應用程式335
11.1.1串口主要函式介紹336
11.1.2串口舉例338
11.2網路套用340
11.2.1TCP/IP網路套用340
11.2.2Web伺服器套用350
11.3音頻設備套用354
11.3.1常用音頻檔案格式354
11.3.2播放WAV檔案舉例360
11.4鍵盤及LCD顯示套用364
11.4.1LCD介紹364
11.4.2鍵盤實現368
11.5漢字音樂點播套用368
小結377
習題378
第12章μCLinux在UP-NETARM3000平台上的移植379
12.1UP-NETARM3000嵌入式開發平台介紹379
12.2μCLinux在UP-NETARM3000上的移植379
12.2.1Linux移植準備379
12.2.2關於交叉編譯環境380
12.2.3修改μCLinux核心源碼382
12.2.4Linux核心裁減384
12.2.5核心的編譯392
12.3核心及根檔案系統的燒寫392
12.3.1配置minicom392
12.3.2燒寫核心393
12.3.3燒寫根檔案系統393
小結394
習題394
附錄AS3C44B0X特殊功能暫存器地址對應表395
附錄B部分Linux命令403
附錄CLinuxView簡介406
參考文獻411

相關詞條

熱門詞條

聯絡我們