注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件工程及軟件方法學基于ARM的嵌入式系統(tǒng)開發(fā)與應用

基于ARM的嵌入式系統(tǒng)開發(fā)與應用

基于ARM的嵌入式系統(tǒng)開發(fā)與應用

定 價:¥35.00

作 者: 吳明暉主編;徐睿等編著
出版社: 人民郵電出版社
叢編項:
標 簽: 程序設計 基本知識

ISBN: 9787115107527 出版時間: 2004-01-01 包裝: 膠版紙
開本: 26cm 頁數(shù): 356 字數(shù):  

內(nèi)容簡介

ARM公司的32位微控制器IP核因其卓越的性能和良好的擴充性為廣大設計者所喜愛。目前,大多數(shù)半導體公司都推出了自己的ARMSoC芯片,使用ARM芯片構造32位的嵌入式系統(tǒng)成為嵌入式系統(tǒng)中的一個重要分支。本書全面、深入地介紹了基于ARMSoC的嵌入式系統(tǒng)開發(fā)技術,包括ARM系統(tǒng)結構與匯編程序設計、基于ARM的嵌入式系統(tǒng)啟動代碼bootloader設計、實時嵌入式操作系統(tǒng)及其移植方法、嵌入式系統(tǒng)中TCP/IP協(xié)議棧的開發(fā)、基于ARMSoC的音頻應用開發(fā)、圖形用戶界面設計、嵌入式文件系統(tǒng)的移植方法等,并且給出了相應的設計實例。本書在全面介紹嵌入式系統(tǒng)基本原理的基礎上,以目前較為流行的ATMEL、三星等公司的ARM芯片為例,結合μC/OS-II與Linux介紹了底層驅動程序與應用軟件的設計方法。本書取材新穎、內(nèi)容豐富、實用性強,涵蓋了嵌入式系統(tǒng)開發(fā)的基本領域,適合從事嵌入式開發(fā)的技術人員閱讀,也可作為高等院校相關專業(yè)高年級學生和研究生學習基于ARM的嵌入式系統(tǒng)開發(fā)的參考書。

作者簡介

暫缺《基于ARM的嵌入式系統(tǒng)開發(fā)與應用》作者簡介

圖書目錄

