本書圍繞TI TM4C123G的固件庫函數這一主線,介紹了TM4C123G6HPM微處理器的基本外設特點、結構與功能,固件庫的函數功能及其使用。本書采用了真實硬件EK-EM4C123GXL LaunchPad實驗板(包括DK-TM4C123G)與虛擬硬件Proteus 8.1相結合的方式來介紹基于固件的軟件編程與測試方法,以利于有真實板卡但資源不足或無EK-TM4C123GXL板卡的讀者學習與測試基于固件的代碼之用。
TI TivaTM C 系列微控制器采用基于 ARM CortexTMM4內核的卓越架構,具備強大的集成能力,提供了成熟的軟件和開發工具生態系統,是嵌入式工程師的理想選擇。為了提供最佳的性能和靈活性,TivaTM C 系列架構推出了具有FPU、各種集成存儲器以及可編程 GPIO 的 80MHz CortexM4微控制器。TivaTM C 系列可集成適合特殊應用的外設,以及廣泛的軟件工具選項,能大大降低電路板成本,縮短產品的設計周期,是用戶理想的成本效益型解決方案。
隨著TI Stellaries M3系列微控制器逐步退出歷史舞臺,TivaTM C 系列芯片可幫助用戶縮短產品上市時間、節省開發成本,成為高性能 32 位應用的優選。但市面上或網絡中有關TM4C123G系列微控制器的書籍和資料還很少,使初學者很難上手,所以編撰一本有關TivaTM C 系列微控制器的技術手冊和入門級教科書很有必要,本書就是在這樣的形勢下實施的。
本書歷時一年多,于2014年3月底完成初稿,因筆者4月份生病住院而耽誤了書的進展。今年1月按照新版固件庫(SWTM4CDRLUG2ム111577)重新對原有固件庫函數進行了增減與修訂,修改了各章的外設功能簡介,增加了基于Proteus虛擬硬件測試的例程,并于2015年4月12日完成全部工作。
前言
第1章開發工具使用入門
11下載與安裝所需的軟件
12第一個基于CCS6的hello world
工程
121導入已存在的工程
122創建一個新工程
123LM閃存編程器
13Keil for ARM入門基礎
131導入一個hello工程
132創建一個hello工程
14IAR Embedded Workbench for ARM
入門基礎
141打開一個現有工程
142創建一個新工程
第2章EKTM4C123GXL及Proteus
簡介
21EKTM4C123GXL簡介
211TM4C123GXL的特點
212評估板模塊框圖
22Proteus 81簡介
221新增功能
222Proteus 81界面簡介
223如何尋找Proteus中的元器件
224虛擬儀器的使用
225基于Proteus 81的M3編程
與測試
226基于Proteus 81的M3代碼
測試
第3章通用異步收發器模塊(UART)
31UART模塊
311UART的特點
312UART的結構框圖
313信號描述
314UART模塊功能的簡要介紹
32UART固件庫函數
321UART固件庫結構
322UART的基本操作
33例程
第4章模數轉換器(ADC)
41ADC模塊
411ADC特點
412ADC模塊框圖
413信號描述
414功能簡介
42ADC固件庫函數
43例程
第5章通用輸入/輸出(GPIO)
51GPIO模塊
511GPIO特點
512GPIO模塊框圖
513功能簡介
514寄存器映射及寄存器描述
52GPIO固件庫函數
53例程
第6章模擬比較器(COMP)
61COMP單元
611COMP特點
612COMP模塊框圖
613信號描述
614功能簡介
615寄存器映射
62COMP固件庫函數
63例程
第7章系統定時與中斷控制
71NVIC模塊
711NVIC模塊的特點
712功能描述
713中斷優先級
714中斷異常
715寄存器映射
72SysTick與 NVIC固件庫函數
721SysTick固件庫
722NVIC固件庫
73例程
第8章內部集成電路接口(I2C)
81I2C單元
811I2C特點
812I2C模塊框圖
813信號描述
814功能描述
82I2C固件庫函數
821主機操作
822從機操作
823I2C固件庫描述
83例程
831主從回環例程
832基于I2C的EEPROM讀寫
例程
第9章同步串行接口(SSI)
91SSI單元
911SSI的特點
912模塊框圖
913信號描述
914功能簡介
915寄存器映射
92SSI固件庫函數
93例程
第10章內部存儲器
101內部存儲器單元
1011模塊框圖與控制邏輯
1012功能簡介
102閃存固件庫函數
103使用ROM
1031直接ROM調用
1032映射ROM調用
1033ROM固件更新
104EEPROM固件庫函數
105例程
1051寫閃存例程
1052讀寫EEPROM例程
第11章通用定時器(GPTM)
111通用定時器單元
1111主要特點
1112GPTM模塊框圖
1113信號描述
1114功能簡介
112GPTM固件庫函數
113例程
第12章脈沖寬度調制(PWM)
121PWM單元
1211PWM的主要特點
1212PWM的模塊框圖
1213信號描述
1214功能簡介
122PWM固件庫函數
123例程
第13章微直接存儲器訪問
(μDMA)
131μDMA單元
1311μDMA的特點
1312μDMA模塊框圖
1313功能簡介
132μDMA固件庫函數
133例程
第14章通用串行總線控制器
(USB)
141USB簡介
142TM4C123GH6PM USB控制器
1421USB的特點
1422USB模塊框圖
1423USB信號描述
1424USB功能描述
143USB固件庫函數
1431USB的分層框架結構
1432Driverlib庫函數介紹
1433USBlib庫函數介紹
144例程
第15章FatFS文件讀取實驗
151SD卡概述
1511SD卡的內部結構及信號描述
1512SD卡的命令
1513SD卡的功能描述
1514SD卡驅動程序解讀
152SD卡FatFS文件讀取實驗
1521FatFS文件系統簡介
1522實驗硬件連接圖
1523導入sd_card工程
第16章基本圖形庫(Grlib)
161圖形庫與液晶屏概述
1611圖形庫概述
1612液晶屏簡介
162TivaWare圖形庫簡介
1621圖形庫的特點
1622圖形庫源代碼
1623圖形固件庫函數
1624實用工具(Utilities)
1625預定義的顏色參考
163例程
附錄
附錄A第3章附錄:UART固件庫
函數簡介
附錄B第4章附錄:ADC固件庫
函數簡介
附錄C第5章附錄:GPIO固件庫
函數簡介
附錄D第6章附錄:模擬比較器
固件庫函數簡介
附錄E第7章附錄:SysTick與NVIC
固件庫函數簡介
E1SysTick固件庫函數
E2NVIC固件庫函數
附錄F第8章附錄:I2C固件庫
函數簡介
附錄G第9章附錄:SSI固件庫
函數簡介
附錄H第10章附錄:內部存儲器的
固件庫函數簡介
H1閃存(Flash)固件庫函數
H2閃存保護單元(MPU)固件庫
函數
H3EEPROM固件庫函數
附錄I第11章附錄:GPTM固件庫
函數簡介
附錄J第12章附錄:PWM固件庫
函數簡介
附錄K第13章附錄:μDMA固件庫
函數簡介
附錄L第14章附錄:USB DriverLib
固件庫函數簡介
參考文獻