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

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

3天内不再提示

STM32工作的自举程序 你了解多少?

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 2020-03-03 11:07 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文主要讲述STM32启动模式中System memory的内容,以及围绕的相关内容。

1写在前面

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

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

2STM32启动配置

STM32有三种启动模式:

Main Flash memory:主FLASH

System memory:系统存储器

Embedded SRAM:内置SRAM

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

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

F1启动配置:

F0启动配置:

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

3内嵌的自举程序

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

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

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

有哪些串行接口呢?

UARTI2C、 SPI、 CANUSB等。

F103只支持的UART:

F4支持多种串行接口:

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

4自举程序中 USART 协议

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

1.协议序列

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

2.USART 自举程序命令集

3.命令流程

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

其他命令流程这里就不一一讲述

5自举程序上位机

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

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

1.STMFlashLoader

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

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

2.STM32CubeProgrammer

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

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

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

    关注

    48

    文章

    8260

    浏览量

    162648
  • STM32
    +关注

    关注

    2305

    文章

    11124

    浏览量

    371339
  • OTA
    OTA
    +关注

    关注

    7

    文章

    624

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

    网络接口:数字世界的“门铃”,了解多少?

    ;淮安移动则在某科技园区采用了FTTO(光纤到桌面)技术,使工作人员能使用高达1Gbps的专属带宽。 结语 网络接口虽小,却是连接数字世界的桥梁。了解网络接口的基础知识,不仅能帮助我们更好地使用网络设备
    发表于 11-26 18:53

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

    跑起来的第一个STM32程序。一、准备工作在开始之前,需要准备:1、Linux开发环境Ubuntu、Debian或其他主流发行版都可以。2、ARMGCC交叉编译工具
    的头像 发表于 11-24 19:04 299次阅读
    Linux 下交叉编译实战:跑起来<b class='flag-5'>你</b>的第一个 <b class='flag-5'>STM32</b> <b class='flag-5'>程序</b>

    STM32程序的烧录方式

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

    实地架构降压恒压芯片H8012A 自举供电耐压100V120V140V降压12V 5V/2A恒压电源IC

    没有外部电源的情况下为整个电路提供电源。 二、自举式供电电路芯片的工作原理 自举式供电电路芯片的工作原理基于一个简单的原理:从输入信号中提取能量并将其转换为电源电压。具体来说,当信号流
    发表于 08-25 11:13

    科普|关于GPS和GNSS,了解多少?

    定位(Positioning)为万物互联提供了最基础信息;当今以GPS、GLONASS、Galileo和Beidou为代表的全球定位系统为人们带来了极大便利;而对于它们是不是真正的了解,回答完以下
    的头像 发表于 06-28 07:06 2031次阅读
    科普|关于GPS和GNSS,<b class='flag-5'>你</b><b class='flag-5'>了解</b>多少?

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

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

    充电接口真的了解吗?

    USB(Universal Serial Bus,通用串行总线)自1994年诞生以来,已成为我们日常生活中不可或缺的接口标准。从键盘、鼠标到手机、充电宝,USB接口无处不在。但知道USB接口也有
    的头像 发表于 05-18 17:39 3481次阅读

    什么是超级电容?对超级电容了解多少?

    什么是超级电容?对超级电容了解多少?1、双电层电容:是在电极/溶液界面通过电子或离子的定向排列造成电荷的对峙而产生的。对一个电极/溶液体系,会在电子导电的电极和离子导电的电解质溶液界面上形成双电层
    的头像 发表于 05-16 08:52 872次阅读
    什么是超级电容?<b class='flag-5'>你</b>对超级电容<b class='flag-5'>了解</b>多少?

    DC-DC电路设计中加的“自举电容”到底有何讲究?

    电容的作用是什么?先来了解一下基本概念:自举电容其核心的作用就是通过电容充放电过程,把低侧电压与电源叠加形成更高的驱动电压,主要用于控制高侧功率器件(比如MOS管)的栅极,使之顺利导通。可能对于一些
    发表于 04-22 10:57

    采购GUTOR UPS备品备件,隐藏的“雷区” 了解吗?

    在GUTOR UPS备品备件采购之路上,困难重重,选型、渠道甄别、成本把控、安装部署、售后保障,桩桩件件都是棘手难题。隐藏的“雷区” 了解吗?
    发表于 03-21 16:08

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

    硬件工程师应该都用过buck,一些buck芯片会有类似下面的自举电容,有时还会串联一个电阻。 那么是否对这个自举电路有深入的了解呢?比如,这个电容的容值大小该怎么选?大了或者小了会
    发表于 03-03 11:52

    AN-232:自举IC基板降低JFET运算放大器的失真

    电子发烧友网站提供《AN-232:自举IC基板降低JFET运算放大器的失真.pdf》资料免费下载
    发表于 01-13 15:20 0次下载
    AN-232:<b class='flag-5'>自举</b>IC基板降低JFET运算放大器的失真

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

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

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

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