32位ARM微控制器系統(tǒng)設(shè)計(jì)與實(shí)踐:基于Luminary Micro LM3S系統(tǒng)工程Cortex-M3內(nèi)核
定 價(jià):48 元
- 作者:伊茲科維茲 ,等 著 黃智偉 編
- 出版時(shí)間:2010/3/1
- ISBN:9787512400306
- 出 版 社:北京航空航天大學(xué)出版社
- 中圖法分類:TP332.302.1
- 頁碼:453
- 紙張:膠版紙
- 版次:1
- 開本:16開
《32位ARM微控制器系統(tǒng)設(shè)計(jì)與實(shí)踐:基于Luminary Micro LM3S系統(tǒng)工程Cortex-M3內(nèi)核》分9章,系統(tǒng)介紹了Luminary Micro LM3S系列32位ARM微控制器的體系結(jié)構(gòu)、ARM Cottex-M3內(nèi)核、Stellaris驅(qū)動(dòng)庫(kù)、系統(tǒng)控制單元、存儲(chǔ)器、輸入/輸出設(shè)備接口、總線接口、網(wǎng)絡(luò)接口以及EasyARM開發(fā)板與外圍模塊的連接與編程。每章都附有思考題與習(xí)題,提供免費(fèi)電子課件。
《32位ARM微控制器系統(tǒng)設(shè)計(jì)與實(shí)踐:基于Luminary Micro LM3S系統(tǒng)工程Cortex-M3內(nèi)核》內(nèi)容豐富實(shí)用、層次清晰、敘述詳盡,方便教學(xué)與自學(xué),可以作為高等院校電子信息工程、通信工程、自動(dòng)控制、電氣自動(dòng)化、計(jì)算機(jī)科學(xué)與技術(shù)等專業(yè)進(jìn)行ARM微控制器系統(tǒng)教學(xué)的教材;也可以作為全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽培訓(xùn)教材;同時(shí),還可以作為工程技術(shù)人員進(jìn)行ARM微控制器系統(tǒng)開發(fā)與應(yīng)用的參考書。
本書共分九章,主要介紹了ARM Cortex-M3體系結(jié)構(gòu),LM3S系列微控制器的系統(tǒng)控制單元,EasyARM開發(fā)板與常用外圍模塊的連接與編程等內(nèi)容。全書內(nèi)容豐富實(shí)用、層次清晰、敘述詳盡,方便教學(xué)與自學(xué),目標(biāo)是用較少的學(xué)時(shí)使學(xué)生掌握嵌入式系統(tǒng)的基礎(chǔ)知識(shí),結(jié)合實(shí)驗(yàn)教學(xué),進(jìn)入嵌入式系統(tǒng)的領(lǐng)域,為學(xué)生進(jìn)一步地研究、開發(fā)和應(yīng)用嵌入式系統(tǒng)打下一個(gè)良好的基礎(chǔ)。
嵌入式系統(tǒng)目前正在成為高等院校電子信息工程、通信工程、自動(dòng)控制、電氣自動(dòng)化、計(jì)算機(jī)科學(xué)與技術(shù)等本科專業(yè)學(xué)生必修課程,而嵌入式系統(tǒng)與應(yīng)用開發(fā)涉及軟、硬件及操作系統(tǒng)等復(fù)雜的知識(shí),因此,選擇一個(gè)合適的嵌入式微控制器進(jìn)行教學(xué),建立一個(gè)完善的教學(xué)體系,尤其是建立面向?qū)嶋H開發(fā)應(yīng)用的教學(xué)體系,是一項(xiàng)非常復(fù)雜的系統(tǒng)工程。一個(gè)完善的嵌入式系統(tǒng)課程教學(xué)體系需要基礎(chǔ)知識(shí)、實(shí)驗(yàn)教學(xué)、應(yīng)用開發(fā)多層次的教學(xué)過程配合。
為滿足高等院校有關(guān)專業(yè)進(jìn)行嵌入式系統(tǒng)的需要,針對(duì)嵌入式系統(tǒng)特點(diǎn),我們以stellaris(群星)LM3S系列32位ARM微控制器為核心(LM3S系列微控制器包含運(yùn)行在50 MHz頻率下的ARM Cortex-M3 MCU內(nèi)核、嵌入式Flash和SRAM、集成的掉電復(fù)位和上電復(fù)位功能、模擬比較器、10位ADC、SSI、GPIO、看門狗和通用定時(shí)器、UART、I2C、USB、運(yùn)動(dòng)控制PwM以及正交編碼器輸入、100 MHz以太網(wǎng)控制器、CAN控制器等,芯片內(nèi)部固化驅(qū)動(dòng)庫(kù))編寫了本書。
本書內(nèi)容豐富實(shí)用、層次清晰、敘述詳盡,方便教學(xué)與自學(xué),目標(biāo)是用較少的學(xué)時(shí)使學(xué)生掌握嵌入式系統(tǒng)的基礎(chǔ)知識(shí),結(jié)合實(shí)驗(yàn)教學(xué),進(jìn)入嵌入式系統(tǒng)的領(lǐng)域,為學(xué)生進(jìn)一步地研究、開發(fā)和應(yīng)用嵌入式系統(tǒng)打下一個(gè)良好的基礎(chǔ)。
本書可以作為高等院校有關(guān)專業(yè)進(jìn)行ARM微控制器系統(tǒng)教學(xué)的教材,也可以作為全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽培訓(xùn)教材,還可以作為工程技術(shù)人員進(jìn)行ARM微控制器系統(tǒng)開發(fā)與應(yīng)用的參考書。
本書共分9章。第1章介紹了LM3S系列32位ARM微控制器的類型與主要技術(shù)特性,以及LM3S101、LM3S615、LM3S8962和LM3S5749的最小系統(tǒng)設(shè)計(jì)。第2章介紹了ARMcortex_M3處理器內(nèi)核的體系結(jié)構(gòu)、編程模型、存儲(chǔ)器映射、系統(tǒng)異常(中斷)、嵌套向量中斷控制器(NVIC)、存儲(chǔ)器保護(hù)單元(MPu),以及Cortex-M3跟蹤系統(tǒng)、JTAG接口電路、IAR EwARM集成開發(fā)環(huán)境和LM LINK調(diào)試器。第3章介紹了Stellaris驅(qū)動(dòng)庫(kù)的功能、工具鏈和組織結(jié)構(gòu),常用的Stellaris驅(qū)動(dòng)庫(kù)API函數(shù)、引導(dǎo)代碼、實(shí)用函數(shù)、錯(cuò)誤處理、BootLoader,編譯代碼所需要的軟件和工具鏈,以及Stellaris驅(qū)動(dòng)庫(kù)編程示例。
第1章 32位LM3S系列微控制器
1.1 LM3S系列微控制器簡(jiǎn)介
1.2 LM3S系列微控制器最小系統(tǒng)設(shè)計(jì)
1.2.1 LM3S101最小系統(tǒng)
1.2.2 LM3S615最小系統(tǒng)
1.2.3 LM3S8962最小系統(tǒng)
1.2.4 LM3S5749最小系統(tǒng)
思考題與習(xí)題
第2章 .ARMCortex-M3體系結(jié)構(gòu)
2.1 ARMCortex-M3處理器內(nèi)核
2.1.1 Correx-M3內(nèi)核的主要特點(diǎn)
2.1.2 功能描述
2.1.3 Cortex-M3與ARM7的性能比較
2.2 編程模型
2.2.1 編程模型
2.2.2 特權(quán)訪問和用戶訪問
2.2.3 寄存器
2.2.4 數(shù)據(jù)類型
2.2.5 存儲(chǔ)器格式
2.2.6 Cortex-M3指令集
2.3 存儲(chǔ)器映射
2.3.1 存儲(chǔ)器映射、接口和存儲(chǔ)范圍
2.3.2 位操作
2.3.3 ROM存儲(chǔ)器表
2.4 系統(tǒng)異常
2.4.1 異常模式
2.4.2 異常類型
2.4.3 異常優(yōu)先級(jí)
2.4.4 異常占先
2.4.5 末尾連鎖
2.4.6 異常遲來
2.4.7 異常退出
2.4.8 復(fù)位
2.4.9 其他系統(tǒng)中斷
2.5 嵌套向量中斷控制器
2.5.1 NVIC的中斷與異?刂频慕Y(jié)構(gòu)
2.5.2 NVIC寄存器映射
2.5.3 外部中斷
2.5.4 系統(tǒng)異常
2.5.5 系統(tǒng)定時(shí)器
2.5.6 系統(tǒng)故障
2.6 存儲(chǔ)器保護(hù)單元
2.6.1 MPU概述
2.6.2 MPU編程器模型
2.6.3 MPU訪問權(quán)限
2.6.4 MPU異常中止
2.6.5 更新MPU區(qū)域
2.6.6 中斷和更新MPU
2.7 調(diào)試和跟蹤
2.7.1 Cortex-M3跟蹤系統(tǒng)
2.7.2 JTAG接口電路
2.7.3 IAREWARM集成開發(fā)環(huán)境和LMLINK調(diào)試器
2.8 總線矩陣和接口
思考題與習(xí)題
第3章 Stellaris驅(qū)動(dòng)庫(kù)
3.1 Stellaris驅(qū)動(dòng)庫(kù)簡(jiǎn)介
3.1.1 驅(qū)動(dòng)程序的功能
3.1.2 驅(qū)動(dòng)程序庫(kù)支持的工具鏈
3.1.3 驅(qū)動(dòng)程序庫(kù)源代碼的組織結(jié)構(gòu)
3.2 引導(dǎo)代碼
3.3 常用的Stellaris驅(qū)動(dòng)庫(kù)API函數(shù)
3.4 實(shí)用函數(shù)
3.5 錯(cuò)誤處理
3.6 BootLoader
3.7 編譯代碼
3.7.1 需要的軟件
3.7.2 用KeilUVision編譯
3.7.3 用IAREmbedded Workbench編譯
3.7.4 從命令行編譯
3.8 工具鏈
3.8.1 編譯器
3.8.2 調(diào)試器
3.9 Stellaris驅(qū)動(dòng)庫(kù)編程示例
3.9.1 硬件類型定義
3.9.2 通用輸入/輸出端口
思考題與習(xí)題
第4章 L.M3S系列微控制器的系統(tǒng)控制單元
4.1 系統(tǒng)控制寄存器
4.1.1 系統(tǒng)控制寄存器映射
4.1.2 器件標(biāo)識(shí)和功能寄存器
4.2 復(fù)位控制
4.2.1 復(fù)位源
4.2.2 RST引腳復(fù)位
4.2.3 上電復(fù)位
4.2.4 掉電復(fù)位
4.2.5 軟件復(fù)位
4.2.6 看門狗定時(shí)器復(fù)位
4.3 片內(nèi)輸出電壓調(diào)整
4.4 時(shí)鐘控制
4.4.1 基礎(chǔ)時(shí)鐘源
4.4.2 PLL的頻率設(shè)置與編程
4.5 電源管理
4.5.1 處理器的4種模式
4.5.2 處理器的睡眠機(jī)制
4.5.3 與睡眠模式相關(guān)的寄存器
4.5.4 睡眠模式和深度睡眠模式的設(shè)置
4.6 系統(tǒng)控制模塊的中斷
4.7 休眠模塊
4.7.1 休眠模塊的特性與結(jié)構(gòu)
4.7.2 休眠模塊寄存器映射與訪問時(shí)序
4.7.3 休眠模塊時(shí)鐘源
4.7.4 休眠模塊電池管理
4.7.5 休眠模塊實(shí)時(shí)時(shí)鐘
4.7.6 休眠模塊電源控制
4.7.7 休眠模塊中斷和狀態(tài)
4.7.8 休眠模塊非易失性存儲(chǔ)器
4.7.9 休眠模塊的配置
4.7.10 休眠模塊的示例程序
4.8 通用定時(shí)器
4.8.1 GPTM工作模式與結(jié)構(gòu)
4.8.2 GPTM寄存器映射
4.8.3 功能描述
4.8.4 GPTM復(fù)位條件
4.8.5 32位定時(shí)器操作模式
4.8.6 16位定時(shí)器操作模式
……
第5章 存貯器
第6章 輸入/輸出設(shè)備接口
第7章 總線接口
第8章 網(wǎng)絡(luò)接口
第9章 EasyARM開發(fā)板與常用外圍模塊的連接與編程
參考文獻(xiàn)
激活位表示如果任意系統(tǒng)處理器被激活,則會(huì)立即運(yùn)行或者由于占先而被壓伐。這可以用于調(diào)試和應(yīng)用處理器中。掛起位僅在以后不會(huì)再發(fā)生的故障,出現(xiàn)更高優(yōu)先級(jí)的遲來中斷而被延遲的情況下才置位。
4.向量表偏移寄存器
向量表偏移寄存器(NVIC-VTABLE,OxE000ED08)用來決定:
向量表是位于RAM還是程序存儲(chǔ)器中;
向量表的偏移量。
向量表偏移寄存器的位分配如下:
位[31:30];[6:0]:保留。
位[29]:TBLBASE,向量表基址位于Code(0)或RAM(1)處。
位[28:7]:TBLOFF,向量表的基址偏移域。包括向量表的基址與SRAM或CODE空間的底部的偏移量。
向量表偏移寄存器將向量表定位在CODE或SRAM中。默認(rèn)情況下復(fù)位時(shí)為O(CODE空間)。定位時(shí),偏移量必須根據(jù)表中異常的數(shù)目來對(duì)齊,即最小的對(duì)齊是32字對(duì)齊,可供1 6個(gè)外部中斷使用。但當(dāng)N個(gè)中斷大于16個(gè)外部中斷時(shí),向量表對(duì)齊必須調(diào)整為:
向量表對(duì)齊=[(N+16)/32]湊整×32 (單位:字)
例如,如果需要21個(gè)中斷,而由于表的大小是37(加上16個(gè)系統(tǒng)異常)個(gè)字,向量表對(duì)齊值為:[(21+16)/32]凄整×32-64字,所以其可設(shè)置的向量表地址為:TBLOFF×64(TBLOFF≥0)。