文章目录

  • 一、STM32微控制器概述
    • 1、控制器主要参数:
    • 2、内部资源情况:
    • 3、STM32总线系统
    • 4、存储器映射
    • 5、STM32启动模式
    • 6、程序下载调试电路
    • 7、STM32最小系统
      • 电源:
      • 复位
      • 时钟源
      • 最小化系统硬件需求
    • 8、低功耗模式
  • 二、STM32库函数及程序开发
    • 1、STM32固件库
    • 2、搭建开发环境及如何开发

一、STM32微控制器概述

STM32系列32位闪存微控制器使用ARM公司的Cortex-M3内核,按内核架构分为不同产品,其中STM32F系列有:STM32F103“增强型”系列;STM32F101“基本型”系列;STM32F105、STM32F107“互联型”系列。

1、控制器主要参数:

2、内部资源情况:



3、STM32总线系统


其中STM32的Cortex-M3内核通过指令总线与Flash存储器连接;数据总线和系统总线和先进高速总线(Advanced High Speed Buses,简称AHB)相连。

4、存储器映射

0x00000000~0x1FFFFFFF
代码区:该区用来存放程序 0x20000000~0x3FFFFFFF
该区用于片内SRAM   0x40000000~0x5FFFFFFF
片上外设区,其中分配给各个外设的地址空间分为三类:APB1总线外设存储地址;
APB2总线外设存储地址;AHB总线外设存储地址0x60000000~0x9FFFFFFF
静态存储器控制区(FSMC):用于扩展外部存储器0xA00000000xDFFFFFFF
用于片外外设扩展0xE00000000xFFFFFFFF
私有外设区:用于NVIC、MPU及调试组件等使用

代码区起始地址从0x00000000开始;片上SRAM从0x20000000开始;用户设备的存储映射从0x40000000开始,其中设备寄存器地址位于外设位带区;Cortex-M3内核寄存器地址从0xE0000000处开始。

Flash存储区由三部分组成,首先用户Flash区从0x08000000开始;其次系统存储区是一个4KB的Flash存储空间,存储出厂启动引导(Bootloader);最后一部分从0x1FFFF800开始,含有一组可配置字节,允许用户对STM32进行系统配置。

5、STM32启动模式


各种启动设置,启动后执行第一条指令的位置不同,会造成不同的结果。

6、程序下载调试电路

STM32F10xxx使用Cortex-M3内核,该内核内含硬件调试模块,支持复杂的调试操作

硬件调试模块允许内核在取值或访问数据时停止,内核停止时,内核的内部状态和系统外部状态都可以查询,完成查询后,内核和外设可被复原,程序继续执行。

STM32F10xxx当连接到调试器并开始调试时,调试器将使用内核的硬件调试模块进行调试操作,支持两种调试接口:
(1) JTAG调试接口;(2) 串行接口(Serial Wire, SW)

7、STM32最小系统

使用最少的硬件就可以使得我们的STM32系统进行正常的工作。

电源:

电源是一个控制器运行的最必要的条件。

STM32F103系列微控制器采用的电源工作范围是2.0~3.6V,常规设计一般选用3.3V电源。

复位

STM32F103支持3种复位形式,即系统复位、电源复位和备份区域复位。

系统复位:

将复位除时钟控制器CSR中的复位标志和备用域寄存器外的所有寄存器
①NRST引脚上出现低电平(如外部按钮复位)。其复位效果与需要的时间、微控制器供电电压、复位阈值等相关。为了使其充分复位,在工作电压3.3V时,复位时间200ms。复位入口地址为0x00000004。
②窗口看门狗计数终止(WWDG复位) ;
③独立看门狗计数终止(IWDG复位);
④软件复位(SW复位),通过设置相应的控制寄存器位来实现;
⑤低功耗管理复位,进入待机模式或停止模式时引起的复位。

电源复位

电源复位能复位除备份域寄存器外的所有寄存器。(比系统复位还强,时钟控制器也可以通过这里复位。)

