嵌入式技術基礎與實踐(第5版)—基于ARM Cortex-M4F內核的MSP432系列微( 簡體 字) | |
作者:王宜懷、許粲昊、曹國平 | 類別:1. -> 電腦組織與體系結構 -> 嵌入式系統 -> Cortex |
出版社:清華大學出版社 | 3dWoo書號: 53937 詢問書籍請說出此書號! 有庫存 NT售價: 350 元 |
出版日:4/1/2019 | |
頁數:378 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787302518587 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第1章概述
1.1嵌入式系統定義、發展簡史、分類及特點 1.1.1嵌入式系統的定義 1.1.2嵌入式系統的由來及發展簡史 1.1.3嵌入式系統的分類 1.1.4嵌入式系統的特點 1.2嵌入式系統的學習困惑、知識體系及學習建議 1.2.1嵌入式系統的學習困惑 1.2.2嵌入式系統的知識體系 1.2.3基礎階段的學習建議 1.3微控制器與應用處理器簡介 1.3.1微控制器簡介 1.3.2以MCU為核心的嵌入式測控產品的基本組成 1.3.3應用處理器簡介 1.4嵌入式系統常用術語 1.4.1與硬件相關的術語 1.4.2與通信相關的術語 1.4.3與功能模塊相關的術語 1.5嵌入式系統常用的C語言基本語法概要 1.5.1C語言的運算符與數據類型 1.5.2程序流程控制 1.5.3函數 1.5.4數據存儲方式 1.5.5編譯預處理 小結 習題 第2章ARMCortexM4F處理器 2.1ARMCortexM4F處理器簡介 2.1.1ARMCortexM4F處理器內部結構概要 2.1.2ARMCortexM4F處理器存儲器映像 2.1.3ARMCortexM4F處理器的寄存器 2.2指令系統 2.2.1指令簡表與尋址方式 2.2.2數據傳送類指令 2.2.3數據操作類指令 2.2.4跳轉控制類指令 2.2.5其他指令 2.3指令集與機器碼對應表 2.4匯編語言的基本語法 2.4.1匯編語言格式 2.4.2常用偽指令簡介 小結 習題 嵌入式技術基礎與實踐(第5版) 第3章存儲映像、中斷源與硬件最小系統 3.1MSP432系列MCU概述 3.1.1MSP432系列MCU簡介 3.1.2MSP432系列MCU內部結構框圖 3.2MSP432系列MCU存儲映像與中斷源 3.2.1MSP432系列MCU存儲映像 3.2.2MSP432中斷源 3.3MSP432系列MCU的引腳功能 3.3.1硬件最小系統引腳 3.3.2I/O端口資源類引腳 3.4MSP432系列MCU硬件最小系統 3.4.1電源及其濾波電路 3.4.2復位電路及復位功能 3.4.3晶振電路 3.4.4SWD接口電路 小結 習題 第4章GPIO及程序框架 4.1通用I/O接口基本概念及連接方法 4.2GPIO模塊的編程結構 4.2.1端口與GPIO模塊——對外引腳與內部寄存器 4.2.2GPIO基本編程步驟與基本打通程序 4.3GPIO驅動構件封裝方法與驅動構件封裝規范 4.3.1設計GPIO驅動構件的必要性及GPIO驅動構件封裝要點分析 4.3.2底層驅動構件封裝規范概要與構件封裝的前期準備 4.3.3MSP432的GPIO驅動構件源碼及解析 4.4利用構件方法控制小燈閃爍 4.4.1Light構件設計 4.4.2Light構件測試工程主程序 4.5工程文件組織框架與第一個C語言工程分析 4.5.1工程框架及所含文件簡介 4.5.2鏈接文件常用語法及鏈接文件解析 4.5.3機器碼文件解析 4.5.4芯片上電啟動執行過程 4.6第一個匯編語言工程:控制小燈閃爍 4.6.1匯編工程文件的組織 4.6.2匯編語言GPIO構件及使用方法 4.6.3匯編語言Light構件及使用方法 4.6.4匯編語言Light測試工程主程序 小結 習題 第5章嵌入式硬件構件與底層驅動構件基本規范 5.1嵌入式硬件構件 5.1.1嵌入式硬件構件的概念與分類 5.1.2基于嵌入式硬件構件的電路原理圖設計簡明規則 5.2嵌入式底層驅動構件的概念與層次模型 5.2.1嵌入式底層驅動構件的概念 5.2.2嵌入式硬件構件與軟件構件結合的層次模型 5.2.3嵌入式軟件構件的分類 5.3底層驅動構件的封裝規范 5.3.1構件設計的基本思想與基本原則 5.3.2編碼風格基本規范 5.3.3公共要素文件 5.3.4頭文件的設計規范 5.3.5源程序文件的設計規范 5.4硬件構件及底層軟件構件的重用與移植方法 小結 習題 第6章串行通信模塊及第一個中斷程序結構 6.1異步串行通信的通用基礎知識 6.1.1串行通信的基本概念 6.1.2RS232總線標準 6.1.3TTL電平到RS232電平轉換電路 6.1.4串行通信編程模型 6.2MSP432芯片UART驅動構件及使用方法 6.2.1MSP432芯片UART引腳 6.2.2UART驅動構件基本要素分析與頭文件 6.2.3printf的設置方法與使用 6.3ARMCortexM4F中斷機制及MSP432中斷編程步驟 6.3.1關于中斷的通用基礎知識 6.3.2ARMCortexM4F非內核模塊中斷編程結構 6.3.3MSP432中斷編程步驟——以串口接收中斷為例 6.4UART驅動構件的設計方法 6.4.1UART模塊編程結構 6.4.2UART驅動構件源碼 小結 習題 第7章定時器相關模塊 7.1ARMCortexM4F內核定時器 7.1.1SysTick模塊的編程結構 7.1.2SysTick的驅動構件設計 7.2脈寬調制、輸入捕捉與輸出比較通用基礎知識 7.2.1脈寬調制PWM通用基礎知識 7.2.2輸入捕捉與輸出比較通用基礎知識 7.3Timer_A模塊 7.3.1Timer_A模塊功能概述 7.3.2Timer_A模塊驅動構件及使用方法 7.3.3Timer_A模塊驅動構件設計 7.4Timer32模塊 7.4.1Timer32模塊功能概述 7.4.2Timer32模塊驅動構件及使用方法 7.4.3Timer32模塊驅動構件設計 7.5實時時鐘RTC_C模塊 7.5.1RTC_C模塊功能概述 7.5.2RTC_C模塊驅動構件及使用方法 7.5.3RTC驅動構件的設計 小結 習題 第8章GPIO應用——鍵盤、LED及LCD 8.1鍵盤的基礎知識及其驅動構件設計 8.1.1鍵盤模型及接口 8.1.2鍵盤編程基本問題、掃描編程原理及鍵值計算 8.1.3鍵盤驅動構件的設計 8.2LED數碼管的基礎知識及其驅動構件設計 8.2.1LED數碼管的基礎知識 8.2.2LED驅動構件設計及使用方法 8.3LCD的基礎知識及其驅動構件設計 8.3.1LCD的特點和分類 8.3.2點陣字符型LCD模塊控制器HD44780 8.3.3LCD構件設計 8.4鍵盤、LED及LCD驅動構件測試實例 小結 習題 第9章Flash在線編程 9.1Flash在線編程的通用基礎知識 9.2Flash驅動構件及使用方法 9.2.1Flash驅動構件知識要素分析 9.2.2Flash驅動構件頭文件 9.2.3Flash驅動構件的使用方法 9.3Flash驅動構件的設計方法 9.3.1Flash模塊編程結構 9.3.2Flash驅動構件設計技術要點 9.3.3Flash驅動構件源碼 小結 習題 第10章ADC與CMP模塊 10.1模擬/數字轉換器 10.1.1ADC的通用基礎知識 10.1.2ADC驅動構件及使用方法 10.1.3ADC模塊的編程結構 10.1.4ADC驅動構件的設計 10.2比較器 10.2.1CMP的通用基礎知識 10.2.2CMP驅動構件及使用方法 10.2.3CMP驅動構件的編程結構 10.2.4CMP驅動構件的設計 小結 習題 第11章SPI、I2C與CTI模塊 11.1串行外設接口模塊 11.1.1串行外設接口的通用基礎知識 11.1.2SPI驅動構件頭文件及使用方法 11.1.3SPI模塊的編程結構 11.1.4SPI驅動構件的設計 11.2集成電路互聯總線模塊 11.2.1集成電路互聯總線的通用基礎知識 11.2.2I2C驅動構件頭文件及使用方法 11.2.3I2C模塊的編程結構 11.2.4I2C驅動構件源碼 11.3電容式觸摸感應模塊 11.3.1電容式觸摸感應的通用基礎知識 11.3.2CTI驅動構件頭文件及使用方法 11.3.3CTI模塊的編程結構 11.3.4CTI驅動構件的設計 小結 習題 第12章DMA編程 12.1直接存儲器存取的通用基礎知識 12.1.1DMA的基本概念 12.1.2DMA的一般操作流程 12.2DMA構件頭文件及使用方法 12.3DMA驅動構件的設計方法 12.3.1DMA模塊編程結構 12.3.2DMA驅動構件源碼 小結 習題 第13章系統時鐘與其他功能模塊 13.1時鐘系統 13.1.1時鐘系統概述 13.1.2時鐘模塊概要與編程要點 13.1.3時鐘模塊測試實例 13.2電源模塊 13.2.1電源模式控制 13.2.2電源模式轉換 13.3校驗模塊 13.3.1CRC32模塊簡介 13.3.2CRC校驗和生成 13.3.3CRC標準與位順序 13.3.4CRC實現 13.3.5CRC寄存器 13.4看門狗模塊 13.4.1看門狗模塊簡介 13.4.2看門狗的配置方法 13.5復位模塊 13.5.1電源開/關復位 13.5.2重新啟動重置 13.5.3硬重置 13.5.4軟重置 13.6高級加密模塊 13.6.1AES介紹 13.6.2AES工作流程 13.6.3AES寄存器 13.7位帶技術及應用方法 13.7.1位帶別名區概述 13.7.2位帶別名區的應用機制解析 13.7.3位帶別名區使用注意事項 13.7.4測試實例 小結 習題 第14章進一步學習指導 14.1關于更為詳細的技術資料 14.2關于實時操作系統 14.3關于嵌入式系統穩定性問題 附錄A100引腳LQFP封裝MSP432的復用功能 附錄B100引腳LQFP封裝MSP432的硬件最小系統 附錄C集成開發環境CCS簡明使用方法 附錄Dprintf格式化輸出 參考文獻 本書以德州儀器(TI)的ARM CortexM4F內核的MSP432系列微控制器為藍本,以知識要素為核心,以構件化為基礎闡述嵌入式技術基礎與實踐。全書共14章,第1章為概述,簡要闡述嵌入式系統的知識體系、學習誤區與學習建議; 第2章給出ARM CortexM4F處理器; 第3章介紹MSP432存儲映像、中斷源與硬件最小系統; 第4章以GPIO為例闡述底層驅動概念、設計與應用方法,介紹規范的工程組織框架; 第5章闡述嵌入式硬件構件與底層驅動構件基本規范; 第6章闡述串行通信接口UART,并給出第一個帶中斷的實例。第1~6章囊括學習一個微控制器入門環節的完整要素。第7~13章分別介紹SysTick、Timer、RTC、GPIO的應用實例(鍵盤、LED與LCD)、Flash在線編程、ADC、CMP、SPI、I2C、CTI、DMA及其他模塊。第14章闡述進一步學習指導。
本書提供了網上教學資源,內含所有底層驅動構件源程序、測試實例、文檔資料、教學課件及常用軟件工具。配合本書內容還制作了微課視頻,供讀者選用。 本書適用于高等學校嵌入式系統的教學或技術培訓,也可供ARM CortexM4F應用工程師進行技術研發時參考。 嵌入式計算機系統簡稱嵌入式系統,其概念最初源于傳統測控系統對計算機的需求。隨著以微處理器(MPU)為內核的微控制器(MCU)制造技術的不斷進步,計算機領域在通用計算機系統與嵌入式計算機系統兩大分支分別得以發展。通用計算機已經在科學計算、通信、日常生活等各個領域產生重要影響。在后PC時代,嵌入式系統的廣闊應用是計算機發展的重要特征。一般來說,嵌入式系統的應用范圍可以粗略分為兩大類: 一類是電子系統的智能化(如工業控制、汽車電子、數據采集、測控系統、家用電器、現代農業、傳感網應用等),這類應用也被稱為微控制器MCU領域; 另一類是計算機應用的延伸(如平板電腦、手機、電子圖書等),這類應用也被稱為應用處理器MAP領域。在ARM產品系列中,ARM CortexM系列與ARM CortexR系列適用于電子系統的智能化類應用,即微控制器領域; ARM CortexA系列適用于計算機應用的延伸,即應用處理器領域。不論如何分類,嵌入式系統的技術基礎是不變的,即要完成一個嵌入式系統產品的設計,需要有硬件、軟件及行業領域的相關知識。但是,隨著嵌入式系統中軟件規模日益增大,對嵌入式底層驅動軟件的封裝提出了更高的要求,可復用性與可移植性受到特別的關注,嵌入式軟硬件構件化開發方法逐步被業界所重視。
本書前期版本曾獲蘇州大學精品教材、江蘇省高等學校重點教材、普通高等教育“十一五”“十二五”國家級規劃教材等。本版是在2017年出版的第4版基礎上重新撰寫,樣本芯片改為德州儀器的MSP432系列微控制器(ARM CortexM4F內核)。書中以嵌入式硬件構件及底層軟件構件設計為主線,基于嵌入式軟件工程的思想,按照“通用知識—驅動構件使用方法—測試實例—芯片編程結構—構件的設計方法”的思路,逐步闡述電子系統智能化嵌入式應用的軟件與硬件設計。需要特別說明的是,雖然書籍撰寫與教學必須以某一特定芯片為藍本,但作為嵌入式技術基礎,我們試圖闡述嵌入式通用知識要素。因此,本書以知識要素為基本立足點設計芯片底層驅動,使得應用程序與芯片無關,具有通用嵌入式計算機性質。書中將大部分驅動的使用方法提前闡述,而將驅動構件的設計方法后置,目的是先學會實際編程,后理解構件的設計方法。因構件設計方法部分有一定難度,對于不同要求的教學場景,也可不要求學生理解全部構件的設計方法,講解一兩個即可。 本書具有以下特點。 (1) 把握通用知識與芯片相關知識之間的平衡。書中對于嵌入式“通用知識”的基本原理,以應用為立足點,進行語言簡潔、邏輯清晰的闡述,同時注意與芯片相關知識之間的銜接,使讀者在更好地理解基本原理的基礎上,理解芯片應用的設計,同時反過來,加深對通用知識的理解。 (2) 把握硬件與軟件的關系。嵌入式系統是軟件與硬件的綜合體,嵌入式系統設計是一個軟件、硬件協同設計的工程,不能像通用計算機那樣,軟件、硬件完全分開來看。特別是對電子系統智能化嵌入式應用來說,沒有對硬件的理解就不可能編寫好嵌入式軟件,同樣沒有對軟件的理解也不可能設計好嵌入式硬件。因此,本書注重把握硬件與軟件知識之間的關系。 (3) 對底層驅動進行構件化封裝。書中對每個模塊均給出根據嵌入式軟件工程基本原則并按照構件化封裝要求編制的底層驅動程序,同時給出詳細、規范的注釋及對外接口,為實際應用提供底層構件,方便移植與復用,可以為讀者進行實際項目開發節省大量時間。 (4) 設計合理的測試用例。書中所有源程序均經測試通過,并將測試用例保留在本書的網上教學資源中,避免了因例程的書寫或固有錯誤給讀者帶來的煩惱。這些測試用例也為讀者驗證與理解帶來方便。 (5) 網上教學資源提供了所有模塊完整的底層驅動構件化封裝程序與測試用例。需要使用PC程序的測試用例,還提供了PC的C#源程序。網上教學資源中還提供了閱讀資料、開發環境的簡明使用方法、寫入器驅動與使用方法、部分工具軟件、有關硬件原理圖等。網上教學資源的版本將會適時更新。 (6) 提供硬件核心板、寫入調試器,方便讀者進行實踐與應用。同時提供了核心板與蘇州大學嵌入式系統及物聯網實驗室設計的擴展板對接,以滿足教學實驗需要。 本書所對應課程已經成為國家精品在線課程,在中國大學MOOC官網上線。 本書由王宜懷負責編制提綱和統稿工作,并撰寫第1~6章、第14章; 許粲昊撰寫第7~10章; 曹國平撰寫第11~13章。研究生張藝琳、張蓉、周欣、程宏玉、黃志賢協助了書稿的整理及程序調試工作,他們卓有成效的工作,使本書更加實用。TI公司潘亞濤先生、王沁女士十分重視蘇州大學嵌入式系統與物聯網實驗室的建設,為本書的撰寫提供了硬件及軟件資料,并提出了許多寶貴意見。 鑒于作者水平有限,書中難免存在不足之處,懇望讀者提出寶貴意見和建議,以便再版時改進。 蘇州大學王宜懷 2019年1月 |