Cortex-M3之STM32嵌入式系統(tǒng)設(shè)計(jì)
定 價(jià):58 元
- 作者:廖義奎編著
- 出版時(shí)間:2012/4/1
- ISBN:9787512326712
- 出 版 社:中國電力出版社
- 中圖法分類:TP332
- 頁碼:417頁
- 紙張:
- 版次:
- 開本:26cm
本書介紹了嵌入式系統(tǒng)概要、STM32最小系統(tǒng)設(shè)計(jì)、STM32程序設(shè)計(jì)入門、GPIO應(yīng)用、GCC編譯器的安裝與應(yīng)用、STM32外部中斷、嵌入式系統(tǒng)中面向?qū)ο笤O(shè)計(jì)的本質(zhì)、USART通信、深入STM32工作原理、定時(shí)器與日歷、ADC應(yīng)用、DMA應(yīng)用、備份寄存器與看門狗程序、TFT驅(qū)動(dòng)與顯示、觸摸屏驅(qū)動(dòng)、SD卡驅(qū)動(dòng)與FAT文件系統(tǒng)、μC/OS-II在STM32上的移植、漢字與圖形圖像顯示、攝像頭驅(qū)動(dòng)與圖像采集、以太網(wǎng)及Web遠(yuǎn)程控制系統(tǒng)設(shè)計(jì)等內(nèi)容。
前言
第1章 概述
1.1 嵌入式系統(tǒng)定義
1.2 嵌入式系統(tǒng)的發(fā)展
1.2.1 從單片機(jī)到嵌入式系統(tǒng)
1.2.2 從芯片級(jí)設(shè)計(jì)到系統(tǒng)級(jí)設(shè)計(jì)
1.2.3 從面向器件到面向任務(wù)的設(shè)計(jì)
1.2.4 從單處理器設(shè)計(jì)到多處理器設(shè)計(jì)
1.3 嵌入式系統(tǒng)的應(yīng)用
1.4 ARM系列嵌入式系統(tǒng)處理器
1.4.1 ARM處理器分類
1.4.2 ARM Cortex處理器
1.4.3 ARM Coretx-M3處理器
1.4.4 ARM Cortex-A8處理器
1.5 從8/16位處理器到ARM Cortex-M3/M
前言
第1章 概述
1.1 嵌入式系統(tǒng)定義
1.2 嵌入式系統(tǒng)的發(fā)展
1.2.1 從單片機(jī)到嵌入式系統(tǒng)
1.2.2 從芯片級(jí)設(shè)計(jì)到系統(tǒng)級(jí)設(shè)計(jì)
1.2.3 從面向器件到面向任務(wù)的設(shè)計(jì)
1.2.4 從單處理器設(shè)計(jì)到多處理器設(shè)計(jì)
1.3 嵌入式系統(tǒng)的應(yīng)用
1.4 ARM系列嵌入式系統(tǒng)處理器
1.4.1 ARM處理器分類
1.4.2 ARM Cortex處理器
1.4.3 ARM Coretx-M3處理器
1.4.4 ARM Cortex-A8處理器
1.5 從8/16位處理器到ARM Cortex-M3/M
1.6 常見的Cortex-M0/M3系列MCU
第2章 STM32最小系統(tǒng)設(shè)計(jì)
2.1 STM32F103C最小系統(tǒng)設(shè)計(jì)方案
2.2 最小系統(tǒng)設(shè)計(jì)的要素
2.2.1 STM32外部晶振
2.2.2 復(fù)位電路
2.2.3 LED、Key及BOOT跳線
2.2.4 穩(wěn)壓電源及ISP下載口
2.2.5 IO端口
2.3 PCB圖設(shè)計(jì)
第3章 STM32程序設(shè)計(jì)入門
3.1 STM32入門之Hello World程序
3.1.1 開發(fā)環(huán)境
3.1.2 編寫STM32的C程序
3.1.3 用GCC編譯stm32程序
3.1.4 STM32程序下載
3.1.5 在Obtain_Studio中編譯Hello World程序
3.2 不同開發(fā)板的Hello World程序
3.3 基于STM32固件庫的入門程序
3.3.1 STM32固件庫
3.3.2 STM32固件庫外設(shè)的初始化和設(shè)置
3.3.3 基于STM32固件庫的程序設(shè)計(jì)
3.4 基于STM32固件庫的Hello World程序代碼分析
第4章 GPIO應(yīng)用
4.1 認(rèn)識(shí)STM32 GPIO
4.1.1 GPIO功能特點(diǎn)
4.1.2 STM32 IO口的優(yōu)點(diǎn)
4.1.3 STM32固件庫中提供的GPIO庫函數(shù)
4.2 KEY_LED程序
4.2.1 創(chuàng)建stm32_C++KEY_LED項(xiàng)目
4.2.2 stm32_C++KEY_LED項(xiàng)目程序分析
4.3 低層代碼分析
4.3.1 GPIO端口的定義
4.3.2 AHB/APB橋的配置
4.3.3 GPIO引腳的配置
4.3.4 GPIO的讀寫
第5章 GCC編譯器的安裝與應(yīng)用
5.1 GCC介紹
5.1.1 GCC概述
5.1.2 MinGW簡介
5.1.3 MinGW的安裝
5.1.4 MinGW測試
5.1.5 常見GCC用法
5.2 ARM GCC編譯器
5.2.1 WinARM編譯器
5.2.2 Sourcery G++ Lite for ARM EABI編譯器
5.3 Obtain_Studio集成開發(fā)系統(tǒng)
5.3.1 Obtain_Studio集成開發(fā)系統(tǒng)介紹
5.3.2 Obtain_Studio集成開發(fā)系統(tǒng)常用技巧
5.4 GCC Make編譯文件設(shè)計(jì)
5.4.1 GCC Make常用命令
5.4.2 makefile文件規(guī)則
5.4.3 makefile文件函數(shù)
5.5 GCC編譯器LD腳本
5.5.1 C/C++程序內(nèi)存空間
5.5.2 GCC LD腳本基礎(chǔ)
5.5.3 STM32程序中的LD腳本程序
第6章 STM32外部中斷
6.1 STM32外部中斷
6.2 STM32外部中斷實(shí)例
6.3 STM32中斷配置
6.3.1 STM32外部中斷程序分析
6.3.2 中斷通道配置
6.3.3 中斷優(yōu)先級(jí)配置
6.3.4 外部中斷模式配置
6.3.5 外部中斷響應(yīng)函數(shù)配置
第7章 面向?qū)ο蟪绦蛟O(shè)計(jì)
7.1 程序風(fēng)格
7.1.1 程序風(fēng)格的比較
7.1.2 編程風(fēng)格在程序設(shè)計(jì)中的作用
7.2 跨越開發(fā)板
7.2.1 端口映射的方法
7.2.2 模式設(shè)置的方法
7.3 分類與封裝
7.3.1 什么是分類與封裝
7.3.2 封裝的實(shí)現(xiàn)
7.4 隱藏與權(quán)限
7.4.1 隱藏
7.4.2 權(quán)限
7.5 繼承
7.5.1 CGpio類的繼承
7.5.2 測試CLed和CKey類
7.6 組裝
7.6.1 GPIO的組裝
7.6.2 GPIO組裝的測試
7.7 C++在嵌入式系統(tǒng)中的應(yīng)用
7.7.1 C++介紹
7.7.2 兼容C語言
7.7.3 在C++程序中調(diào)用C函數(shù)
7.7.4 面向?qū)ο蟪绦蛟O(shè)計(jì)語言
7.7.5 泛型編程語言
7.7.6 STL編程
7.7.7 接口編程
第8章 USART通信
8.1 從51單片機(jī)到STM32的串口通信
8.2 USART通用串口通信設(shè)計(jì)
8.2.1 USART通用串口
8.2.2 USART通用串口通信設(shè)計(jì)方案
8.3 USART通用串口程序設(shè)計(jì)入門
8.3.1 USART數(shù)據(jù)發(fā)送程序設(shè)計(jì)
8.3.2 USART數(shù)據(jù)接收程序設(shè)計(jì)
8.4 中斷方式的數(shù)據(jù)接收
8.4.1 中斷方式的數(shù)據(jù)接收程序設(shè)計(jì)
8.4.2 多個(gè)串口驅(qū)動(dòng)對象的協(xié)同工作
8.5 USART驅(qū)動(dòng)程序的設(shè)計(jì)
8.5.1 USART驅(qū)動(dòng)程序
8.5.2 printf與cout的實(shí)現(xiàn)
8.6 深入STM32 USART的工作原理
8.6.1 USART工作原理
8.6.2 發(fā)送器
8.6.3 接收器
8.6.4 USART初始化函數(shù)USART_Init
8.6.5 USART波特率的計(jì)算方法
第9章 STM32的工作原理
9.1 STM32啟動(dòng)原理
9.1.1 STM32啟動(dòng)過程分析
9.1.2 STM32軟件復(fù)位與功耗控制
9.2 系統(tǒng)時(shí)鐘分析
9.2.1 系統(tǒng)時(shí)鐘種類
9.2.2 STM32固件庫設(shè)置時(shí)鐘
9.2.3 系統(tǒng)時(shí)鐘配置
9.3 存儲(chǔ)器以及存儲(chǔ)器映射
9.4 NVIC嵌套中斷向量控制器
9.4.1 NVIC嵌套中斷向量控制器
9.4.2 STM32的NVIC優(yōu)先級(jí)
9.5 STM32向量表及配置
9.5.1 STM32復(fù)位后從哪個(gè)地址開始執(zhí)行
9.5.2 STM32向量表
9.5.3 用戶程序中的向量表
第10章 定時(shí)器與日歷
10.1 SysTick定時(shí)器
10.1.1 關(guān)于SysTick
10.1.2 SysTick測試程序
10.1.3 SysTick程序分析
10.2 RTC定時(shí)器
10.2.1 RTC定時(shí)器介紹
10.2.2 RTC的本質(zhì)與測試程序
10.2.3 日歷算法
10.2.4 STM32的RTC日歷測試程序
10.2.5 STM32 RTC程序分析
10.2.6 RTC秒中斷
10.2.7 RTC鬧鐘
10.2.8 RTC校準(zhǔn)
10.3 通用定時(shí)器
10.3.1 STM32定時(shí)器的種類
10.3.2 通用定時(shí)器介紹
10.3.3 通用定時(shí)器基本應(yīng)用程序設(shè)計(jì)
10.3.4 通用定時(shí)器常用模式
10.3.5 輸出模式測試實(shí)例
10.3.6 輸入捕獲模式測試實(shí)例
第11章 ADC應(yīng)用
11.1 ADC與數(shù)字信號(hào)處理系統(tǒng)設(shè)計(jì)
11.1.1 數(shù)字信號(hào)處理系統(tǒng)設(shè)計(jì)
11.1.2 STM32簡單的ADC應(yīng)用實(shí)例
11.1.3 過采樣技術(shù)
11.1.4 欠采樣技術(shù)
11.2 STM32的ADC簡介
11.3 STM32 ADC入門實(shí)例
11.3.1 STM32 ADC入門測試程序
11.3.2 STM32 ADC程序分析
11.3.3 STM32內(nèi)部溫度測量
11.4 STM32 ADC注入方式
11.4.1 STM32 ADC注入方式簡介
11.4.2 STM32雙ADC模式
11.4.3 STM32 ADC注入方式實(shí)例
第12章 DMA應(yīng)用
12.1 STM32的DMA簡介
12.1.1 任務(wù)轉(zhuǎn)移策略
12.1.2 STM32的DMA功能
12.2 DMA在ADC中的應(yīng)用
12.2.1 任務(wù)轉(zhuǎn)移策略的DMA ADC應(yīng)用實(shí)例
12.2.2 DMA_ADC程序分析
12.3 DMA在USART中的應(yīng)用
12.3.1 任務(wù)轉(zhuǎn)移策略的USART DMA數(shù)據(jù)發(fā)送
12.3.2 任務(wù)轉(zhuǎn)移策略的USART DMA數(shù)據(jù)接收
12.3.3 任務(wù)隊(duì)列策略的USART DMA發(fā)送中斷應(yīng)用
12.3.4 任務(wù)循環(huán)策略的USART DMA接收中斷應(yīng)用
第13章 備份寄存器與看門狗程序
13.1 STM32備份寄存器
13.1.1 備份寄存器特點(diǎn)
13.1.2 BKP應(yīng)用實(shí)例
13.2 STM32看門狗
13.2.1 STM32看門狗介紹
13.2.2 獨(dú)立看門狗介紹
13.2.3 獨(dú)立看門狗程序設(shè)計(jì)
13.2.4 窗口看門狗介紹
13.2.5 窗口看門狗測試程序
第14章 TFT驅(qū)動(dòng)與顯示
14.1 LCD概述
14.1.1 LCD簡介
14.1.2 LCD接口
14.2 Ili9xx系列TFT驅(qū)動(dòng)芯片
14.3 TFT測試程序
14.3.1 TFT測試程序準(zhǔn)備工作
14.3.2 TFT測試主程序
14.3.3 字符的顯示
14.4 基于FSMC的TFT驅(qū)動(dòng)程序設(shè)計(jì)
14.4.1 STM32的FSMC功能
14.4.2 FSMC與TFT端口連接與端口映射
14.4.3 FSMC與TFT的內(nèi)存空間映射與操作
14.4.4 FSMC初始化
14.4.5 TFT初始化
14.4.5 TFT驅(qū)動(dòng)程序統(tǒng)一接口函數(shù)的實(shí)現(xiàn)
14.5 基于GPIO的TFT驅(qū)動(dòng)程序設(shè)計(jì)
第15章 觸摸屏驅(qū)動(dòng)
15.1 觸摸屏介紹
15.2 觸摸屏驅(qū)動(dòng)IC
15.3 觸摸屏測試項(xiàng)目
15.4 觸摸屏驅(qū)動(dòng)程序分析
15.5 觸摸屏校準(zhǔn)
15.5.1 觸摸屏校準(zhǔn)算法
15.5.2 觸摸屏校準(zhǔn)的實(shí)現(xiàn)
第16章 SD卡驅(qū)動(dòng)與FAT文件系統(tǒng)
16.1 STM32的SDIO接口
16.1.1 常見存儲(chǔ)卡種類
16.1.2 SD卡結(jié)構(gòu)
16.1.3 STM32的SDIO接口
16.2 FAT文件系統(tǒng)
16.2.1 FAT文件系統(tǒng)概述
16.2.2 FatFs介紹
16.3 STM32 SDIO接口
16.4 SD卡文件讀寫實(shí)例
16.4.1 準(zhǔn)備工作
16.4.2 SD卡文件讀寫實(shí)例
16.4.3 SD卡文件操作類CFile的設(shè)計(jì)
16.4.4 目錄操作
第17章 μC/OS-Ⅱ在STM32上的移植
17.1 μC/OS-Ⅱ概述
17.1.1 μC/OS-Ⅱ簡介
17.1.2 μC/OS-Ⅱ的組成部分
17.2 μC/OS-Ⅱ移植到STM
17.3 μC/OS-Ⅱ工作原理
17.3.1 μC/OS-Ⅱ啟動(dòng)過程
17.3.2 任務(wù)切換的相關(guān)函數(shù)解析
第18章 漢字與圖形圖像顯示
18.1 漢字顯示
18.1.1 漢字庫
18.1.2 程序中加入漢字庫實(shí)現(xiàn)漢字顯示
18.1.3 使用SD卡上的漢字庫實(shí)現(xiàn)漢字顯示
18.2 圖形繪制
18.3 圖像顯示
18.3.1 位圖與bmp文件格式
18.3.2 bmp文件操作
18.3.3 bmp圖像顯示測試程序
第19章 攝像頭驅(qū)動(dòng)與圖像采集
19.1 攝像頭接口
19.1.1 圖像傳感器
19.1.2 OV7670攝像頭
19.1.3 CMOS攝像頭接口
19.2 CMOS攝像頭測試程序
19.3 深入CMOS攝像頭驅(qū)動(dòng)程序原理
19.3.1 SCCB協(xié)議
19.3.2 SCCB協(xié)議驅(qū)動(dòng)程序設(shè)計(jì)
19.3.3 CMOS攝像頭驅(qū)動(dòng)程序設(shè)計(jì)
第20章 以太網(wǎng)及Web遠(yuǎn)程控制系統(tǒng)設(shè)計(jì)
20.1 ENC28J60以太網(wǎng)控制器
20.2 網(wǎng)絡(luò)測試程序
20.2.1 Web Server測試
20.2.2 UDP通信測試
20.3 IP/ICMP協(xié)議與Ping命令的實(shí)現(xiàn)
20.3.1 以太網(wǎng)數(shù)據(jù)包結(jié)構(gòu)
20.3.2 IP協(xié)議
20.3.3 ICMP協(xié)議
20.3.4 Ping命令
20.3.5 Ping命令的實(shí)現(xiàn)
20.4 UDP通信原理
20.4.1 UDP協(xié)議
20.4.2 UDP通信的實(shí)現(xiàn)
20.5 Web Server程序設(shè)計(jì)
20.5.1 Web Server原理
20.5.2 TCP設(shè)計(jì)
20.5.3 Web Server設(shè)計(jì)
20.6 ENC28J60驅(qū)動(dòng)程序設(shè)計(jì)
20.6.1 STM32 SPI接口
20.6.2 STM32 SPI驅(qū)動(dòng)程序
20.6.3 ENC28J60驅(qū)動(dòng)程序
參考文獻(xiàn)