本書的立足點是基礎化、實用化、可操作性,首先介紹嵌入式系統(tǒng)的概念、引導讀者對嵌入式系統(tǒng)有一個整體的印象,從而為讀者打開嵌入式系統(tǒng)開發(fā)的大門,其次介紹嵌入式開發(fā)的集成開發(fā)環(huán)境; 然后以Stellaris處理器LM3S8962為對象,介紹了系統(tǒng)控制、GPIO、串行通信、定時器模塊、ADC模塊、PWM及模擬比較器; CAN模塊; 最后以全國大學生飛思卡爾杯智能汽車比賽為應用案例,介紹其系統(tǒng)設計及實現(xiàn)方法。 本書可作為大專、本科院校自動化、機電、儀器儀表和自動控制等專業(yè)的工業(yè)控制網(wǎng)絡等相關課程的教材或教學參考書,也可供從事工業(yè)控制網(wǎng)絡系統(tǒng)設計和產(chǎn)品研發(fā)的工程技術人員參考。
本書是一本介紹Cortex M3內(nèi)核Stellaris處理器開發(fā)與應用的書籍,目標讀者包括:一線程序員,嵌入式產(chǎn)品設計師,片上系統(tǒng)(SoC)工程師,嵌入式系統(tǒng)發(fā)燒友,學院研究員,還包括所有涉獵過單片機和微處理器領域,慧眼識珍看中了Cortex‐M3的人民大眾們。還適合下列人員閱讀:
想學習或剛剛進入Cortex M3內(nèi)核Stellaris處理器的開發(fā)人員。
想學習嵌入式技術的開發(fā)人員。
對嵌入式技術開發(fā)感興趣的人員。
使用Cortex M3進行快速開發(fā)產(chǎn)品的開發(fā)人員。
盡管本書面向初級Cortex M3內(nèi)核Stellaris處理器的開發(fā)人員,但讀者需要熟悉相關的硬件知識以及C語言,至少能讀懂書中提到的代碼。
第1章嵌入式系統(tǒng)基礎
1.1嵌入式系統(tǒng)的概念及組成
1.1.1嵌入式平臺的硬件構架
1.1.2板級支持包和嵌入式系統(tǒng)
1.1.3嵌入式系統(tǒng)上的應用程序
1.2嵌入式C語言
1.2.1變量與常量
1.2.2運算符
1.2.3預處理
1.2.4位處理
1.2.5C編程基本規(guī)則
1.3ARM CortexM3概述
1.3.1ARM——Advanced RISC Machines
1.3.2CortexM3簡介
1.4典型CortexM3微控制器簡介
1.4.1CortexM3的微處理器Stellaris系列
1.4.2Stellaris系列處理器的分類
1.4.3LM3S8962引腳功能和硬件電路
小結(jié)
思考題
第2章集成開發(fā)環(huán)境
2.1嵌入式軟件開發(fā)過程
2.1.1創(chuàng)建過程
2.1.2編譯
2.1.3鏈接
2.1.4定址
2.1.5調(diào)試過程
2.2IAR EWARM安裝
2.3安裝驅(qū)動庫
2.3.1下載最新庫文件
2.3.2拷貝連接器命令文件
2.3.3拷貝驅(qū)動庫頭文件
2.3.4拷貝底層驅(qū)動函數(shù)庫
2.4EWARM新建項目
2.4.1建立一個項目文件目錄
2.4.2新建工作區(qū)
2.4.3生成新項目
2.4.4添加/新建文件
2.4.5項目選項設置
2.4.6通用選項設置
2.4.7C/C++編譯器選項設置
2.4.8Assembler選項設置
2.4.9Linker選項設置
2.4.10Debugger選項設置
2.5編譯和運行應用程序
2.5.1編譯連接處理
2.5.2查看MAP文件
2.5.3加載應用程序
2.5.4應用程序的相關調(diào)試
2.5.5生成hex文件
小結(jié)
思考題
第3章系統(tǒng)控制
3.1電源結(jié)構與LDO控制
3.2時鐘控制
3.3復位控制
3.4外設控制
3.5睡眠與深度睡眠
3.6雜項功能
3.7中斷控制
3.7.1中斷基本概念
3.7.2Stellaris中斷基本編程方法
3.7.3中斷庫函數(shù)
3.7.4GPIO中斷控制例程
小結(jié)
思考題
第4章通用輸入輸出
4.1通用I/O口兩種應用電路
4.2GPIO概述
4.3特殊引腳及寄存器
4.4GPIO庫函數(shù)
4.5兩只LED交替閃爍控制實例
4.6KEY控制LED實例
小結(jié)
思考題
第5章串行通信
5.1UART串口通信
5.1.1UART異步串口概述
5.1.2UART總體特性
5.1.3UART功能概述
5.1.4UART庫函數(shù)
5.1.5UART例程分析
5.2I2C串行通信
5.2.1I2C協(xié)議基礎
5.2.2I2C功能概述
5.2.3I2C庫函數(shù)
5.2.4I2C例程分析
5.3SSI串行通信
5.3.1SSI總體特性
5.3.2SSI通信協(xié)議
5.3.3SSI功能概述
5.3.4SSI庫函數(shù)參考
5.3.5SSI驅(qū)動例程分析
小結(jié)
思考題
第6章時鐘模塊
6.1系統(tǒng)節(jié)拍定時
6.1.1SysTick功能簡介
6.1.2SysTick基本操作
6.1.3SysTick中斷控制
6.1.4模擬PC按鍵重復特性實例
6.2通用定時器
6.2.1Timer總體特性
6.2.2Timer功能概述
6.2.3Timer庫函數(shù)
6.2.4定時器32位單次觸發(fā)定時實例
6.2.5定時器32位周期定時實例
6.2.632位RTC定時實例
6.2.7定時器16位單次觸發(fā)定時實例
6.2.8定時器16位周期定時實例
6.2.9定時器16位輸入邊沿計數(shù)捕獲實例
6.2.10定時器16位輸入邊沿定時捕獲實例
6.2.11定時器16位PWM實例
6.2.12Timer PWM應用蜂鳴器發(fā)聲實例
6.3看門狗
6.3.1看門狗功能簡述
6.3.2看門狗的工作原理
6.3.3外部看門狗
6.3.4WatchDog功能概述
6.3.5如何正確使用看門狗
6.3.6WatchDog庫函數(shù)
6.3.7WatchDog復位例程
6.3.8WatchDog作為普通定時器實例
小結(jié)
思考題
第7章模數(shù)轉(zhuǎn)換ADC
7.1ADC總體特性
7.2ADC功能描述
7.3ADC應用注意事項
7.4ADC庫函數(shù)
7.4.1ADC采樣序列操作
7.4.2ADC處理器觸發(fā)
7.4.3ADC過采樣
7.4.4ADC中斷控制
7.5ADC模塊的應用
7.5.1ADC模塊初始化
7.5.2ADC開始采樣
7.6ADC例程分析
7.6.1處理器觸發(fā)ADC采樣實例
7.6.2ADC內(nèi)置的溫度傳感器實例
7.6.3處理器觸發(fā)多通道ADC采樣實例
7.6.4外部事件觸發(fā)ADC采樣實例
7.6.5定時器溢出觸發(fā)ADC采樣實例
7.6.6模擬比較器觸發(fā)ADC采樣實例
7.6.7差分輸入ADC采樣實例
小結(jié)
思考題
第8章脈沖寬度調(diào)制及模擬比較器
8.1脈沖寬度調(diào)制
8.1.1PWM總體特性
8.1.2PWM功能概述
8.1.3PWM庫函數(shù)
8.1.4產(chǎn)生兩路PWM信號實例
8.1.5產(chǎn)生兩路帶死區(qū)的PWM實例
8.1.6PWM發(fā)生器中斷實例
8.2模擬比較器
8.2.1電壓比較器
8.2.2COMP功能
8.2.3COMP庫函數(shù)
8.2.4內(nèi)部參考源輸出驅(qū)動LED例程
8.2.5外部參考源輸出觸發(fā)中斷實例
小結(jié)
思考題
第9章CAN接口應用
9.1CAN總線簡介
9.2CAN的分層結(jié)構及通信協(xié)議
9.2.1CAN的分層結(jié)構
9.2.2CAN的通信協(xié)議
9.3CAN總線接口應用電路
9.3.1嵌入式處理器上擴展CAN總線接口
9.3.2CAN總線接口應用電路
9.3.3收發(fā)器隔離電路設計
9.4CAN模塊特性及驅(qū)動庫函數(shù)
9.4.1數(shù)據(jù)結(jié)構
9.4.2枚舉類型
9.4.3接口函數(shù)
9.5CAN模塊應用流程
9.6CAN總線常用函數(shù)及例程
9.6.1CAN總線常用的函數(shù)
9.6.2收發(fā)數(shù)據(jù)
9.6.3不同節(jié)點通信案例
9.6.4CAN總線數(shù)據(jù)簡單發(fā)送數(shù)據(jù)實例
9.6.5CAN發(fā)送ADC采樣等多組數(shù)據(jù)實例
9.6.6CAN總線接收數(shù)據(jù)實例
小結(jié)
思考題
第10章智能汽車設計實例分析
10.1智能汽車設計概述
10.1.1智能汽車設計的意義及研究內(nèi)容
10.1.2智能汽車設計的技術關鍵
10.1.3中國大學生智能汽車設計競賽簡介
10.1.4中國大學生智能汽車設計競賽的基本規(guī)則
10.2智能汽車硬件設計
10.2.1傳感器系統(tǒng)
10.2.2電源系統(tǒng)
10.3智能車軟件設計
10.3.1軟件系統(tǒng)整體框架
10.3.2角度及角速度測量
10.3.3道路信息提取
10.3.4路徑識別算法
10.3.5控制策略及控制算法
10.4智能車系統(tǒng)調(diào)試
10.4.1電子設計調(diào)試基礎知識
10.4.2智能車設計的調(diào)試及注意事項
小結(jié)
思考題
參考文獻