STM32 - 烧录方式和时钟

STM32 是意法半导体(STMicroelectronics)推出的一系列基于 ARM Cortex-M 内核的 32 位微控制器(MCU)。

ISP-在系统编程:

  1. 定义:ISP 指通过外部接口(如 JTAG、SWD、UART、SPI 等)直接对目标设备中的微控制器进行程序烧录或固件更新的技术,无需将芯片从电路板上移除。

  2. 特点:

    • 在线操作:芯片无需脱离系统,直接通过外部接口(如 ST-Link 连接 SWD 接口)进行编程,适合开发阶段的调试与迭代。
    • 依赖工具:需专用编程器或调试器(如 J-Link、ST-Link、UART 转 USB 模块),通过软件(如 STM32CubeProgrammer)实现程序下载。
    • 应用场景:开发初期的代码烧录、固件调试,以及小批量设备的现场更新。

ICP-在电路编程:

  1. 定义:ICP 特指通过芯片的专用编程接口(如 ICSP,In-Circuit Serial Programming)对微控制器进行编程的技术,通常基于 SPI 或 UART 协议。

  2. 特点:

    • 接口专一性:强调通过芯片预留的编程引脚(如 SPI 的 MOSI/MISO/CLK/CS)直接通信,部分芯片(如 PIC、AVR)将其称为 ICSP 接口。
    • 生产级应用:常搭配专用烧录器(如 STM32 的 ICP 可通过 UART1 实现),支持批量编程,适合产线自动化烧录。
    • 与 ISP 的关联:本质上是 ISP 的一种实现方式,但更侧重硬件接口的专用性和量产场景的效率。

IAP-在应用编程:

  1. 定义:IAP 指设备在运行状态下,通过自身软件(如 Bootloader)实现 Flash 存储器的程序更新,无需外部编程工具,依赖设备内置的通信接口(如 UART、USB、Wi-Fi 等)。
  2. 特点:
    • 自编程能力:通过划分 Flash 区域(如 Bootloader 区和应用程序区),利用 Bootloader 代码擦除 / 写入应用程序区,实现 “程序更新程序”。
    • 远程升级:典型场景如物联网设备通过云端下载固件,经串口或网络接口传输至设备,由 IAP 完成更新(如 STM32 的 DFU 升级)。
    • 灵活性:无需物理连接设备,适合售后维护或远程运维,降低人力成本。

三者对比与关联:

烧录方式

  • 关键关联:ISP 和 ICP 属于 “外部编程”,依赖硬件工具;IAP 属于 “内部编程”,依赖软件架构。STM32 通常支持多种方式,如通过 USART1 实现 ISP,通过 Bootloader 实现 IAP,而 ICP 可视为 ISP 在硬件接口层面的细化。

时钟的作用:

时钟:就是单片机的心脏,确保单片机能否正常工作,而且决定了单片机的工作节奏和速度。

  1. 同步操作:单片机内部的CPU、存储器、外设等模块需要按照统一的节奏工作,时钟信号提供了这种同步机制。

  2. 计时:时钟信号可以用于计时功能,比如定时器、延时等。

  3. 控制速度:时钟频率决定了单片机的运行速度,频率越高,执行指令的速度越快。(也受限于单片机最大频率)

四个时钟源:

  1. HSE 外部高速时钟 时钟频率一般在 4-16MHz

  2. HIS 内部高速时钟 时钟频率一般在 8MHz

  3. LSE 外部低速时钟 时钟频率一般在 32.768kHz

  4. LSI 内部低速时钟 时钟频率一般在 40kHz

    时钟

时钟树:

时钟树1

时钟树2

参考链接: