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为例说明)
M4:增加浮点运算double(四轴飞行器)
1.2芯片手册
启动:
- 从用户闪存启动
- 系统存储器启动(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和寄存器的
内容将消失,但后备寄存器的内容仍然保留,待机电路仍工作。
1.3 仿真器
1.3.1、仿真器和调试器的区别和联系
软件仿真
硬件仿真
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首推
网络协议
图形化界面进行配置