STM32F0的BOOT配置及相关话题

分享到:

关于STM32F0系列的启动配置,有人说有点看不太懂,貌似有两套启动方式,又是脚又是选项位的。其实,它跟其它STM32 系列一样也是有三种启动模式,只是配置方式上有其特色。

它有两种配置方式,第一种是利用BOOT0物理脚和Nboot1、Boot_Sel选项位来确定启动模式;第二种只使用Boot_Sel、Nboot1 、Nboot0 三个选项位来确定启动模式,完全省却了物理脚,多出一根脚给用户应用。

对于第一种配置方式,所有STM32F0系列的芯片都适用。第二种配置方式仅适用于STM32F04X和STM32F09X系列的器件。

下图是STM32F0系列启动模式配置表。
STM32F0的BOOT配置及相关话题1

红色方框内就是上面所指的第一种配置方式,对所有STM32F0芯片适用。图表中的灰色区域就是前面所说的仅适用于STM32F04X和STM32F09X的配置方式,

可以看出,对于STM32F04X和STM32F09X到底使用哪种配置方式取决于Boot_Sel选项位。对于非STM32F04X和STM32F09X的32F0系列芯片,配置方式只能使用第一种配置方式,此时Boot_Sel固定为1。

这里不妨说说第一种配置方式,该方式对所有STM32F0芯片都适用。BOOT0脚置高、置低简单,Nboot1、Boot_Sel选项位怎么定的呢?

Nboot0 、Nboot1、Boot_Sel选项位在用户选项字节里,一起来看看。
STM32F0的BOOT配置及相关话题2

显然,从其出厂的默认初始值可以看出,Nboot0、Nboot1、Boot_Sel选项位的默认值均为1,即默认为第一种配置方式。

如果此时BOOT0脚为1则从system memory启动,即从芯片内嵌的BOOTLOADER启动。
STM32F0的BOOT配置及相关话题3


如果此时BOOT0脚为0,则从main flash memory启动,进入用户程序。


针对STM32F04X/STM32F09X的第二种配置方式 ,这里就不多说了。个人觉得如果不是特别需要那个BOOT0脚、或者对这个做法特别感兴趣的话,大可不必花太多心思和精力在第二种配置方式上 。毕竟你得自行编写用户代码修改Nboot0、Nboot1、Boot_Sel相关选项位,而且这个过程还是有些折腾。折腾了半天可能就为多用一根IO脚,此时BOOT模式完全由选项位来确定,个人觉得也不是那么直观和方便 。

ST官方有一篇应用笔记就是针对STM32F04X/STM32F09X的第二种配置方式的应用介绍的,该笔记名为《STM32F09X不使用BOOT脚实现SYSTEMBOOTLOADER升级代码》,有兴趣的可以去下载看看。

倒是有关STM32F04X/STM32F09X两个子系列的空检操作值得了解下。

所谓空片一般是指从芯片出厂起就没用过或用过但经过CHIP erase操作后的芯片。
STM32F0的BOOT配置及相关话题4
STM32F04X/STM32F09X芯片复位后通过检测地址0x080000000的内容是否为0xFFFFFFFF且上面提到的Boot_Sel选项位是否为1来判断该芯片是否为空片。若是,则设置相关空检标志Empty Check。

在芯片被判定为空的条件下,即使当前BOOT配置为从main flash memory启动,芯片硬件也会跳到System Memory 去执行内嵌启动程序。用过其它STM32芯片的人就会明显感觉到这里有个好处,这样通过ISP模式进行烧录后不必将BOOT配置脚拨来拨去的。如果量产的话,还是省了不少事。

STM32F0参考手册里在针对空检标志的描述时,应该说上面那段英文讲得很清楚了,后面做了一句补充式的描述“检查地址0x08000 0000的内容是否为 0xFFFF FFFF作为判断为空的条件”。这一说可能反而增加了理解上的困扰,本来说空片就完了,让芯片回归到出厂初始状态就好。至于对某地址内容或选项位的检测只是对空片的一个简单确认。
STM32F0的BOOT配置及相关话题5
      
围绕TM32F04X/STM32F09X芯片的空检话题及下载烧录,ST官方也有份应用笔记,名为《STM32F091空片使用system bootloader下载代码》,推荐下载阅读,可以加深理解,从中或许还能顺便了解些别的东西。

上面提到的两篇应用笔记,都可以去ST MCU中文网 www.stmcu.com.cn搜索相关关键字即可找到。

关于STM32Cube的几个常见问题5
长按上方精灵鸟识别图中二维码可关注公众号
STM32单片机中文官网
意法半导体/ST/STM

继续阅读
意法半导体发布免费的安全设计套装软件,加快基于STM32的IEC 61508安全关键应用认证

中国,2018年5月9日——横跨多重电子应用领域的全球领先的半导体供应商意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)针对其已取得巨大成功的STM32*微控制器发布了新的开发软件套件,助力科技公司以更快捷、更经济的方式设计更安全的应用。

STM32F0系列概览

STM32F0系列是基于Cortex™-M0内核的32位入门级产品系列,沿用现有STM32®优异基因,针对8位MCU市场,为成本敏感型应用而设计的。

意法半导体(ST)电子产品技术助力Eltopia拯救蜜蜂

横跨多重电子应用领域、全球领先的半导体供应商意法半导体(STMicroelectronics,简称ST)与致力于开发全新商用设备以解决全球一些最紧迫难题的Eltopia Communications 携手宣布,Eltopia的Intelligent Foundation项目(代号为MiteNot)采用意法半导体的STM32F0微控制器,以及多个传感器和电源管理芯片,用于监测、采集环境数据,消灭可能导致蜂群衰竭失调综合症(CCD, Colony Collapse Disorder)的寄生物。

意法半导体发布STM32微控制器软件解决方案

针对全球越来越多的电子产品公司计划在新产品中采用USB Type-C™和电力传输(PD,Power Delivery)技术,意法半导体(ST)发布一款经过行业认证的基于其领先市场的STM32微控制器的软件解决方案,让USB Type-C™和电力传输(PD)集成工作变得更容易。

意法半导体推出全新的STM32F0系列32位微控制器,新产品瞄准低成本应用

意法半导体STM32FM0系列多功能超值ARM Cortex-M0微控制器简化家电和工业控制应用开发任务