1.1stm32的历史背景

1.1.1 从51到STM32

(1)单片机有很多种
(2)STM32是当前主流的32位高性能单片机
(3)STM32就是ARM,但是ARM不一定是STM32
(4)STM32的特点:高性价比、内部外设丰富、高MIPS、广泛的群众基础

1.1.2.STM32从何处而来

(1)STM32属于ARM Cortex-M3内核,内核由ARM公司设计
(2)STM32由ST(意法半导体 http://www.stmicroelectronics.com.cn http://www.stmcu.com.cn)设计、实现并生产
(3)ST除了生产STM32之外,还生产自主设计的8位单片机STM8
(4)STM32有多种型号,覆盖Cortex-M的多种系列,M0、M0+、M3、M4、M7等。

1.1.3.STM32官网资料浏览

(1)各系列差异图示浏览
(2)随便找一个进去看看详细选型信息
(3)型号编码规则(以开发板配置的STM32F103C8为例说明)
image.png
M4:增加浮点运算double(四轴飞行器)
image.png

复位:回复到初始状态

1.2芯片手册

image.png
启动:

  • 从用户闪存启动
  • 系统存储器启动(Flash)
  • 从SRAM启动

设备在线更新

低功耗:
●睡眠模式
在睡眠模式,只有CPU停止,所有外设处于工作状态并可在发生中断/事件时唤醒CPU。
● 停机模式
在保持SRAM和寄存器内容不丢失的情况下,停机模式可以达到最低的电能消耗。在停机模式
下,停止所有内部1.8V部分的供电,PLL、HSI和HSE的RC振荡器被关闭,调压器可以被置于
普通模式或低功耗模式。
可以通过任一配置成EXTI的信号把微控制器从停机模式中唤醒,EXTI信号可以是16个外部I/O
口之一、PVD的输出、RTC闹钟或USB的唤醒信号。
● 待机模式
在待机模式下可以达到最低的电能消耗。内部的电压调压器被关闭,因此所有内部1.8V部分的
供电被切断;PLL、HSI和HSE的RC振荡器也被关闭;进入待机模式后,SRAM和寄存器的
内容将消失,但后备寄存器的内容仍然保留,待机电路仍工作。

image.png

1.3 仿真器

1.3.1、仿真器和调试器的区别和联系

软件仿真
硬件仿真

调试器:CPU进入调试模式,通过CPU单步运行

1.32、STM32调试接口

(1)JTAG:通用的接口
(2)SWD
串行调试(Serial Wire Debug),应该可以算是一种和JTAG不同的调试模式,使用的调试协议也应该不一样,所以最直接的体现在调试接口上,与JTAG的20个引脚相比,SWD只需要4个(或者5个)引脚,结构简单,但是使用范围没有JTAG广泛,主流调试器上也是后来才加的SWD调试模式。

1.3.3、STM32常用调试器

(1)JLINK V8 V9
J-Link是德国SEGGER公司推出基于JTAG的仿真器
J-LINK是一个通用的开发工具,可以用于KEIL、IAR、ADS 等平台。速度,效率,功能都很好,据说是众多仿真器里最强悍的。
(2)STLINK
ST-LINK是专门针对意法半导体STM8和STM32系列芯片的仿真器。ST-LINK /V2指定的SWIM标准接口和JTAG / SWD标准接口,其主要功能有:

  • 编程功能:可烧写FLASH ROM、EEPROM、AFR等;
  • 仿真功能:支持全速运行、单步调试、断点调试等各种调试方法,可查看IO状态,变量数据等;
  • 仿真性能:采用USB2.0接口进行仿真调试,单步调试,断点调试,反应速度快;
  • 编程性能:采用USB2.0接口,进行SWIM / JTAG / SWD下载,下载速度快;

    1.3.4、关于调试器

    (1)调试器和它的调试思想对学习和开发有一定帮助
    (2)不要太在意调试器(只是一种选择而已)
    (3)想要路越走越宽越走越高,要学会不用调试器(具有局限性)

1.3标准库和HAL库

(1)寄存器操作(熟悉寄存器本质,但是麻烦)=> 有必要学习
(2)标准库操作(标准外设库) ,对内部外设的操作 => 基本停止更新 研读标准库,对代码能力提升很大
(3)HAL库 => ST首推
网络协议
图形化界面进行配置