第1章嵌入式繫統概述
1.1嵌入式繫統簡介
1.1.1嵌入式繫統的歷史
1.1.2嵌入式繫統的定義
1.1.3其他相關聯的概念
1.2嵌入式繫統結構與應用領域
1.2.1單片嵌入式繫統
1.2.2單片機的發展歷史
1.2.3單片機的發展趨勢
1.2.4單片機嵌入式繫統的結構
1.2.5單片機嵌入式繫統的應用領域
1.3習題
第2章嵌入式繫統的開發與設計
2.1嵌入式繫統的應用模式
2.1.1嵌入式處理器
2.1.2嵌入式操作繫統
2.2基於單片機的嵌入式繫統開發
2.2.1嵌入式繫統的特點
2.2.2基於單片機的嵌入式繫統開發過程
2.2.3基於單片機的嵌入式繫統開發模式
2.2.4嵌入式繫統開發工具
2.3基於單片機的嵌入式繫統設計
2.3.1嵌入式繫統設計的基本指導思想
2.3.2基於單片機的嵌入式繫統設計基本原則與依據
2.3.3設計開發時的注意事項
2.3.4嵌入式繫統設計方法(從單片機到單片繫統)
2.4習題
第3章開發環境
3.1keil μvision3介紹
3.2keil μvision3的功能
3.3keil μvision3的安裝與配置
3.3.1keil μvision3繫統要求
3.3.2keil μvision3安裝
3.3.3keil μvision3目錄結構
3.3.4注冊與幫助
3.4開發過程
3.4.1創建工程並選擇處理器
3.4.2配置處理器啟動代碼
3.4.3配置硬件選項
3.4.4創建源文件及文件組
3.4.5編譯鏈接工程
3.4.6調試程序
3.4.7建立hex文件
3.4.8下載hex文件
3.5習題
第4章基於arm cortex?m3的嵌入式處理器
4.1arm及arm架構的背景
4.2arm的架構版本
4.3arm cortex?m3處理器初探
4.4cortex?m3處理器內核vs.基於cortex?m3的mcu
4.5thumb?2指令集體繫結構
4.6習題
第5章cortex?m3處理器寄存器及指令繫統
5.1寄存器組
5.1.1寄存器
5.1.2cortex?m3的寄存器
5.2處理器操作模式與特權級別
5.3arm彙編語言基礎
5.3.1arm彙編偽指令
5.3.2arm的彙編語言結構
5.4特殊功能寄存器組
5.4.1程序狀態寄存器(psrs或psr)
5.4.2primask、faultmask和basepri
5.4.3控制寄存器(control)
5.5異常和中斷
5.6嵌套向量中斷控制器
5.7存儲器
5.8堆棧區的操作
5.8.1堆棧的基本操作
5.8.2cortex?m3堆棧的實現
5.8.3cortex?m3的雙堆棧機制
5.9習題
第6章stm32架構簡介
6.1stm32繫列微控制器簡介
6.2stm32微控制器的分類
6.2.1stm32f101xx繫列微控制器
6.2.2stm32f103xx繫列微控制器
6.3stm32微控制器的主要優點
6.4stm32微控制器的應用
6.5習題
第7章嵌入式處理器外設
7.1存儲器和總線結構
7.1.1繫統結構
7.1.2存儲器結構
7.1.3嵌入式sram
7.1.4位段
7.1.5嵌入式閃存存儲器(flash)
7.1.6啟動配置
7.2電源控制
7.2.1電源供應
7.2.2電源供應管理
7.2.3低功耗模式
7.2.4電源控制寄存器
7.3復位和時鐘控制
7.3.1復位
7.3.2時鐘
7.3.3rcc寄存器描述
7.4通用i/o和復用i/o(gpio和afio)
7.4.1gpio介紹
7.4.2stm32下的gpio描述
7.4.3gpio寄存器描述
7.4.4復用功能i/o和調試配置(afio)
7.4.5afio寄存器描述
7.4.6實驗: 通過使用keil μvision3在stm32模擬器下實現gpio的跑馬燈程序
7.5外部中斷和事件
7.5.1什麼是中斷
7.5.2stm32f10x外部中斷/事件功能描述
7.5.3exti相關功能寄存器
7.5.4實驗: 通過使用keil μvision3在stm32模擬器下實現按鍵處理
7.6通用定時器(timx)
7.6.1簡介
7.6.2主要特性
7.6.3功能描述
7.6.4通用定時器(timx)寄存器描述
7.6.5實驗: 通過使用keil μvision3在stm32模擬器下對定時器的實現
7.7實時時鐘
7.7.1簡介
7.7.2主要特性
7.7.3功能描述
7.7.4rtc寄存器描述
7.7.5實驗: 通過使用keil μvision3在stm32模擬器下對定時器下實現仿真鐘表輸出
7.8習題
第8章stm32外部通信接口
8.1串行通信接口
8.1.1串行通信接口(uart)介紹
8.1.2stm32下的usart操作
8.1.3stm32下的uart寄存器描述
8.1.4實驗: 通過使用keil μvision3在stm32模擬器下實現uart的字符輸入輸出
8.2spi
8.2.1spi介紹
8.2.2stm32下的spi操作
8.2.3stm32下的spi寄存器介紹
8.2.4實驗: 通過使用keil μvision3在stm32模擬器下實現spi的輸出
8.3i2c
8.3.1i2c介紹
8.3.2stm32下的i2c操作
8.3.3stm32下的i2c寄存器介紹
8.3.4實驗: 通過使用keil μvision3在stm32模擬器下實現i2c口的輸出
8.4dma控制器
8.4.1dma介紹
8.4.2stm32下的dma操作
8.4.3stm32下的dma寄存器
8.4.4實驗: 通過使用keil μvision3在stm32模擬器下實現dma口的控制
8.5a/d轉換
8.5.1a/d轉換介紹
8.5.2stm32下的a/d轉換器操作
8.5.3stm32下的a/d轉換寄存器描述
8.5.4實驗: 通過使用keil μvision3在stm32模擬器下實現a/d轉換器的控制
8.6習題
第9章前後臺操作繫統介紹
9.1前後臺操作繫統的特征
9.1.1前後臺操作繫統的前臺與後臺
9.1.2前後臺操作繫統的任務特征
9.1.3前後臺操作繫統的實時特征
9.2實現一個前後臺操作繫統
9.2.1分析前後臺操作繫統
9.2.2將消息隊列應用到前後臺操作繫統中
9.2.3變量的互斥條件
9.3實驗: 實現一個基於消息驅動的前後臺操作繫統
9.3.1實驗目的
9.3.2實驗假設
9.3.3準備工作
9.3.4實驗步驟
9.4習題
第10章基於多任務的嵌入式操作繫統介紹
10.1多任務操作繫統
10.2實現一個多任務操作繫統
10.2.1前期準備
10.2.2繫統啟動
10.2.3實現基本調度定義
10.2.4實現任務
10.2.5調度進階
10.3實驗: 分析一個簡單的多任務操作繫統內核的繫統利用率
10.3.1實驗目的
10.3.2準備工作
10.3.3實驗步驟
10.4習題
參考文獻