(1)利用上电瞬时通过电容短路的特点以及常态断路的特点,产生一个脉冲信号,并连接到芯片NRST引脚从而产生RESET。
(2)STM32单片机集成了一个上电复位(POR)和掉电复位(PDR)电路,当供电电压达到2V时,系统就能正常工作。只要Vdd低于特定的阈值,不需要外部复位电路,STM32就能处于复位模式。

备份域复位

当以下事件中之一发生时,产生备份区域复位:
①软件复位后,备份区域复位可由设置备份区域控制寄存器RCC_BDCR中的BDRST位产生。
②在VDD和VBAT两者掉电的前提下,VDD或VBAT上电将引发备份区域复位。

时钟源

最小化系统硬件需求

8、低功耗模式

当处理器不需继续运行时,可以利用多种低功耗模式来节省功耗。

  • 睡眠模式:电压调节器工作正常,Cortex-M3处理器停止运行,但外设仍然正常运行,所有的SRAM和寄存器内容将被保留,所有I/O引脚都保持在运行模式时状态,功耗相对于正常模式得到降低。(处理器不工作,CPU不工作,外设正常运行,寄存器内容保留)
  • 停止模式:也称为“深度睡眠模式”,电压调节器工作在停止模式,选择性地为某些模块提供1.8V电源,Cortex-M3停止运行,内部外设停止运行,所有的SRAM和寄存器内容被保留。(CPU不工作,内部外设不工作,电压调节器不工作,寄存器内容保留)
  • 待机模式:整个1.8V区域断电,Cortex-M3处理器停止运行,内部外设停止运行,SRAM和寄存器内容丢失,备份寄存器内容保留,待机电路维持供电。(只有备份寄存器内容保留,其他全部停止或丢失内容)

从低功耗模式恢复后的处理如下:

  • 睡眠模式时,只有处理器停止工作,SRAM、寄存器的值仍保留,程序当前执行状态信息并未丢失,因此从睡眠状态恢复后,回到进入睡眠状态指令的后一条指令开始执行
  • 停止模式时,SRAM、寄存器的值仍然保留,因此从停止状态恢复后,回到进入停止状态指令的后一条指令开始执行。但不同于睡眠模式,进入停止 模式,STM32时钟关断(与睡眠模式不同),因此恢复后,STM32将使用内部高速振荡器作为系统时钟。
  • 待机模式时,所有SRAM和寄存器的值丢失,因此从待机模式恢复后,程序重新从复位初始位置开始执行(最惨烈),相当于一次软件复位效果。

二、STM32库函数及程序开发

1、STM32固件库

传统的单片机例如51微控制器,程序开发直接配置微控制器,通过查询寄存器表,看要用到哪些配置位,这些都是很琐碎和机械的工作,相对于简单微控制器例如51等寄存器数量少又很简单,可以通过直接配置寄存器的方式来开发。

但STM32单片机功能强大灵活,例如有关GPIO的配置寄存器就有十几个,如果去查询寄存器手册开发就很不方便。因此ST公司针对STM32提供函数接口,即API(Application Program Interface),开发者可通过调用这些函数接口来配置STM32的寄存器,使得开发人员可以脱离最底层的寄存器操作,有开发快速、易于阅读和维护成本低等优点。

2、搭建开发环境及如何开发

  • ARM公司的MDK
  • Embedded Workbench公司的IAR开发环境
  • ARM gcc编译器,选择合适的编辑器搭建开发平台