第1章  ARM體系結構  1
1.1  ARM處理器概述  1
1.1.1  ARM產(chǎn)品背景  1
1.1.2  ARM處理器系列介紹  1
1.1.3  ARM處理器體系結構擴展  2
1.2  ARM體系結構概述  3
1.2.1  ARM體系結構版本  3
1.2.2  數(shù)據(jù)類型  4
1.2.3  處理器模式  4
1.2.4  寄存器  5
1.2.5  通用寄存器  5
1.2.6  程序狀態(tài)寄存器  7
1.2.7  異常  10
1.2.8  ARM過程調(diào)用標準(APCS)簡介  14
1.3  ARM指令集  16
1.3.1  條件執(zhí)行  16
1.3.2  ARM指令集列表  18
1.3.3  32位代碼基本規(guī)則  42
1.3.4  ARM指令應用舉例  42
1.4  Thumb指令集  44
1.5  IEEE浮點指令集簡介  54
1.6  ARM指令時序  59
1.7  32位ARM處理器調(diào)試技術  60
1.7.1  邊界掃描技術(JTAG)  60
1.7.2  ARM芯片的實時調(diào)試方案(E-TRACE)  61
1.7.3  Nexus標準  61
第2章  匯編語言程序設計  63
2.1  匯編語言程序結構  63
2.1.1  基于GCC編譯器的匯編語言程序框架  63
2.1.2  基于CodeWarrior的匯編程序框架  65
2.2  符號數(shù)據(jù)定義與數(shù)據(jù)結構  67
2.2.1  符號命名規(guī)則  67
2.2.2  數(shù)值常量的使用與EQU指令  67
2.3  變量  67
2.3.1  數(shù)值變量和數(shù)值表達式  68
2.3.2  邏輯變量和邏輯表達式  69
2.3.3  字符串變量和字符串表達式  69
2.3.4  變量內(nèi)存空間分配  69
2.3.5  變量初始化  70
2.4  數(shù)據(jù)區(qū)分配和管理  70
2.4.1  使用SPACE分配內(nèi)存區(qū)域  70
2.4.2  使用DCB分配一個或多個字節(jié)的內(nèi)存區(qū)域  70
2.4.3  使用ALIGN對齊內(nèi)存數(shù)據(jù)  71
2.4.4  分配一個或多個字的內(nèi)存區(qū)域  72
2.5  數(shù)據(jù)結構的描述  72
2.5.1  使用MAP和FIELD描述數(shù)據(jù)結構  72
2.5.2  相對地址  74
2.5.3  綜合實例  74
2.6  分支與轉移匯編程序設計  76
2.6.1  簡單分支結構  76
2.6.2  復雜的分支結構  77
2.7  使用跳轉表解決分支轉移  79
2.7.1  程序實例  79
2.7.2  什么是跳轉表  81
2.7.3  如何使用跳轉表  82
2.8  使用跳轉實現(xiàn)循環(huán)  82
2.8.1  通過條件跳轉實現(xiàn)do...while循環(huán)  82
2.8.2  通過條件跳轉實現(xiàn)while循環(huán)  83
2.8.3  多重循環(huán)程序設計  84
2.9  模塊化程序設計  85
2.9.1  簡單函數(shù)調(diào)用例子  86
2.9.2  寄存器保護  87
2.9.3  參數(shù)傳遞  87
2.9.4  函數(shù)跳轉表  89
2.9.5  使用宏定義實現(xiàn)函數(shù)功能  90
2.9.6  和函數(shù)相關的偽指令  91
2.10  高級語言和匯編語言的混合編程  92
2.10.1  嵌入式匯編語句  92
2.10.2  高級語言和匯編語言函數(shù)間的相互調(diào)用  94
2.11  其他常見的偽指令  95
第3章  ARM系統(tǒng)啟動代碼分析和開發(fā)  97
3.1  ARM的異常與RESET  97
3.2  了解與啟動相關的硬件信息與開發(fā)手段  98
3.3  C/C++語言開發(fā)和運行環(huán)境  99
3.3.1  工具鏈準備  99
3.3.2  GNU環(huán)境簡介  101
3.3.3  C語言運行環(huán)境  102
3.3.4  一個簡單boot代碼例子  105
3.4  BOOT代碼分析  109
3.4.1  U-BOOT簡介  109
3.4.2  代碼分析和移植相關  112
3.5  固件開發(fā)調(diào)試方法  120
第4章  實時操作系統(tǒng)在ARM上的移植  122
4.1  實時操作系統(tǒng)簡介  122
4.2  μC/OS-II操作系統(tǒng)  123
4.2.1  μC/OS-II介紹  123
4.2.2  μC/OS-II應用程序開發(fā)  123
4.2.3  μC/OS-II移植  126
4.3  eCos簡介及移植介紹分析  140
4.3.1  eCos簡介  140
4.3.2  eCos的移植介紹  141
第5章  基于ARM的網(wǎng)絡協(xié)議棧實現(xiàn)  143
5.1  協(xié)議棧實現(xiàn)框架  143
5.1.1  系統(tǒng)硬件驅動程序  144
5.1.2  znet協(xié)議初始化  146
5.1.3  znet協(xié)議主任務  147
5.2  協(xié)議實現(xiàn)模塊代碼分析  150
5.2.1  全局數(shù)據(jù)結構和μC/OS-II中的接口  150
5.2.2  全局緩沖管理模塊  154
5.2.3  協(xié)議主任務和驅動交互的模塊  158
5.2.4  ARP實現(xiàn)模塊及主任務的IP數(shù)據(jù)分發(fā)  161
5.2.5  ICMP實現(xiàn)模塊  170
5.2.6  API實現(xiàn)模塊  172
5.2.7  UDP實現(xiàn)模塊  181
5.2.8  TCP實現(xiàn)模塊  187
5.3  協(xié)議棧實現(xiàn)回顧  198
第6章  外部總線與音頻系統(tǒng)設計  199
6.1  IIC(I2C)總線基本原理  199
6.1.1  起始和停止條件  199
6.1.2  數(shù)據(jù)傳輸  200
6.1.3  讀寫操作  200
6.2  I2S音頻設備總線的原理和應用  201
6.2.1  I2S總線簡介  201
6.2.2  I2S總線協(xié)議  202
6.2.3  基于I2S接口的音頻系統(tǒng)硬件設計  203
6.2.4  基于Cirrus Logic公司多媒體ARM芯片的音頻系統(tǒng)設計  204
6.3  音頻設備驅動  206
6.3.1  音頻設備基礎知識  206
6.3.2  Linux驅動程序框架  206
6.3.3  音頻設備文件  208
6.3.4  程序和音頻設備間的通信過程  210
6.3.5  設備的初始化和卸載  211
6.3.6  設備打開例程open()  213
6.3.7  內(nèi)存映射和mmap例程  214
6.3.8  緩存區(qū)的設計  218
6.3.9  ioctl系統(tǒng)調(diào)用  221
6.3.10  音頻數(shù)據(jù)的播放和錄制例程  224
6.4  音頻應用程序的編寫  226
6.4.1  音頻應用程序基本框架  226
6.4.2  音頻參數(shù)設置  228
6.4.3  混頻器(Mixer)基礎  232
6.4.4  綜合應用實例  235
6.4.5  音頻應用程序編寫注意事項  242
第7章  閃存芯片與嵌入式文件系統(tǒng)  244
7.1  閃存的物理特性  244
7.2  嵌入式文件系統(tǒng)概述  245
7.3  NAND設備驅動程序  246
7.3.1  NAND芯片  246
7.3.2  NAND控制器  249
7.3.3  NAND設備MTD程序制作  251
7.4  NOR設備驅動  255
7.4.1  NOR芯片  255
7.4.2  通用閃存接口(CFI)  256
7.5  針對閃存芯片的文件系統(tǒng)  259
7.5.1  用于中間層TrueFFS  260
7.5.2  讓TrueFFS和引導扇區(qū)共享閃存  262
7.5.3  TrueFFS的配置與使用  262
7.5.4  在使用TrueFFS的閃存上面安裝Linux  264
7.6  JFFS/JFFS2文件系統(tǒng)  266
7.6.1  日志文件系統(tǒng)存儲結構  268
7.6.2  JFFS2  270
7.6.3  在Linux中使用JFFS/JFFS2  275
7.6.4  MTD的其他用法:使用RAMDISK制作啟動內(nèi)核  278
7.7  YAFFS文件系統(tǒng)  279
7.7.1  YAFFS的下載與安裝  280
7.7.2  YAFFS與JFFS/JFFS2的不同點  280
7.7.3  YAFFS實現(xiàn)機制  281
第8章  嵌入式圖形用戶界面基礎  288
8.1  LCD顯示器基本原理  288
8.2  嵌入式GUI  289
8.2.1  MiniGUI  289
8.2.2  Microwindows  290
8.2.3  Microwindows_0.90_release的安裝  291
8.3  Microwindows的系統(tǒng)框架  296
8.3.1  設備驅動  297
8.3.2  MicroGUI -設備無關圖形引擎  302
8.3.3  Microwindows的應用程序接口API  303
8.4  圖形引擎層  304
8.5  編譯環(huán)境的選項(Makefile文件設置)  309
8.6  基于Microwindows類型的API的程序設計  310
8.6.1  窗口的基本元素  310
8.6.2  “Hello world”,你的第一個Microwindows程序  311
8.6.3  圖形繪制函數(shù)小節(jié)  320
8.6.4  Microwindows API的優(yōu)缺點  321
第9章  基于Nano-X的嵌入式GUI設計  322
9.1  Client/Server模式  322
9.2  Nano-X風格的“Hello World"  323
9.3  Nano-X窗口管理器  328
9.4  程序中使用位圖資源  328
9.4.1  將位圖變成C語言源程序  328
9.4.2  圖像尺寸  329
9.4.3  圖像顯示  329
9.4.4  編譯運行  331
9.5  從文件中加載圖片  332
9.6  文字輸出與字體  333
9.6.1  文字輸出函數(shù)  333
9.6.2  字體的基礎知識  334
9.6.3  字體標識符  334
9.7  高級用戶界面設計  337
9.7.1  事件響應  338
9.7.2  窗口間通信  339
9.7.3  多窗口應用程序  340
9.7.4  窗口控件  344
9.7.5  游戲制作  352

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.stefanvlieger.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號