本書以ARM Cortex M3內核LPC1788微控制器為講述對象,分成基礎篇、入門篇、進階篇,覆蓋了LPC1788微控制器基本外設應用、嵌入式實時操作系統(tǒng)μC/OS II、μC/OS III、FreeRTOS、TCP/IP協(xié)議棧LwIP、μIP,以及嵌入式圖形系統(tǒng)μC/GUI的應用,軟件與硬件兼顧,涉及理論但更偏重于實踐。
全書共分為20章,所講述的18個實例涵蓋了最常用的外設以及典型的應用,實例設計中軟件架構清晰,層次分明,跨平臺可移植性強。
本書可作為高等院校計算機、電子信息工程、自動控制等專業(yè)本科生、研究生的嵌入式系統(tǒng)教材,也可供從事ARM和嵌入式軟件開發(fā)的科研人員、從業(yè)人員和高等院校師生使用。
ARM CortexM3是一種基于ARM7v架構的最新ARM內核,NXP公司的LPC178x/7x系列微控制器以性能強大的ARM CortexM3 版本r2p0為內核, 面向通信、工業(yè)、醫(yī)療、消費家電、汽車等領域,用于處理要求高集成度和低功耗嵌入式應用的32位RISC處理器。
目前,市面上有關LPC1788系列微控制器的圖書為數(shù)不多,一般分為兩種類型:一類基于μC/OSIII講述嵌入式實時操作系統(tǒng)及外設應用,另一類則多針對各種外設接口介紹編程設計。很少有能夠綜合硬件與嵌入式系統(tǒng)軟件設計,集各類綜合應用于一體的。本書基于LPC178x/7x系列微控制器,既涉及基礎理論,又涉及嵌入式系統(tǒng)軟件設計,整體側重于實踐。內容分為基礎篇、入門篇和進階篇:基礎篇主要介紹LPC1788微控制器分類與結構特點,RealView MDK、IAR EWARM的開發(fā)環(huán)境及其開發(fā)板;入門篇主要基于LPC1788微控制器的常用外設進行應用設計;重點為進階篇,覆蓋了嵌入式實時操作系統(tǒng)μC/OSII、μC/OSIII、FreeRTOS、TCP/IP協(xié)議棧LwIP、μIP,以及嵌入式圖形系統(tǒng)μC/GUI,在介紹硬件編程設計與應用的同時,深化了基于系統(tǒng)軟件層次架構下的應用,使讀者迅速入門和提高。
本書的內容結構
全書共20章,劃分為三大篇。各篇、章內容安排如下:
基礎篇 ARM CortexM3是一種基于ARM7v架構的最新ARM內核,NXP公司的LPC178x/7x系列微控制器以性能強大的ARM CortexM3 版本r2p0為內核, 面向通信、工業(yè)、醫(yī)療、消費家電、汽車等領域,用于處理要求高集成度和低功耗嵌入式應用的32位RISC處理器。
目前,市面上有關LPC1788系列微控制器的圖書為數(shù)不多,一般分為兩種類型:一類基于μC/OSIII講述嵌入式實時操作系統(tǒng)及外設應用,另一類則多針對各種外設接口介紹編程設計。很少有能夠綜合硬件與嵌入式系統(tǒng)軟件設計,集各類綜合應用于一體的。本書基于LPC178x/7x系列微控制器,既涉及基礎理論,又涉及嵌入式系統(tǒng)軟件設計,整體側重于實踐。內容分為基礎篇、入門篇和進階篇:基礎篇主要介紹LPC1788微控制器分類與結構特點,RealView MDK、IAR EWARM的開發(fā)環(huán)境及其開發(fā)板;入門篇主要基于LPC1788微控制器的常用外設進行應用設計;重點為進階篇,覆蓋了嵌入式實時操作系統(tǒng)μC/OSII、μC/OSIII、FreeRTOS、TCP/IP協(xié)議棧LwIP、μIP,以及嵌入式圖形系統(tǒng)μC/GUI,在介紹硬件編程設計與應用的同時,深化了基于系統(tǒng)軟件層次架構下的應用,使讀者迅速入門和提高。
本書的內容結構
全書共20章,劃分為三大篇。各篇、章內容安排如下:
基礎篇
第1章,簡述基于ARM CortexM3內核的LPC178x/7x處理器的產品型號與分類、主要特點、外設配置、存儲器映射等,此外還介紹了CMSIS軟件接口標準,基于CMSIS架構的軟件設計層次,為后續(xù)學習打好基礎。
第2章,是開發(fā)工具入門介紹,講述了開發(fā)工具軟件環(huán)境RealView MDK、IAR EWARM、仿真器Jlink、ULINK2,以及本書配套實驗LPC1788硬件開發(fā)平臺,讀者可以對常用開發(fā)工具及硬件平臺有一入門性的了解。
入門篇
第3章,先從I/O配置與GPIO端口部分進行原理講述,然后列舉了兩個簡單的GPIO端口應用實例。
第4章,講述RTC內部功能結構以及RTC應用實例。著重介紹RTC原理、相關寄存器與庫函數(shù)功能、通過調用I/O引腳連接管理驅動庫、RTC模塊驅動庫以及UART模塊驅動庫等,列舉了兩個簡單的RTC應用實例。
第5章,講述定時器的特點、結構、庫函數(shù),以及應用實例。著重介紹定時器外設的原理、相關寄存器與庫函數(shù)功能、通過定時器外設驅動庫以及UART模塊驅動庫等實現(xiàn)的兩個定時器應用實例。
第6章,著重講述ADC外設的基本原理、寄存器,以及庫函數(shù)功能,詳解調用其他公用模塊驅動庫實現(xiàn)兩個ADC采樣與轉換實例的編程設計。
第7章,簡述DAC外設的基本結構、寄存器,以及庫函數(shù)功能,詳述通過綜合I/O引腳連接管理驅動庫、定時器外設驅動庫、DMA控制器驅動庫、DAC驅動庫實現(xiàn)DAC輸出的應用。
第8章,簡述PWM外設的基本結構、相關寄存器,以及庫函數(shù)功能等,詳解以I/O引腳連接管理驅動庫、PWM外設驅動庫為基礎實現(xiàn)單雙沿PWM信號的應用。
第9章,主要介紹MCPWM外設的基本結構、相關寄存器、庫函數(shù)以及基本應用操作,以MCPWM外設驅動庫為基礎實現(xiàn)MCPWM信號的簡單輸出應用。讀者可通過改良,快速實現(xiàn)三相直流或交流電機驅動。
第10章,主要介紹UART外設的基本結構、寄存器、庫函數(shù)以及基本應用操作等,詳解以UART外設驅動庫為基礎實現(xiàn)RS232和RS485標準數(shù)據(jù)通信的應用。
第11章,主要介紹SSP外設相關寄存器、庫函數(shù)功能等,介紹基于SSP外設驅動庫來設計SST25VF016B存儲器的相關操作功能函數(shù)和實現(xiàn)串行存儲器的簡易操作。
第12章,主要介紹I2S外設的基本特性、寄存器和庫函數(shù)。定義I2C總線接口對數(shù)字音頻編解碼UDA1380的硬件配置,I2S總線接口實現(xiàn)對既定義音頻數(shù)據(jù)流的傳送,實現(xiàn)了一個數(shù)字音頻數(shù)據(jù)流演示傳輸?shù)膶嵗?br /> 第13章,主要介紹MCI外設的基本特性、相關寄存器和庫函數(shù)功能等。安排了基于SD卡的文件系統(tǒng)操作實例,實例軟件設計基于應用層、中間件層、硬件底層的三層架構,對FATFS中間件層程序文件、文件系統(tǒng)的各種操作指令及存儲介質I/O接口均作了詳細的闡述。
第14章,介紹LCD控制器的基本特性、相關寄存器,并簡單介紹一些庫函數(shù)功能,演示了LCD控制器驅動7 in(英寸)TFT液晶屏以及觸摸屏多點校準的例程。
第15章,講述LPC178x微控制器以太網控制器接口的基本結構與特性、寄存器及庫函數(shù)功能等,同時也介紹了以太網物理收發(fā)器LAN8720A的相關寄存器及配置方式,以及μIP協(xié)議棧的特點、架構、與底層的接口、移植重點等,通過兩個應用實例演示采用以太網接口的網絡通信,實例側重于μIP協(xié)議棧的應用設計。
進階篇
第16章,主要介紹嵌入式實時操作系統(tǒng)μC/OSII的內核體系結構和特點,并集中講述μC/OSII嵌入式系統(tǒng)的移植要點,最后給出一個簡易μC/OSII系統(tǒng)軟件編程實例。通過實例展示了如何在μC/OSII系統(tǒng)中進行軟件設計,其軟件設計涉及的層次結構又是怎樣的,以及μC/OSII系統(tǒng)任務的建立和啟動方式。
第17章,是一個綜合應用實例,以第15章為設計基礎。首先介紹網絡傳輸介質、以太網協(xié)議的數(shù)據(jù)幀格式、嵌入式系統(tǒng)的以太網協(xié)議等,緊接著詳細介紹LwIP協(xié)議棧常用的API函數(shù)以及內存管理機制,并進一步介紹了基于μC/OSII系統(tǒng)環(huán)境的LwIP移植過程。
第18章,詳細介紹FreeRTOS系統(tǒng)的特點、文件架構、移植步驟與要點,并通過一個簡單的應用實例演示了FreeRTOS系統(tǒng)的運行。
第19章,是一個綜合型應用實例,基于第14章LCD控制器進行軟件設計。首先講述嵌入式圖形系統(tǒng)μC/GUI的系統(tǒng)架構、各模塊的功能實現(xiàn)函數(shù)、系統(tǒng)移植步驟等,然后通過一個圖形界面顯示實例來演示如何在μC/OSII系統(tǒng)中構建μC/GUI圖形用戶接口及執(zhí)行觸點校準動作。
第20章,詳細介紹嵌入式實時操作系統(tǒng)μC/OSIII的特點、內核、內核結構以及主要功能函數(shù),并詳細闡述了μC/OSIII系統(tǒng)基于CortexM3內核LPC1788微控制器的移植要點。
本書通過18個實例,由淺入深、點面結合,詳細深入地闡述了LPC1788應用實例的開發(fā)與應用。這些應用實例典型、類型豐富、覆蓋面廣,涉及理論但更側重于實踐,代表性和指導性強。
本書特色
(1) 實例豐富、技術新潮。精選了18個應用實例,基礎實例主要涉及理論講述與簡易設計,進階應用實例偏重實踐,綜合實踐指導性強。
(2) 全書實例以“硬件電路設計+軟件設計”相結合的形式講授,幫助讀者掌握開發(fā)精要,學懂學透。
(3) 基礎實例與進階應用實例并舉,軟件設計架構分明、層次清晰,有利于跨開發(fā)平臺移植,兼容性強。
本書實例全部在配套的LPC1788開發(fā)板上調試通過。該開發(fā)板很適合教學使用,同時也是很好的通用開發(fā)板。為促進讀者更好地學習,加強互動,提供優(yōu)惠購買圖書配套開發(fā)板活動,有需要的讀者可以在作者的淘寶網店購買,也可以通過郵件聯(lián)系作者本人。
本書的代碼設計基本采用NXP公司官方公布的庫函數(shù),易于操作,使用方便。一般來說,軟件模塊化設計,主要面向大規(guī)模的用戶群體以及項目群體,這也是一種最通用的設計;庫函數(shù)的提供可作為軟件設計正規(guī)化、規(guī)范化、模塊化、系統(tǒng)化、承前繼后、迭代更新的一種很重要的實現(xiàn)手段。這類庫函數(shù)在嵌入式操作系統(tǒng)層面設計時適用性較好,可快速實現(xiàn)系統(tǒng)設計與硬件驅動層面的剝離。當然這也對驅動庫函數(shù)的編寫提出了更大的挑戰(zhàn):必須隔離性好,操作定位精確,冗余少,編碼風格易懂。這里也必須說明自定義的寄存器型軟件設計,它的針對性強,面向客戶化需求,其操作時序、速度、效率較高,適合于快速應用、中小規(guī)模及裸機系統(tǒng)的固件設計,但不一定適合研發(fā)團隊代碼量很大的開發(fā)應用。盡管兩種方式都有優(yōu)缺點,但有一點不容置疑,無論采用哪種方式進行軟件設計,硬件底層的設計最終都是針對寄存器的操作,包括但不僅限于配置、定義、修改等操作,它們的實現(xiàn)最終都需要精確到每個寄存器位的設置。
致謝
本書除參考文獻提及的書籍與文獻外,部分章節(jié)的編寫參考了網絡傳播資源以及NXP公司提供的庫函數(shù)及演示代碼,未再一一列出這些資料的貢獻者,在此一并感謝。
本書由劉波文編著。這里還要特別感謝黃紅光、黃國燦、黃國銘、黃亮金、夏鐵華、羅敏、程義育、丁磊、王磊、梁海峰、梁丹、聶靜敏、毛文秀、何同芬、崔春艷、崔虎威、熊尉、孫巖、孫江波、陳秋宇、陳攀、陳明、李楠、毛青、張永明、易耀、呂帥、勞展杰、董琴、陶源、謝志強、湯硯俠、劉健等人參與了編寫及資料收集工作。
由于涉及內容較多,加之知識有限,時間倉促,書中不足和錯誤之處在所難免,懇請專家和讀者批評指正。
劉波文
2014年6月12日
于深圳
基礎篇
第1章 LPC178x系列微控制器概述
1.1CortexM3處理器概述
1.1.1CortexM3配置選項
1.1.2LPC178x/177x系列微控制器型號與分類
1.1.3LPC178x/177x系列微控制器主要特點
1.1.4LPC178x/177x系列微控制器結構概述
1.1.5LPC178x/177x系列微控制器存儲器映射
1.1.6片上存儲器
1.1.7片上外設及基址
1.2CMSIS軟件接口標準
1.2.1CMSIS層與軟件架構
1.2.2CMSIS文件結構
第2章 開發(fā)工具概述
2.1常用開發(fā)工具概覽
基礎篇
第1章 LPC178x系列微控制器概述
1.1CortexM3處理器概述
1.1.1CortexM3配置選項
1.1.2LPC178x/177x系列微控制器型號與分類
1.1.3LPC178x/177x系列微控制器主要特點
1.1.4LPC178x/177x系列微控制器結構概述
1.1.5LPC178x/177x系列微控制器存儲器映射
1.1.6片上存儲器
1.1.7片上外設及基址
1.2CMSIS軟件接口標準
1.2.1CMSIS層與軟件架構
1.2.2CMSIS文件結構
第2章 開發(fā)工具概述
2.1常用開發(fā)工具概覽
2.1.1RealView MDK開發(fā)環(huán)境
2.1.2IAR EWARM開發(fā)環(huán)境
2.1.3JLink仿真器
2.1.4ULINK2仿真器
2.2LPC1788評估板簡述
2.2.1開發(fā)板概覽
2.2.2開發(fā)板外設接口I/O分配
2.3RealView MDK開發(fā)環(huán)境快速入門
2.3.1工程項目的建立
2.3.2工程項目的配置
2.3.3編寫演示代碼
2.3.4工程項目的編譯
2.3.5程序下載與調試
2.4IAR開發(fā)環(huán)境快速入門
2.4.1IAR工程項目的快速建立
2.4.2編譯和鏈接應用程序
2.4.3仿真調試
入門篇
第3章 GPIO端口應用
3.1I/O端口配置概述
3.1.1I/O端口配置描述
3.1.2I/O端口控制寄存器功能描述
3.2GPIO端口概述
3.2.1引腳描述
3.2.2GPIO寄存器描述
3.3GPIO及I/O配置常用庫函數(shù)
3.3.1GPIO端口庫函數(shù)功能詳解
3.3.2引腳連接配置庫函數(shù)功能詳解
3.4GPIO端口應用實例
3.4.1設計目標
3.4.2硬件電路設計
3.4.3實例軟件設計
3.5實例總結
第4章 實時時鐘應用
4.1實時時鐘(RTC)概述
4.1.1RTC基本配置
4.1.2RTC引腳描述
4.2RTC寄存器描述
4.2.1RTC中斷
4.2.2混合寄存器組
4.2.3完整時間寄存器組
4.2.4時間計數(shù)器組
4.2.5通用寄存器組
4.2.6報警寄存器組
4.3RTC常用庫函數(shù)
4.4RTC應用實例
4.4.1設計目標
4.4.2硬件電路設計
4.4.3實例軟件設計
4.5實例總結
第5章 定時器應用
5.1定時器(Timer)概述
5.1.1定時器的基本配置
5.1.2定時器的引腳描述
5.2Timer寄存器描述
5.2.1中斷寄存器
5.2.2定時器控制寄存器
5.2.3定時器/計數(shù)器
5.2.4預分頻寄存器
5.2.5預分頻計數(shù)器
5.2.6匹配控制寄存器
5.2.7匹配寄存器0~
5.2.8捕獲寄存器0~
5.2.9捕獲控制寄存器
5.2.10外部匹配寄存器
5.2.11計數(shù)控制寄存器
5.2.12DMA操作
5.3Timer常用庫函數(shù)
5.4Timer應用實例
5.4.1設計目標
5.4.2硬件電路設計
5.4.3實例軟件設計
5. 5實例總結
第6章 模/數(shù)轉換器應用
6.1模/數(shù)轉換器(ADC)概述
6.1.1ADC的基本配置
6.1.2ADC的引腳描述
6.1.3ADC的操作
6.2ADC寄存器描述
6.2.1ADC控制寄存器
6.2.2ADC全局數(shù)據(jù)寄存器
6.2.3ADC中斷使能寄存器
6.2.4ADC數(shù)據(jù)寄存器0~
6.2.5ADC狀態(tài)寄存器
6.2.6ADC調節(jié)寄存器
6.3ADC常用庫函數(shù)
6.4ADC應用實例
6.4.1設計目標
6.4.2硬件電路設計
6.4.3實例軟件設計
6. 5實例總結
第7章 數(shù)/模轉換器應用
7.1數(shù)/模轉換器(DAC)概述
7.1.1DAC的基本配置
7.1.2DAC的引腳描述
7.1.3DAC的操作
7.2DAC寄存器描述
7.2.1D/A轉換器寄存器
7.2.2D/A轉換器控制寄存器
7.2.3D/A轉換器計數(shù)器值寄存器
7.3常用庫函數(shù)
7.3.1DAC驅動庫
7.3.2通用DMA控制器常用庫函數(shù)
7.4DAC應用實例
7.4.1設計目標
7.4.2硬件電路設計
7.4.3實例軟件設計
7. 5實例總結
第8章 脈寬調制器應用
8.1脈寬調制器(PWM)概述
8.1.1脈寬調制器的基本配置
8.1.2脈寬調制器的引腳描述
8.1.3單沿和雙沿控制規(guī)則的采樣波形
8.2PWM寄存器描述
8.2.1PWM中斷寄存器
8.2.2PWM定時器控制寄存器
8.2.3PWM計數(shù)控制寄存器
8.2.4PWM定時器/計數(shù)器
8.2.5PWM預分頻寄存器
8.2.6PWM預分頻計數(shù)器寄存器
8.2.7PWM匹配控制寄存器
8.2.8PWM匹配寄存器
8.2.9PWM捕獲控制寄存器
8.2.10PWM捕獲寄存器
8.2.11PWM控制寄存器
8.2.12PWM鎖存使能寄存器
8.3PWM常用庫函數(shù)
8.4PWM應用實例
8.4.1設計目標
8.4.2硬件電路設計
8.4.3實例軟件設計
8. 5實例總結
第9章 電機控制脈寬調制器應用
9.1電機控制脈寬調制器概述
9.1.1電機控制脈寬調制器的基本配置
9.1.2電機控制脈寬調制器的引腳描述
9.2電機控制脈寬調制器寄存器描述
9.2.1MCPWM控制寄存器
9.2.2MCPWM捕獲控制寄存器
9.2.3MCPWM中斷寄存器
9.2.4MCPWM計數(shù)控制寄存器
9.2.5MCPWM定時器/計數(shù)器0~2寄存器
9.2.6MCPWM界限0~2寄存器
9.2.7MCPWM匹配0~2寄存器
9.2.8MCPWM死區(qū)時間寄存器
9.2.9MCPWM通信格式寄存器
9.2.10MCPWM捕獲寄存器
9.3MCPWM的應用操作
9.3.1脈寬調制
9.3.2映射寄存器和同時更新
9.3.3快速中止(ABORT)
9.3.4捕獲事件
9.3.5外部事件計數(shù)(計數(shù)器模式)
9.3.6三相直流模式
9.3.7三相交流模式
9.3.8中斷源
9.4MCPWM常用庫函數(shù)
9.5MCPWM應用實例
9.5.1設計目標
9.5.2硬件電路設計
9.5.3實例軟件設計
9. 6實例總結
第10章 通用異步收發(fā)器應用
10.1通用異步收發(fā)器(UART)概述
10.1.1通用異步收發(fā)器的基本配置
10.1.2通用異步收發(fā)器的引腳描述
10.2UART寄存器描述
10.2.1UARTn接收緩沖寄存器(RBR)
10.2.2UARTn發(fā)送保持寄存器(THR)
10.2.3UARTn除數(shù)鎖存器LSB/MSB寄存器(DLL,DLM)
10.2.4UARTn中斷使能寄存器(IER)
10.2.5UARTn中斷標識寄存器(IIR)
10.2.6UARTn FIFO控制寄存器(FCR)
10.2.7UARTn線控制寄存器(LCR)
10.2.8UARTn Modem控制寄存器(MCR)
10.2.9UARTn線狀態(tài)寄存器(LSR)
10.2.10UARTn Modem狀態(tài)寄存器(MSR)
10.2.11UARTn高速緩存寄存器(SCR)
10.2.12UARTn自動波特率控制寄存器(ACR)
10.2.13UARTn分數(shù)分頻器寄存器(FDR)
10.2.14UARTn發(fā)送使能寄存器(TER)
10.2.15UARTn的RS485控制寄存器(RS485CTRL)
10.2.16UARTn的RS485地址匹配寄存器(RS485ADRMATCH)
10.2.17UARTn的RS485延時值寄存器(RS485DLY)
10.2.18UART4過采樣寄存器OSR
10.2.19UART4智能卡接口控制寄存器SCICTRL
10.2.20UART4同步模式控制寄存器(SYNCCTRL)
10.2.21UART4 IrDA控制寄存器
10.3UART常用庫函數(shù)
10.4UART應用實例
10.4.1設計目標
10.4.2硬件電路設計
10.4.3實例軟件設計
10.5實例總結
第11章 串行同步端口控制器應用
11.1串行同步端口概述
11.1.1串行同步端口基本配置
11.1.2串行同步端口的引腳描述
11.2SSP寄存器描述
11.2.1SSPn 控制寄存器0(CR0)
11.2.2SSPn 控制寄存器1(CR1)
11.2.3SSPn數(shù)據(jù)寄存器(DR)
11.2.4SSPn狀態(tài)寄存器(SR)
11.2.5SSPn時鐘預分頻寄存器(CPSR)
11.2.6SSPn中斷使能置位/清零寄存器(IMSC)
11.2.7SSPn原始中斷狀態(tài)寄存器(RIS)
11.2.8SSPn 使能中斷狀態(tài)寄存器(MIS)
11.2.9 SSPn中斷清零寄存器(ICR)
11.2.10SSPn DMA控制寄存器(CMACR)
11.3SSP常用庫函數(shù)
11.4SSP外設應用實例
11.4.1設計目標
11.4.2硬件電路設計
11.4.3實例軟件設計
11. 5實例總結
第12章 I2S數(shù)字音頻接口應用
12.1I2S總線接口概述
12.1.1I2S總線接口的基本配置
12.1.2I2S接口的引腳描述
12.2I2S寄存器描述
12.2.1數(shù)字音頻輸出寄存器(I2SDAO)
12.2.2數(shù)字音頻輸入寄存器(I2SDAI)
12.2.3發(fā)送緩沖寄存器(I2STXFFO)
12.2.4接收緩沖寄存器(I2SRXFIFO)
12.2.5狀態(tài)反饋寄存器(I2SSTATE)
12.2.6DMA配置寄存器1(I2SDMAI)
12.2.7DMA配置寄存器2(I2SDMA2)
12.2.8中斷請求控制寄存器(I2SIRQ)
12.2.9發(fā)送時鐘速率寄存器(I2STXRATE)
12.2.10接收時鐘速率寄存器(I2SRXRATE)
12.2.11發(fā)送時鐘位速率寄存器(I2STXBITRATE)
12.2.12接收時鐘位速率寄存器(I2SRXBITRATE)
12.2.13發(fā)送模式控制寄存器(I2STXMODE)
12.2.14接收模式控制寄存器(I2SRXM0DE)
12.3I2S常用庫函數(shù)
12.4I2S數(shù)字音頻接口播放器應用實例
12.4.1設計目標
12.4.2硬件電路設計
12.4.3實例軟件設計
12.5實例總結
第13章 SD卡接口應用
13.1SD卡接口概述
13.1.1SD卡接口的基本配置
13.1.2SD卡接口的引腳描述
13.2SD卡接口寄存器描述
13.2.1電源控制寄存器(MCOPower)
13.2.2時鐘控制寄存器(MCIClock)
13.2.3參數(shù)寄存器(MCIArgument)
13.2.4命令寄存器(MCICommand)
13.2.5命令響應寄存器(MCIRespCommand)
13.2.6響應寄存器0~3(MCIResponse0~3)
13.2.7數(shù)據(jù)定時器寄存器
13.2.8數(shù)據(jù)長度寄存器(MCIDataLength)
13.2.9數(shù)據(jù)控制寄存器(MCIDataCtrl)
13.2.10數(shù)據(jù)計數(shù)器寄存器(MCIDataCnt)
13.2.11狀態(tài)寄存器(MCIStatus)
13.2.12清零寄存器(MCIClear)
13.2.13中斷屏蔽寄存器(MCIMask)
13.2.14FIFO計數(shù)器寄存器(MCIFifoCnt)
13.2.15數(shù)據(jù)FIFO寄存器(MCIFIFO)
13.3SD卡接口的常用庫函數(shù)
13.4基于SD卡接口的文件系統(tǒng)實例
13.4.1設計目標
13.4.2硬件電路設計
13.4.3實例軟件設計
13. 5實例總結
第14章 LCD控制器與觸摸應用
14.1LCD控制器概述
14.1.1LCD上電與掉電順序
14.1.2LCD控制器的基本配置
14.1.3LCD控制器的引腳描述
14.2LCD控制器寄存器描述
14.2.1LCD配置和計時控制寄存器(LCD_CFG)
14.2.2水平時序控制寄存器(LCD_TIMH)
14.2.3垂直時序控制寄存器(LCD_TIMV)
14.2.4時鐘與信號極性控制寄存器(LCD_POL)
14.2.5線端控制寄存器(LCD_LE)
14.2.6上面板幀基址寄存器(LCD_UPBASE)
14.2.7下面板幀基址寄存器(LCD_LPBASE)
14.2.8LCD控制寄存器(LCD_CTRL)
14.2.9中斷屏蔽寄存器(LCD_INTMSK)
14.2.10原始中斷屏蔽寄存器(LCD_INTRAW)
14.2.11中斷屏蔽狀態(tài)寄存器(LCD_INTSTAT)
14.2.12中斷清零寄存器(LCD_INTCLR)
14.2.13上面板當前地址寄存器(LCD_UPCURR)
14.2.14下面板當前地址寄存器(LCD_LPCURR)
14.2.15彩色調色板寄存器(LCD_PAL)
14.2.16光標圖像寄存器(CRSR_IMG)
14.2.17光標控制寄存器(CRSR_CTRL)
14.2.18光標配置寄存器(CRSR_CFG)
14.2.19光標調色板寄存器0(CRSR_PAL0)
14.2.20光標調色板寄存器1(CRSR_PAL1)
14.2.21光標XY位置寄存器(CRSR_XY)
14.2.22光標剪裁位置寄存器
14.2.23光標中斷屏蔽寄存器(CRSR_INTMSK)
14.2.24光標中斷清零寄存器(CRSR_INTCLR)
14.2.25光標原始中斷狀態(tài)寄存器(CRSR_INTRAW)
14.2.26光標中斷屏蔽狀態(tài)寄存器(CRSR_INTSTAT)
14.3LCD控制器的常用庫函數(shù)
14.4LCD控制器應用實例
14.4.1設計目標
14.4.2硬件電路設計
14.4.3文字顯示實例軟件設計
14.4.4觸摸屏校準實例軟件設計
14.5實例總結
第15章 以太網接口應用
15.1以太網接口概述
15.1.1以太網模塊的內部結構與特性
15.1.2以太網數(shù)據(jù)包
15.1.3以太網接口的基本配置
15.1.4以太網接口的引腳描述
15.2以太網接口寄存器描述
15.2.1MAC寄存器組
15.2.2控制寄存器組
15.2.3接收過濾寄存器組
15.2.4模塊控制寄存器組
15.2.5描述符與狀態(tài)
15.3以太網接口的常用庫函數(shù)
15.4以太網接口應用實例
15.4.1設計目標
15.4.2硬件電路設計
15.4.3簡易網頁瀏覽實例軟件設計
15.4.4μIP實例軟件設計
15.5實例總結
進階篇
第16章 嵌入式實時操作系統(tǒng)μC/OSII的移植與應用
16.1嵌入式系統(tǒng)μC/OSII概述
16.1.1μC/OSII系統(tǒng)特點
16.1.2μC/OSII系統(tǒng)內核
16.1.3任務管理
16.1.4時間管理
16.1.5任務之間的通信與同步
16.1.6內存管理
16.2如何在LPC1788微處理器上移植μC/OSII系統(tǒng)
16.2.1移植μC/OSII系統(tǒng)必須滿足的條件
16.2.2初識μC/OSII嵌入式系統(tǒng)
16.2.3重提μC/OSII嵌入式系統(tǒng)移植要點
16.3應用實例
16.3.1設計目標
16.3.2硬件電路設計
16.3.3μC/OSII系統(tǒng)軟件設計
16.4實例總結
第17章 LwIP移植與應用實例
17.1以太網概述
17.1.1以太網的網絡傳輸介質
17.1.2以太網數(shù)據(jù)幀格式
17.1.3嵌入式系統(tǒng)的以太網協(xié)議
17.2LwIP協(xié)議棧概述
17.2.1LwIP協(xié)議棧的整體架構和進程模型
17.2.2LwIP協(xié)議棧的API接口
17.2.3LwIP內存管理
17.3LwIP協(xié)議;讦藽/OSII系統(tǒng)的移植
17.3.1LwIP協(xié)議棧的源文件結構
17.3.2LwIP協(xié)議棧的移植
17.4應用實例
17.4.1設計目標
17.4.2系統(tǒng)軟件設計
17.5實例總結
第18章 嵌入式實時操作系統(tǒng)FreeRTOS應用
18.1嵌入式系統(tǒng)FreeRTOS概述
18.1.1FreeRTOS系統(tǒng)的特點
18.1.2FreeRTOS系統(tǒng)的任務管理
18.1.3FreeRTOS系統(tǒng)的隊列管理
18.1.4FreeRTOS系統(tǒng)的信號量
18.1.5FreeRTOS系統(tǒng)的資源管理
18.1.6FreeRTOS系統(tǒng)的內存管理
18.1.7聯(lián)合程序
18.2如何在LPC1788微控制上器移植FreeRTOS系統(tǒng)
18.2.1初識FreeRTOS嵌入式系統(tǒng)
18.2.2FreeRTOS系統(tǒng)的移植
18.2.3FreeRTOS系統(tǒng)的可配置參數(shù)項
18.3FreeRTOS應用實例
18.4實例總結
第19章 嵌入式圖形系統(tǒng)μC/GUI的移植與應用
19.1嵌入式圖形系統(tǒng)μC/GUI
19.1.1μC/GUI系統(tǒng)的軟件結構
19.1.2文本顯示
19.1.3數(shù)值顯示
19.1.42D圖形庫
19.1.5字體
19.1.6顏色
19.1.7存儲設備
19.1.8視窗管理器
19.1.9窗口對象
19.1.10對話框
19.1.11抗鋸齒
19.1.12輸入設備
19.1.13時間函數(shù)
19.2μC/GUI系統(tǒng)的移植
19.2.1初識μC/GUI系統(tǒng)
19.2.2細說μC/GUI系統(tǒng)的移植
19.2.3μC/GUI系統(tǒng)的觸摸屏驅動
19.2.4μC/OSII系統(tǒng)環(huán)境下支持μC/GUI系統(tǒng)
19.3設計目標
19.4系統(tǒng)軟件設計
19.5實例總結
第20章 嵌入式實時操作系統(tǒng)μC/OSIII的移植與應用
20.1嵌入式系統(tǒng)μC/OSIII概述
20.1.1μC/OSIII系統(tǒng)的特點
20.1.2代碼的臨界段
20.1.3任務管理
20.1.4任務就緒表
20.1.5任務調度
20.1.6上下文切換
20.1.7時間管理
20.1.8資源管理
20.1.9信號量
20.1.10事件標志組
20.1.11消息傳遞
20.1.12內存管理
20.2如何在LPC1788處理器上移植μC/OSIII系統(tǒng)
20.2.1移植μC/OSIII系統(tǒng)必須滿足的條件
20.2.2初識μC/OSIII嵌入式系統(tǒng)
20.3設計目標
20.4μC/OSIII系統(tǒng)軟件設計
20.5實例總結
參考文獻