嵌入式系统(四):STM32微控制器及最小系统(1)相关推荐

  1. STM32F系列ARM Cortex-M3核微控制器基础之系统时钟一

    STM32F系列ARM Cortex-M3核微控制器基础之系统时钟 本文章是基于STM32F103ZE微控制器,主要是详细说明STM32F系列的特性,由于本人是初学者,出现错误是难免的,请大家见谅.固 ...

  2. 基于stm32微控制器的绘图机器人设计

    目录 第一章 绪论 1 基于 stm32 微控制器的绘图机器人研究设计的目的 1 基于 stm32 微控制器的绘图机器人研究设计的设计功能 1 第二章 系统整体方案设计 2 第三章 硬件设计 4 硬件 ...

  3. 意法半导体推出首款8引脚STM32微控制器,可适用于简单应用

    中国,2019年9月20日--意法半导体8引脚STM32微控制器(MCU)现已上市,紧凑.经济的封装让简单的嵌入式开发项目也能利用32位MCU的性能和灵活性. 新推出的四款STM32G0 微控制器是8 ...

  4. STM32F103C8T6电池电量ADC检测代码,适用于基于库函数的STM32微控制器

    以下是基于库函数的STM32微控制器,如STM32F103C8T6,用于电池电量ADC检测的代码: #include "stm32f10x.h"void ADC1_Init(voi ...

  5. ARM Cortex-M3内核与STM32微控制器

    一.ARM Cortex-M3处理器的构成部分 ARM Cortex-M3微处理器由ARM Cortex-M3内核和调试系统构成. 1.内核结构: 将CPU(Cortex-M3内核).存储器.定时器/ ...

  6. 如何选择适合自己的STM32 微控制器?

    选择控制器型号,俗称选型,首先要搞清楚芯片型号各类参数所表示的含义.STM32 ,顾名思义,ST表示意法半导体,M:Microelectronics的缩写,表示微控制器.32:32位的意思,表示这是一 ...

  7. STM32微控制器 | 复习七 | 定时器原理及应用

    一.定时器的特征 STM32F103增强型系列产品包含:2个高级控制定时器.4个通用定时器.2个基本定时器.1个实时时钟.2个看门狗定时器和1个系统滴答定时器. 4个通用定时器(TIM2.3.4.5) ...

  8. STM32微控制器 | 复习九 | ADC原理及应用

    一.AD转换的分类及其常用AD转换的特点 分类: 按转换方式分:双积分式A/D转换,逐次逼近式A/D转换,并行比较式A/D转换. 按转换位数分:8位.10位.12位.16位.24位. 位数的含义,比如 ...

  9. 华芯微特SWM220R8T7-LQ64-22100最小系统板测试版开发板面包板

    一.系统板特点: 1.板载了基于MCU的最基本电路,如晶振电路和电源转换电路. 2.核心板引出了常用的I/O中资源. 3.引出了SWD仿真调试下载接口,可以用J-Link调试仿真下载器下载,方便简单. ...

最新文章

  1. 12月22日 find命令
  2. VMware静态地址上网
  3. 《设计团队协作权威指南》—第1章1.3节甘为螺丝钉
  4. 利用jsoup进行模拟登录
  5. 巧用层次坐标解决统计图分类轴与系列取值
  6. mysql 联合查询去重复_两个表联合查询去重复GROUP_CONCAT
  7. 实测PD18W/30W/65W充电器给iPhone xs充电快慢对比
  8. 【数据结构】二叉树经典习题
  9. azul zing_Azul Systems CTO讨论Lambda并提高Java社区的投入
  10. iOS7 tabbar遮盖tableview的cell解决方法
  11. Lucene关键字高亮显示
  12. 做一条USB A转Type C 数据线 和OTG线
  13. 基于ThinkPHP6的网站后台管理系统
  14. total command关闭按钮如何修改为最小化
  15. Anaconda环境下离线安装dlib库,在线安装很多问题报错,离线安装速度快稳定
  16. 上海市的某快递公司根据投送目的地距离公司的远近,将全国划分成5个区域,请编写程序从键盘输入邮件的目的区域编码和重量,按下列计费规则计算快递费用并输出运费,计算结果保留2位小数。
  17. 机器人ccid认证_机器人认证来了
  18. Conditional image synthesis with auxiliary classifier GANs
  19. 一文读懂区块链产业最新发展趋势
  20. Photoshop CS5 3D

热门文章

  1. .p7b证书导出为.cer格式
  2. Power BI: 使用书签功能实现选项卡效果
  3. textarea高度自适应
  4. make/Makefile的用法
  5. 合唱队数 java实现
  6. Linux中打开文件显示行号相关命令
  7. 8.18 B组 T1 分火腿
  8. EasyExcel--自定义表头(标题)样式策略
  9. 凯恩斯主义(扩张性财政政策)的深远影响--美国股市百年(二)
  10. 看了《一个时代的侧影》