嵌入式系统及其应用——基于Cortex-M3内核和STM32F103系列微控制器的系统设计与开发 ![]() (原文件名:Snap1.gif) 这本《嵌入式系统及其应用——基于Cortex-M3内核和STM32F103系列微控制器的系统设计与开发》由陈启军、余有灵、张伟、潘登、周伟编著,从结构上可分为四大部分,第一部分由第1章导论构成,讲述嵌入式系统的概念、设计中的一些深层次思考和共性理论基础;第二部分是第2章,主要讲述ARM公司(CorteX-M3内核的基本原理,包括Thumb 2指令体系、向量中断处理、调试与开发支持等内容;第三部分包含第3章至第12章,讲述STM103F系列微控制器的内部原理与应用设计技术,其中第3章讲述了基于STM32F103的最小系统设计,围绕此目标,陈述了与一个基本嵌入式系统设计有关的存储区域管理、中断控制器、时钟树等重要概念,第4章至第12章则依模块分别陈述,在教学上可适当取舍,这些模块主要由STM32F103芯片提供;第四部分包含第13章至第16章。主要介绍与工程开发有关的基本原理和技能,以及一些具体应用实例,特别是几个大的案例在硬件设计方面介绍得较为详细。其中,第13章与嵌入式系统软件开发有关,涉及支撑环境、基本开发流程和原理。 前言 第1章 嵌入式系统导论 1.1 嵌入式系统——从部件到系统的集成 1.2 计算的基本原理和历史演变 1.3 计算机的基本原理和历史演变 1.4 嵌入式系统的历史沿革 1.5 ARM,Cortex和STM32简介 1.6 嵌入式系统工程设计与开发 1.7 本课程学习内容和目标 习题 第2章 Cortex-M3微处理器 2.1 Cortex-M3微处理器内核 2.2 指令系统 习题 第3章 STM32F103基础及最小系统设计 3.1 从Cortex-M3到STM32F103 3.2 存储器与总线架构 3.3 中断和事件 3.4 STM32F103x的时钟系统 3.5 基于STM32的最小系统参考设计 习题 第4章 DMA控制器 4.1 主要特性 4.2 功能描述 4.3 DMA寄存器 4.4 DMA应用实例 习题 第5章 通用和复用功能I/O 5.1 GPIO功能描述 5.2 GPIO寄存器描述 5.3 复用功能I/O和调试配置(AFIO) 5.4 AFO寄存器描述 5.5 GPIO和AFIO寄存器地址映像 5.6 应用实例 习题 第6章 STM32高级定时器原理与应用 6.1 定时/计数器的基本原理与实现方法 6.2 STM32高级定时/计数器 6.3 STM32高级定时器寄存器描述 6.4 STM32高级定时器工作原理及应用 习题 第7章 STM32的USARt模块 7.1 串行通信概述 7.2 串行通信的基本原理 7.3 STM32F103的串行通信模块 7.4 USART寄存器描述 7.5 USART应用实例分析 习题 第8章 STM32的SPI模块 8.1 串行外设接口概述 8.2 串行外设接口SPI的基本原理 8.3 STM32F103的串行外设接口模块 8.4 SPI寄存器描述 8.5 SPI应用实例分析 习题 第9章 12C总线原理及其应用 9.1 12C总线概述 9.2 12C总线原理 9.3 STM32 12C模块原理 9.4 STM32 12C扩展EEPROM应用 习题 第10章 CAN总线原理及其应用 10.1 CAN总线概述 10.2 STM32的CAN通信模块 10.3 STM32 bxCAN模块工作过程 10.4 STM32 CAN应用实例 习题 第11章 STM32的模拟数字转换模块 11.1 A/D变换的基本原理 11.2 ADC模块的主要技术指标和选型考虑 11.3 ADC模块的外围软硬件设计 11.4 STM32F103 ADC寄存器介绍 11.5 STM32F103的ADC模块的使用 11.6 基于STM32F103的A/D变换示例 习题 第12章 STM32支撑开发环境 12.1 嵌入式系统开发的流程 12.2 基于Keil MI)K的STM32开发支撑环境 12.3 STM32启动文件解析 12.4 ARTX嵌入式操作系统使用初步 12.5 嵌入式系统软件开发的高级主题 习题 第13章 基于STM32的多功能综合实验板设计 13.1 综合实验板介绍 13.2 MDvSTM32-107实验板模块设计 习题 第14章 基于STM32的电动自行车控制器设计 14.1 直流无刷电机的基本原理 14.2 直流无刷电机应用系统设计 习题 第15章 AMR单相电能表的参考设计 15.1 需求和目标系统特性 15.2 硬件设计方案 15.3 STPMlO测量集成芯片 15.4 账户管理 15.5 目标机的测试与评估 习题 附件A ARM公司系列产品命名规则 主要参考文献 | |||
![]() |
|
【1楼】 lxy1997 积分:173 派别: 等级:------ 来自: |
![]() (原文件名:Snap2.gif) 本书首先讲解了Cortex-M3处理器的架构及RealView MDK开发平台的相关知识,然后对μC/OS-Ⅱ的内核移植、驱动开发、应用程序开发进行了介绍,最后综合运用所学知识介绍了一个μC/OS-Ⅱ的程序设计实例。 本书内容由浅入深,为加深理解,列举了很多程序设计的相关实例。 本书适合嵌入式初学者、嵌入式开发人员以及高校相关专业师生阅读。 第1部分 第1章 走进ARM微处理器 1.1 ARM体系结构的源头——ARM公司 1.2 ARM处理器的发展历程 1.3 ARM体系结构 1.3.1 ARM Cortex处理器技术特点 1.3.2 ARM Cortex系列处理器比较 1.4 ARM v7新增指令 1.4.1 位操作指令 1.4.2 比特反转指令 1.4.3 16-bit常数操作 1.4.4 调转表指令 1.4.5 IT指令 1.4.6 检查是否为零并跳转指令(CBZ) 第2章 Cortex-M3处理器体系结构 2.1 Cortex-M3综述 2.2 Cortex-M3编程模式 2.2.1 Cortex-M3的工作模式和工作状态 2.2.2 特权访问和用户访问 2.2.3 Cortex-M3的寄存器组织 2.2.4 Cortex-M3的数据类型 2.2.5 Cortex-M3的存储器格式 2.3 Cortex-M3的存储器管理 2.3.1 存储器映射 2.3.2 Bit-banding机制 2.4 Cortex-M3的异常处理 2.4.1 异常优先级 2.4.2 异常处理的堆栈使用 2.4.3 Cortex-M3特有的异常处理机制 2.4.4 异常退出 2.4.5 复位异常 2.4.6 中止(Abort)异常 2.5 Cortex-M3的电源管理 2.5.1 SLEEPING 2.5.2 SLEEPDEEP 2.6 嵌套向量中断控制器NVIC 2.7 存储器保护单位MPU 2.8 Cortex-M3开发平台——STM32V100评估板介绍 第3章 ARM开发环境RealView MDK平台搭建 第4章 基于RealView开发环境的嵌入式软件开发 第5章 STM32F103处理器内部资源C编程与实例 第2部分 第6章 μC/OS-Ⅱ操作系统基础及其移植开发初步 第7章 μC/OS-Ⅱ的内核机制 第8章 基于μC/OS-Ⅱ的程序设计实例 参考文献 | ||
![]() |
|
【2楼】 lxy1997 积分:173 派别: 等级:------ 来自: |
![]() (原文件名:Snap3.gif) 目录 第1章 Cortex-M3及ST微处理器概述 第2章 RealView MDK开发工具 第3章 I/O端口应用 第4章 A/D转换 第5章 D/A转换 第6章 LCD/触摸屏接口 第7章 数码管显示接口应用 第8章 SPI接口 第9章 I2C接口 第10章 全速USB接口 第11章 以太网控制器模块设计 第12章 NOR Flash应用 第13章 SD/MMC应用 第14章 无线数据传输综合应用项目 第15章 永磁同步电机控制综合应用项目 本贴被 lxy1997 编辑过,最后修改时间:2011-12-05,19:43:33. | ||
![]() |
|
【3楼】 lxy1997 积分:173 派别: 等级:------ 来自: |
![]() (原文件名:Snap5.gif) 目录 第1部分 基础篇 第1章 开发板硬件结构 1.1 电路原理图 1.2 原理图说明 1.2.1 电源电路 1.2.2 系统复位电路 1.2.3 时钟电路 1.2.4 jtag接口电路 1.2.5 串口电路 1.2.6 键盘电路 1.2.7 led?电路 1.2.8 i2c接口电路 1.2.9 adc电路 1.2.10 usb电路 1.2.11 can电路 1.2.12 语音采集和播放电路 1.2.13 spi接口电路 1.2.14 电动机驱动板接口电路 1.3 开发板元器件布局图 1.3.1 跳线器说明 1.3.2 硬件资源使用 第2章 编译开发环境的建立 2.1 下载和安装ewarm 2.2 ide界面简介 2.3 生成一个新项目 2.3.1 建立项目文件目录,复制公共文件 2.3.2 生成新的工作区 2.3.3 生成新项目 2.3.4 给项目添加文件 2.4 修改应用文件 2.5 配置项目选项 2.5.1 通用选项设置 2.5.2 c/c++编译器选项设置 2.5.3 assembler选项设置 2.5.4 output converter选项设置 2.5.5 linker选项设置 2.6 flash loader demo下载器介绍 2.7 力源stm32f的isp下载器 2.8 串口调试助手介绍 第2部分 应用篇 第3章 通用和复用功能i/o口 3.1 概述 3.1.1 通用i/o 3.1.2 单独的位设置或位清除 3.1.3 外部中断/唤醒线 3.1.4 复用功能 3.1.5 软件重新映射i/o复用功能 3.1.6 gpio锁定机制 3.1.7 输入配置 3.1.8 输出配置 3.1.9 复用功能配置 3.1.10 模拟输入配置 3.2 库函数 3.2.1 函数gpio_init 3.2.2 函数gpio_setbits 3.2.3 函数gpio_resetbits 3.2.4 函数gpio_writebit 3.2.5 函数gpio_write 3.2.6 函数gpio_readoutputdatabit 3.2.7 函数gpio_readoutputdata 3.2.8 函数gpio_readinputdatabit 3.2.9 函数gpio_readinputdata 3.3 i/o端口的外设映射 3.3.1 将osc32_in/osc32_out作为pc14/pc15端口 3.3.2 将osc_in/osc_out引脚作为pd0/pd1端口 3.3.3 can复用功能重映射 3.3.4 jtag/swd复用功能重映射 3.3.5 adc复用功能重映射 3.3.6 定时器复用功能重映射 3.3.7 usart复用功能重映射 3.3.8 i2c1复用功能重映射 3.3.9 spi1复用功能重映射 3.4 位运算 3.4.1 移位运算 3.4.2 按位与运算 3.4.3 按位或运算 3.4.4 取反运算 3.4.5 异或运算 3.5 i/o口输出实例1——控制led灯 3.5.1 实例要求 3.5.2 硬件基础 3.5.3 软件结构 3.5.4 实例代码 3.5.5 编译下载和调试 3.6 i/o口输出实例2——流水灯 3.6.1 实例要求 3.6.2 硬件基础 3.6.3 软件结构 3.6.4 实例代码 3.6.5 编译下载和调试 3.7 i/o口输入实例——按键输入1 3.7.1 实例要求 3.7.2 硬件基础 3.7.3 软件结构 3.7.4 实例代码 3.7.5 编译下载和调试 3.8 i/o口输入实例——按键输入2 …… 第3部分 提高篇 附录a iar工程转mdk工程 附录b arm处理器:选择arm7还是cortex-m3 | ||
![]() |
|
【4楼】 lxy1997 积分:173 派别: 等级:------ 来自: |
![]() (原文件名:Snap5.gif) 目录 第1部分 基础篇 第1章 开发板硬件结构 1.1 电路原理图 1.2 原理图说明 1.2.1 电源电路 1.2.2 系统复位电路 1.2.3 时钟电路 1.2.4 jtag接口电路 1.2.5 串口电路 1.2.6 键盘电路 1.2.7 led?电路 1.2.8 i2c接口电路 1.2.9 adc电路 1.2.10 usb电路 1.2.11 can电路 1.2.12 语音采集和播放电路 1.2.13 spi接口电路 1.2.14 电动机驱动板接口电路 1.3 开发板元器件布局图 1.3.1 跳线器说明 1.3.2 硬件资源使用 第2章 编译开发环境的建立 2.1 下载和安装ewarm 2.2 ide界面简介 2.3 生成一个新项目 2.3.1 建立项目文件目录,复制公共文件 2.3.2 生成新的工作区 2.3.3 生成新项目 2.3.4 给项目添加文件 2.4 修改应用文件 2.5 配置项目选项 2.5.1 通用选项设置 2.5.2 c/c++编译器选项设置 2.5.3 assembler选项设置 2.5.4 output converter选项设置 2.5.5 linker选项设置 2.6 flash loader demo下载器介绍 2.7 力源stm32f的isp下载器 2.8 串口调试助手介绍 第2部分 应用篇 第3章 通用和复用功能i/o口 3.1 概述 3.1.1 通用i/o 3.1.2 单独的位设置或位清除 3.1.3 外部中断/唤醒线 3.1.4 复用功能 3.1.5 软件重新映射i/o复用功能 3.1.6 gpio锁定机制 3.1.7 输入配置 3.1.8 输出配置 3.1.9 复用功能配置 3.1.10 模拟输入配置 3.2 库函数 3.2.1 函数gpio_init 3.2.2 函数gpio_setbits 3.2.3 函数gpio_resetbits 3.2.4 函数gpio_writebit 3.2.5 函数gpio_write 3.2.6 函数gpio_readoutputdatabit 3.2.7 函数gpio_readoutputdata 3.2.8 函数gpio_readinputdatabit 3.2.9 函数gpio_readinputdata 3.3 i/o端口的外设映射 3.3.1 将osc32_in/osc32_out作为pc14/pc15端口 3.3.2 将osc_in/osc_out引脚作为pd0/pd1端口 3.3.3 can复用功能重映射 3.3.4 jtag/swd复用功能重映射 3.3.5 adc复用功能重映射 3.3.6 定时器复用功能重映射 3.3.7 usart复用功能重映射 3.3.8 i2c1复用功能重映射 3.3.9 spi1复用功能重映射 3.4 位运算 3.4.1 移位运算 3.4.2 按位与运算 3.4.3 按位或运算 3.4.4 取反运算 3.4.5 异或运算 3.5 i/o口输出实例1——控制led灯 3.5.1 实例要求 3.5.2 硬件基础 3.5.3 软件结构 3.5.4 实例代码 3.5.5 编译下载和调试 3.6 i/o口输出实例2——流水灯 3.6.1 实例要求 3.6.2 硬件基础 3.6.3 软件结构 3.6.4 实例代码 3.6.5 编译下载和调试 3.7 i/o口输入实例——按键输入1 3.7.1 实例要求 3.7.2 硬件基础 3.7.3 软件结构 3.7.4 实例代码 3.7.5 编译下载和调试 3.8 i/o口输入实例——按键输入2 …… 第3部分 提高篇 附录a iar工程转mdk工程 附录b arm处理器:选择arm7还是cortex-m3 | ||
![]() |
|
【5楼】 lxy1997 积分:173 派别: 等级:------ 来自: |
![]() (原文件名:Snap6.gif) ![]() (原文件名:Snap7.gif) ![]() (原文件名:Snap8.gif) ![]() (原文件名:Snap9.gif) |