STM32 是意法半导体(STMicroelectronics)推出的一系列基于 ARM Cortex-M 内核的 32 位微控制器(MCU)。
ISP-在系统编程:
定义:ISP 指通过外部接口(如 JTAG、SWD、UART、SPI 等)直接对目标设备中的微控制器进行程序烧录或固件更新的技术,无需将芯片从电路板上移除。
特点:
- 在线操作:芯片无需脱离系统,直接通过外部接口(如 ST-Link 连接 SWD 接口)进行编程,适合开发阶段的调试与迭代。
 - 依赖工具:需专用编程器或调试器(如 J-Link、ST-Link、UART 转 USB 模块),通过软件(如 STM32CubeProgrammer)实现程序下载。
 - 应用场景:开发初期的代码烧录、固件调试,以及小批量设备的现场更新。
 
ICP-在电路编程:
定义:ICP 特指通过芯片的专用编程接口(如 ICSP,In-Circuit Serial Programming)对微控制器进行编程的技术,通常基于 SPI 或 UART 协议。
特点:
- 接口专一性:强调通过芯片预留的编程引脚(如 SPI 的 MOSI/MISO/CLK/CS)直接通信,部分芯片(如 PIC、AVR)将其称为 ICSP 接口。
 - 生产级应用:常搭配专用烧录器(如 STM32 的 ICP 可通过 UART1 实现),支持批量编程,适合产线自动化烧录。
 - 与 ISP 的关联:本质上是 ISP 的一种实现方式,但更侧重硬件接口的专用性和量产场景的效率。
 
IAP-在应用编程:
- 定义:IAP 指设备在运行状态下,通过自身软件(如 Bootloader)实现 Flash 存储器的程序更新,无需外部编程工具,依赖设备内置的通信接口(如 UART、USB、Wi-Fi 等)。
 - 特点:
- 自编程能力:通过划分 Flash 区域(如 Bootloader 区和应用程序区),利用 Bootloader 代码擦除 / 写入应用程序区,实现 “程序更新程序”。
 - 远程升级:典型场景如物联网设备通过云端下载固件,经串口或网络接口传输至设备,由 IAP 完成更新(如 STM32 的 DFU 升级)。
 - 灵活性:无需物理连接设备,适合售后维护或远程运维,降低人力成本。
 
 
三者对比与关联:

- 关键关联:ISP 和 ICP 属于 “外部编程”,依赖硬件工具;IAP 属于 “内部编程”,依赖软件架构。STM32 通常支持多种方式,如通过 USART1 实现 ISP,通过 Bootloader 实现 IAP,而 ICP 可视为 ISP 在硬件接口层面的细化。
 
时钟的作用:
时钟:就是单片机的心脏,确保单片机能否正常工作,而且决定了单片机的工作节奏和速度。
同步操作:单片机内部的CPU、存储器、外设等模块需要按照统一的节奏工作,时钟信号提供了这种同步机制。
计时:时钟信号可以用于计时功能,比如定时器、延时等。
控制速度:时钟频率决定了单片机的运行速度,频率越高,执行指令的速度越快。(也受限于单片机最大频率)
四个时钟源:
HSE 外部高速时钟 时钟频率一般在 4-16MHz
HIS 内部高速时钟 时钟频率一般在 8MHz
LSE 外部低速时钟 时钟频率一般在 32.768kHz
LSI 内部低速时钟 时钟频率一般在 40kHz

时钟树:

