0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于STM32自举程序原理和使用详细解析

strongerHuang 来源:嵌入式专栏 作者: strongerHuang 2021-04-22 09:31 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

很很多单片机都有自举程序,像支持STC单片机使用串口下载,这种其实也是单片机内部集成了一段自举程序。

那你,你了解自举程序吗?下面结合STM32给大家分享一下关于自举程序的知识。

1关于自举程序

STM32中内嵌了一段自举程序,可能很多人不知道。

那段自举程序存放在System memory(系统存储器)中,我们通过配置启动,选择启动系统存储器就可以运行这段程序。

2STM32启动配置

STM32有三种启动模式:

Main Flash memory:主FLASH

System memory:系统存储器

Embedded SRAM:内置SRAM

三种模式是通过不同配置来实现,一般通过BOOT引脚和BOOT位来配置启动模式。

不同的芯片配置有差异,有些芯片没有BOOT1引脚,会结合BOOT位来实现。

F1启动配置:

d330b4da-a2d2-11eb-aece-12bb97331649.jpg

F0启动配置:

d341ce28-a2d2-11eb-aece-12bb97331649.jpg

复位后,在 SYSCLK 的第四个上升沿锁存 BOOT 引脚的值。复位后,用户可以通过设置BOOT1 和 BOOT0 引脚来选择需要的启动模式。

3内嵌的自举程序

STM32内嵌的自举程序存放在系统存储区,由ST在生产线上写入,用户不能修改。

我们选择System memory(系统存储器)启动模式,就会进入系统存储区执行自举程序。

内嵌的自举程序主要用于通过串行接口重新编程 Flash。

有哪些串行接口呢?

UARTI2C、 SPI、 CANUSB等。

F103只支持的UART:

d3840446-a2d2-11eb-aece-12bb97331649.jpg

F4支持多种串行接口:

d3904936-a2d2-11eb-aece-12bb97331649.jpg

不同型号MCU支持的串行接口不一样,具体请参看应用笔记 AN2606。

4自举程序中 USART 协议

通信就会牵涉到协议,这里也说一下自举程序中 USART 协议。

1.协议序列

d39b3dfa-a2d2-11eb-aece-12bb97331649.jpg

当配置 STM32 微控制器为自举启动,系统将进入自举程序模式。

2.USART 自举程序命令集

d409547a-a2d2-11eb-aece-12bb97331649.jpg

3.命令流程

有命令就有相应命令执行流程,这里拿Get 命令流程为例:

d450e6f0-a2d2-11eb-aece-12bb97331649.jpg

其他命令流程这里就不一一讲述,请参看官方文档AN3155。

5自举程序上位机

自举程序主要是针对STM32进行编程,说白了,自举程序上位机就是FLASH编程工具。

自举程序上位机工具大家都比较熟悉,这里简单说一下。

1.STMFlashLoader

这个工具是相对叫老的工具,好像现在没有维护更新了。

d460a694-a2d2-11eb-aece-12bb97331649.png

d47e016c-a2d2-11eb-aece-12bb97331649.png

主要就是使用UART对STM32FLASH读写擦除等操作。

2.STM32CubeProgrammer

这个工具在2月底更新到了V2.0.0,新增OTA功能。

d4879bfa-a2d2-11eb-aece-12bb97331649.jpg

写到这里,相信大家都更加明白这个工具的用途了吧?
编辑:lyn

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6074

    文章

    45341

    浏览量

    663690
  • 存储器
    +关注

    关注

    39

    文章

    7715

    浏览量

    170868
  • STM32
    +关注

    关注

    2305

    文章

    11122

    浏览量

    371193

原文标题:STM32自举程序原理和使用

