登录/注册

stm8和stm32的烧写程序的区别

stm8和stm32的烧写程序的区别

更多

STM8 和 STM32 是意法半导体(STMicroelectronics)不同的单片机系列,它们在架构、性能和开发工具链上都有显著差异,这也导致了它们的烧写程序(编程/下载程序到芯片的过程)存在关键区别。主要区别总结如下:

  1. 内核架构不同

    • STM8:基于 8位 STM8 核心(CISC 指令集)。
    • STM32:基于 32位 ARM Cortex-M 核心(RISC 指令集)。这是最根本的区别,决定了底层通信协议和工具链。
  2. 主要烧写接口不同

    • STM8
      • 主要接口:SWIM (Single Wire Interface Module)。这是 ST 为 STM8 系列开发的专用单线调试和编程接口。只需一根数据线(SWIM)和地线(GND)即可进行编程和调试(有时需要一根复位线 RESET 用于强制进入编程模式)。
      • 备用接口:部分型号支持 UART Bootloader(通过特定引脚进入)。
    • STM32
      • 主要接口:JTAG / SWD (Serial Wire Debug)。这是 ARM Cortex 内核的标准调试接口。
        • SWD:更常用,只需两根线(SWDIO 数据线、SWCLK 时钟线)和地线(GND)。功能强大,支持编程和高级调试。
        • JTAG:较老的并行接口,需要更多引脚(TMS, TCK, TDI, TDO, nTRST, RESET),功能更全但占用引脚多,在新设计中较少用。
      • 备用接口
        • UART Bootloader:几乎所有型号都内置,通过特定引脚(通常是 BOOT0)配置启动模式进入。
        • USB DFU (Device Firmware Upgrade):部分型号内置 USB 外设的支持。
        • I2C / CAN Bootloader:部分型号支持。
        • SPI / QSPI:常用于外部存储器编程或特定引导配置。
  3. 烧写工具(编程器/调试器)不同

    • STM8
      • 需要支持 SWIM 协议 的编程器/调试器。
      • 常见工具:ST-LINK/V2 (支持STM8和STM32的部分SWIM型号)、ST-LINK/V3SET (支持STM8和STM32)、STVP(ST Visual Programmer软件自带驱动)、第三方支持 SWIM 的编程器。
    • STM32
      • 需要支持 JTAG/SWD 协议 的编程器/调试器。
      • 常见工具:ST-LINK 系列(V2, V2-1, V3, V3SET等)、J-Link、ULINK、DAP-Link 等所有支持 ARM Cortex-M JTAG/SWD 协议的调试探针。ST-LINK 是 ST 官方的,性价比高且通用。
  4. 烧写软件不同

    • STM8
      • 主要软件:ST Visual Programmer (STVP)。这是 ST 提供的经典、专用工具,界面相对简单直接,主要用于烧写(擦除、编程、校验、Option Bytes配置)。
      • 集成开发环境 (IDE):STVD (ST Visual Develop) + Cosmic/CooCox/IAR 等编译器。STVD 内置 STVP 功能或与之集成。
      • 命令行工具:STVP 有命令行版本 (STVP_CmdLine.exe)。
    • STM32
      • 主要软件
        • STM32CubeProgrammer (STM32CubeProg):ST 推出的现代化、统一工具,支持所有 STM32 系列(包括通过 UART/USB DFU/SWD/JTAG 等接口),功能强大(烧写、Option Bytes/OTP 配置、加解密、外部存储器编程等),图形界面和命令行 (STM32_Programmer_CLI.exe) 都支持。
        • ST-LINK Utility (已逐渐被 STM32CubeProgrammer 取代,但仍有用户)。
      • 集成开发环境 (IDE)
        • STM32CubeIDE (ST 官方,基于 Eclipse,集成了STM32CubeMX配置、编译、调试、CubeProgrammer烧写功能)。
        • Keil MDK-ARM (µVision)。
        • IAR Embedded Workbench for ARM
        • SEGGER Embedded Studio
        • PlatformIO
        • 这些 IDE 内部都集成了通过 JTAG/SWD 接口进行编程和调试的功能(调用 GDB 或 J-Link 等工具链)。
      • 命令行工具:STM32CubeProgrammer CLI, OpenOCD (配合 GDB)。
  5. 启动模式与 Bootloader 配置

    • STM8:通常通过 OPTION BYTE 中的 ROP (Read-Out Protection) 和 AFR (Alternate Function Remapping) 等选项字节来配置保护级别和复位后的启动行为(从主程序启动还是从 RAM 启动)。进入编程模式主要依靠硬件复位序列激活 SWIM。
    • STM32:有一个专门的 BOOT0 引脚(有时还有 BOOT1 引脚或通过选项字节配置)。上电或复位时:
      • BOOT0 = 0:从主 Flash 启动用户程序(最常见)。
      • BOOT0 = 1:从系统存储器启动内置 Bootloader(通常是 UART 或 USB DFU)。这个 Bootloader 是固化在芯片内部的 ROM,独立于用户 Flash。烧写程序通常不需要改变 BOOT0,因为通过 SWD/JTAG 可以直接访问 Flash。选项字节 (Option Bytes) 则用于配置写保护 (WRP)、读保护 (RDP)、用户选项等。
  6. 烧写算法文件

    • STM32:在 Keil/IAR/CubeIDE 等 IDE 中编程时,需要为特定的 STM32 型号及其使用的 Flash 存储器加载对应的 Flash 编程算法文件 (通常是 .FLM, .stldr, .elf 等形式)。这个算法文件告诉调试器如何擦除、编程该芯片内部的 Flash。
    • STM8:在 STVP 或 STVD 中,这种概念相对较弱或封装得更好,工具通常直接内置了对不同型号 Flash 操作的支持。

