您的位置 首页 电路

STM32F0的BOOT装备及相关论题

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

关于STM32F0系列的发动装备,有人说有点看不太懂,形似有两套发动方法,又是脚又是选项位的。其实,它跟其它STM32 系列相同也是有三种发动形式,仅仅装备方法上有其特征。

它有两种装备方法,第一种是运用BOOT0物理脚和Nboot1、Boot_Sel选项位来承认发动形式;第二种只运用Boot_Sel、Nboot1 、Nboot0 三个选项位来承认发动形式,彻底省却了物理脚,多出一根脚给用户运用。

关于第一种装备方法,一切STM32F0系列的芯片都适用。第二种装备方法仅适用于STM32F04X和STM32F09X系列的器材。

下图是STM32F0系列发动形式装备表。

赤色方框内便是上面所指的第一种装备方法,对一切STM32F0芯片适用。图表中的灰色区域便是前面所说的仅适用于STM32F04X和STM32F09X的装备方法,

能够看出,关于STM32F04X和STM32F09X究竟运用哪种装备方法取决于Boot_Sel选项位。关于非STM32F04X和STM32F09X的32F0系列芯片,装备方法只能运用第一种装备方法,此刻Boot_Sel固定为1。

这儿无妨说说第一种装备方法,该方法对一切STM32F0芯片都适用。BOOT0脚置高、置低简略,Nboot1、Boot_Sel选项位怎样定的呢?

Nboot0 、Nboot1、Boot_Sel选项位在用户选项字节里,一起来看看。

显着,从其出厂的默许初始值能够看出,Nboot0、Nboot1、Boot_Sel选项位的默许值均为1,即默许为第一种装备方法。

假如此刻BOOT0脚为1则从system memory发动,即从芯片内嵌的BOOTLOADER发动。

假如此刻BOOT0脚为0,则从main flash memory发动,进入用户程序。

针对STM32F04X/STM32F09X的第二种装备方法 ,这儿就不多说了。个人觉得假如不是特别需求那个BOOT0脚、或许对这个做法特别感爱好的话,大可不必花太多心思和精力在第二种装备方法上 。究竟你得自行编写用户代码修正Nboot0、Nboot1、Boot_Sel相关选项位,并且这个进程仍是有些折腾。折腾了半响或许就为多用一根IO脚,此刻BOOT形式彻底由选项位来承认,个人觉得也不是那么直观和便利 。

ST官方有一篇运用笔记便是针对STM32F04X/STM32F09X的第二种装备方法的运用介绍的,该笔记名为《STM32F09X不运用BOOT脚完成SYSTEMBOOTLOADER晋级代码》,有爱好的能够去下载看看。

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

所谓空片一般是指从芯片出厂起就没用过或用过但经过CHIP erase操作后的芯片。

STM32F04X/STM32F09X芯片复位后经过检测地址0x080000000的内容是否为0xFFFFFFFF且上面说到的Boot_Sel选项位是否为1来判别该芯片是否为空片。若是,则设置相关空检标志Empty Check。

在芯片被判定为空的条件下,即便当时BOOT装备为从main flash memory发动,芯片硬件也会跳到System Memory 去履行内嵌发动程序。用过其它STM32芯片的人就会显着感觉到这儿有个优点,这样经过ISP形式进行烧录后不必将BOOT装备脚拨来拨去的。假如量产的话,仍是省了不少事。

STM32F0参考手册里在针对空检标志的描绘时,应该说上面那段英文讲得很清楚了,后边做了一句弥补式的描绘“查看地址0x08000 0000的内容是否为 0xFFFF FFFF作为判别为空的条件”。这一说或许反而增加了了解上的困扰,本来说空片就完了,让芯片回归到出厂初始状况就好。至于对某地址内容或选项位的检测仅仅对空片的一个简略承认。

环绕TM32F04X/STM32F09X芯片的空检论题及下载烧录,ST官方也有份运用笔记,名为《STM32F091空片运用system bootloader下载代码》,引荐下载阅览,能够加深了解,从中或许还能趁便了解些其他东西。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/dianlu/272223.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部