文章出处:【微信号:strongerHuang,微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    我们计划设计一个基于电容的自举电路,招募英雄!

    我们需要一个用电容自举来实现的升压电路,电路额定电流0.85A,有高手请联系我
    发表于 12-08 16:14

    Linux 下交叉编译实战:跑起来你的第一个 STM32 程序

    很多开发者第一次接触STM32,总会被“交叉编译”、“烧录程序”等概念绕晕。其实方法很简单:在Linux下配置交叉编译环境,编写简单程序,然后烧录到STM32,就可以看到成果了。本文带
    的头像 发表于 11-24 19:04 253次阅读
    Linux 下交叉编译实战:跑起来你的第一个 <b class='flag-5'>STM32</b> <b class='flag-5'>程序</b>

    STM32程序的烧录方式

    电子发烧友网站提供《STM32程序的烧录方式.pdf》资料免费下载
    发表于 08-28 16:03 6次下载

    使用USB转TTL串口板和ST-LINK调试下载器给STM32单片机下载程序

    本文详细介绍如何使用ST-LINK/V2和USB转TTL串口板为STM32单片机下载程序,包括STM32启动模式、JTAG与SWD接口对比、驱动安装及官方软件
    的头像 发表于 06-20 17:26 2063次阅读
    使用USB转TTL串口板和ST-LINK调试下载器给<b class='flag-5'>STM32</b>单片机下载<b class='flag-5'>程序</b>

    ​VLM(视觉语言模型)​详细解析

    详细解析: 1. 核心组成与工作原理 视觉编码器 :提取图像特征,常用CNN(如ResNet)或视觉Transformer(ViT)。 语言模型 :处理文本输入/输出,如GPT、BERT等,部分模型
    的头像 发表于 03-17 15:32 7617次阅读
    ​VLM(视觉语言模型)​<b class='flag-5'>详细</b><b class='flag-5'>解析</b>

    自举电路的电容大小该怎么选?

    要求是怎么样的? 在ON Semiconductor的一个文档里,对于自举电路进行了详细讲解,下面就让我们一起跟着学习下吧。 1. 介绍 本文讲述了一种运用功率型MOSFET和IGBT设计高性能自举
    发表于 03-03 11:52

    STM32开发板教程之STM32开发指南免费下载

    介绍了几个常用的系统文件(程序);3,实战篇,主要通过 56 个实例(绝大部分是直接操作寄存器完成的)带领大家一步步深入 STM32 的学习。   本指南为 ALIENTEK 战舰 STM32 开发板的配套教程,在开发板
    发表于 02-28 09:08 179次下载

    奶泡棒专用芯片详细解析

    奶泡棒专用芯片详细解析
    的头像 发表于 02-24 11:23 593次阅读

    国外物理服务器详细解析

    国外物理服务器是指位于国外数据中心的物理设备,用于提供互联网服务。以下是对国外物理服务器的详细解析,主机推荐小编为您整理发布国外物理服务器详细解析
    的头像 发表于 02-07 09:36 709次阅读

    EtherCAT通讯协议详细解析

    Automation GmbH)研发。EtherCAT自2003年被引入市场以来,凭借其高性能、低延迟和灵活的拓扑结构,迅速成为工业自动化领域的重要通信技术之一。本文将对EtherCAT通讯协议进行详细解析,包括其概述、工作原理、拓扑结构、协议格式、寻址方式及命令类型等
    的头像 发表于 02-02 16:34 8392次阅读

    硅谷云平台详细解析

     硅谷云平台作为硅谷地区领先的云计算服务提供商,在数字化时代发挥着举足轻重的作用。主机推荐小编为您整理发布硅谷云平台的详细解析
    的头像 发表于 01-24 09:24 627次阅读

    【教程】DNS域名解析服务systemd-resolved使用指南

    1.关于DNS解析服务DNS(DomainNameSystem),即域名系统。一句话总结DNS解析服务功能就是,将域名转换为IP地址。DNS解析服务过程中有如下几个角色参与:•待
    的头像 发表于 01-09 19:34 2126次阅读
    【教程】DNS域名<b class='flag-5'>解析</b>服务systemd-resolved使用指南

    深入解析Linux程序与进程

    关于某个数据集合的一次运行活动。作为系统进行资源分配和调度的基本单位,是操作系统结构的基础。 程序与进程的关系 进程的状态 基础进程状态 创建状态:进程在创建时需要申请一个空白PCB(process control block进程控制块),向其中填写
    的头像 发表于 12-18 11:01 840次阅读
    深入<b class='flag-5'>解析</b>Linux<b class='flag-5'>程序</b>与进程

    STM32C011开发(2)----nBOOT_SEL设置

    STM32CubeProgrammer (STM32CubeProg) 是一款用于编程STM32产品的全功能多操作系统软件工具。 它提供了一个易用高效的环境,通过调试接口(JTAG和SWD)和
    的头像 发表于 12-16 17:27 3512次阅读
    <b class='flag-5'>STM32</b>C011开发(2)----nBOOT_SEL设置

    STM32WB55RG开发(2)----STM32CubeProgrammer烧录

    STM32CubeProgrammer (STM32CubeProg) 是一款用于编程STM32产品的全功能多操作系统软件工具。 它提供了一个易用高效的环境,通过调试接口(JTAG和SWD)和
    的头像 发表于 12-16 15:52 2942次阅读
    <b class='flag-5'>STM32</b>WB55RG开发(2)----<b class='flag-5'>STM32</b>CubeProgrammer烧录