STM32实验系统专题报告

更新时间:2023-05-11 14:19:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2013年10级自动化专业工程实践

STM32入门专题报告报告人:温文豪 指导教师: 郑安平 陈志武

杨学清

李金城

一、 ARM内核对比 二、Cortex-M3内核简介 三、STM32简介 四、实验板原理 五、STM32开发环境(重点介绍MDK) 六、应用举例(基本操作GPIO点亮LED)

1、 ARM内核对比

命名规则 ARM {x}{y}{z}{T}{D}{M}{I}{E}{J}{F}{-S}

X——系列 Y——存储管理/保护单元 译码器 D——JTAG调试器 M——快速乘法器 E——增强指令(基于TDMI) J——Jazelle F——向量浮点单元

Z——cache T——Thumb 16位 I——嵌入式跟踪宏单元 S——可综合版本

ARM处理器系列划分 ARM7、ARM9、ARM10、ARM11内核 ARM-Cortex内核 Cortex-A Cortex-R Cortex-M

1.1 ARM7系列 内核为冯-诺依曼结构,三级流水线,ARMv4

指令集 ARM7TDMI第一款流行的ARM内核,提供了 较好的性能-功耗比 ARM720T是ARM7内核中最具灵活性的成员 ARM7EJ-S处理器,可综合

1.2 ARM9系列 存储器系统根据哈佛结构重新设计,具有5级

流水线,区分了数据和指令总线 ARM920T仍然执行ARMv4T指令架构 ARM9E-S,执行v5TE架构指令。 ARM946E-S针对有确定实时响应要求的嵌入式

应用 ARM926EJ-S采用Jazelle技术(可加速java

字节码的执行)

1.3 ARM10系列 针对高性能应用,具有6条流水线,也可支持

向量浮点单元(VFP) ARM1020E包括增强的E指令,双64位总线 接口

1.4 ARM11系列 ARM1136J-S发布于2003年,是针对高性能

和高能效应用而设计的。执行ARMv6架构指 令的处理器。它集成了一条具有独立的loadstore和算术流水线的8级流水线。 ARM1136JF-S就是为了进行快速浮点运算, 而在ARM1136J-S增加了向量浮点单元。

1.5 ARM Cortex系列 发布于2005年,根据应用和需求划分成整套

系列的完整解决方案 Cortex-A:针对复杂OS和应用程序 Cortex-R:针对实时系统的嵌入式处理器 Cortex-M:针对价格敏感应用领域的嵌入式 处理器

2 ARM Cortex-M3内核简介

Cortex-M3内核优势 小处理器内核、系统和存储器,可降低器件成本 完整的电源管理,很低的功耗

突出的处理器性能,可满足挑战性的应用需求 快速的中断处理,满足高速、临界的控制应用 可选的存储器保护单元(MPU),提供平台级的安全性

增强的系统调试功能,可加快开发进程 没有汇编代码要求,简化系统开发 宽广的适用范围:从超低成本微控制器到高性能SoC

2.1 ARM Cortex-M3处理器结构框图

2.2 ARM Cortex-M3处理器内存映射

2.3 Cortex-M3内核特点 Cortex-M3内核采用ARMv7-M架构,

Thumb2指令架构(ISA)子集 哈佛结构,同时读取/存储数据 三级流水线 单周期32

位乘法器 硬件除法器 Thumb和Debug状态

2.3 Cortex-M3内核特点 Handler和Thread模式 处理器状态自动保存,可以缩短ISR进入和退

出的延迟 可以打断和继续LDM/STM,PUSH/POP 支持ARMv6的BE/LE(大小端) ARMv6不对齐访问

2.3.1 三级流水线及执行过程

2.3.2内嵌向量中断控制器(NVIC)标准NVIC包括一个NMI,和32个通用物理中断,可 配置中断240个,优先级位3~8位 通过与处理器的紧密结合,加快中断服务程序 (ISR)的执行 通过寄存器硬件堆栈,加上退出和重启多寄存器 Load-Store操作,可以不用任何汇编代码完成寄存 器数据传送 采用尾链(Tail-Chaining) 技术,简化了激活和挂 起的中断之间的数据传送 进入中断和退出中断时,处理器状态硬件自动保存 和恢复,无须而外指令消耗

2.3.2内嵌向量中断控制器(NVIC)Cortex-M3异常类型及优先级表

2.3.2 Cortex-M3和ARM7的比较

2.3.2 Cortex-M3和ARM7相比异常处理的优化

单个异常处理过程

处理时间比较 TARM7= TARM7_PUSH +TARM7_POP =26+16 =42 TCortex-M3= TM3_PUSH +TM3_POP =12+12 =24

少用了18个周期,节省42.8%的异常开销

2.3.2 Cortex-M3和ARM7相比异常处理的优化

迟到异常响应

处理时间比较 TARM7—later= ∑TARM7_PUSH +∑TARM7_POP =2*26+2*16 =84 TCortex-M3—later= TM3_PUSH +TTail-Chaining +TM3_POP =12+6+12 =30

对于迟到异常的尾链处理,Cortex-M3少用了44个时钟周期,节省了65%的异常开销

2.3.2 Cortex-M3和ARM7相比异常处理的优化

对于Back-to-Back异常处理

处理时间比较 TARM7_btb= TARM7_PUSH +TARM7_POP =26+16 =42 TCortex-M3_btb= Tcancel +TTail-Chaining =8+6 =14

对于Back-to-Back异常的处理,Cortex-M3少用了28个时钟周期

3、STM32简介STM32系列产品命名规则

示例: STM32 F 103 R E T 6 A XXX 产品系列 STM32 = 基于ARM®的32位微控器 产品类型 F = 通用类型 产品子系列 101 = 基本型 102 = USB基本型,USB 2.0全速设备 103 = 增强型 105或107 = 互联型

本文来源:https://www.bwwdw.com/article/rgbe.html

Top