总结对比表:

特性 STM8 STM32
核心 8位 STM8 (CISC) 32位 ARM Cortex-M (RISC)
主接口 SWIM (单线) SWD/JTAG (双线/多线)
常用工具 ST-LINK/V2 (SWIM), STVP ST-LINK (SWD/JTAG), J-Link, STM32CubeProgrammer
主软件 ST Visual Programmer (STVP), STVD STM32CubeProgrammer, STM32CubeIDE, Keil, IAR
Boot配置 选项字节 (OPTION BYTE) BOOT0/BOOT1 引脚 + 选项字节 (Option Bytes)
进入编程 硬件复位序列激活 SWIM 调试器直接通过 SWD/JTAG 连接控制复位和核心
烧写算法 工具内建支持为主 需要加载对应型号的 Flash 编程算法文件
IDE集成 STVD + (Cosmic等) STM32CubeIDE, Keil, IAR (高度集成调试/烧写)
Bootloader UART (部分型号) UART, USB DFU, I2C, CAN, SPI (常见且强大)

简单来说:

选择哪种方式取决于你使用的具体芯片型号、手头的工具以及开发环境偏好。

请问STM8stm32区别是什么?

菜鸟群求STM8与stm32的区别

2024-05-16 06:34:49

安装最新版的IAR for stm8无法程序怎么解决?

我有两台电脑分别安装win7和win10,并都安装了最新版的IAR for stm8(V3.10)。win10系统那台没有任何问题,win7那台无法烧写

2024-04-22 07:49:37

用USB转TTL线怎么把程序写到stm32f103C8T6中

用USB转TTL线怎么把程序烧写到stm32f103C8T6中  将程序

2024-01-31 15:46:00

STM8STM32产品选型手册

STM8和STM32产品选型手册

资料下载 jf_37155430 2023-07-06 10:44:07

通过串口STM32程序的教程方法

如何通过串口烧写STM32程序的教程方法! 用交叉串口线连接开发板

资料下载 ah此生不换 2022-03-22 15:39:36

STM32f103c8t6程序后使用STLINK V2无法连接芯片

STM32f103c8t6烧写程序后使用STLINK V2无法连接芯片

资料下载 王毅山 2021-12-27 18:54:57

STM32程序方式

ST-link下载器烧写程序使用专门的编程器/调试器,具有下载功能和调试功能,还可以和IDE结合,实现一键下载和调试。这种接口是通过引脚直连AR

资料下载 mintsy 2021-12-07 10:51:12

stm32使用flymcu程序

文章目录一、使用flymcu烧写程序一、使用flymcu烧

资料下载 刘艳 2021-10-26 11:06:08

stm8stm32区别和特点

STM8和STM32是STMicroelectronics(意法半导体)推出的两个系列的微控制器产品。虽然它们都是由意法半导体生产的,但在架构、功能和特点方面有一些显著的

2023-12-18 16:36:02

stm单片机型号的意义 stm8stm32程序区别 stm8读取程序

STM或STM32或STM8,代表单片机的品牌和系列。STM32系列是基于ARM Cortex-M内核的单片机系列,而

2023-04-08 14:43:49

STM32失败错误的处理方法

STM32烧写失败错误:Contents mismatch at: 08000000H (Flash=FFH Required=00H)

2022-06-21 08:55:32

stm8stm32编程有哪些区别

stm8和stm32编程区别

2021-08-05 07:02:01

STM8芯片程序

STVP提示The device is protected解决方法1234567分步阅读STM8芯片写程序提示The device is pro

2021-07-22 07:36:22

新一代工具:STM32 Cube Programmer

: 通过调试接口【JTAG/SWD】来烧写程序,一般要使用STLink Utility或STVP工具软件来完成; 通过UART接口来

2020-12-24 17:26:21

微雪电子STM8 QFP32测试座介绍

STM8专用编程座 烧写座 QFP32 0.8mm 原装进口座子 仅针对STM8

2019-11-29 11:06:47

7天热门专题 换一换
相关标签