历史上的今天
返回首页

历史上的今天

今天是:2025年08月01日(星期五)

正在发生

2019年08月01日 | 关于STM32F0的BOOT

2019-08-01 来源:eefocus

关于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下载代码》,推荐下载阅读,可以加深理解,从中或许还能顺便了解些别的东西。


推荐阅读

史海拾趣

德尔创(Dersonic)公司的发展小趣事

面对不断变化的市场环境和客户需求,德尔创始终坚持可持续发展的理念。公司注重环境保护和资源节约,积极推行绿色生产和循环经济。同时,德尔创还加强了内部管理和团队建设,通过优化流程和提高效率来降低成本和提升效益。对于未来,德尔创已经制定了明确的发展规划和目标,将继续加大在技术研发、市场拓展和品牌建设等方面的投入力度,努力成为全球电子元器件行业的领军企业之一。

DESIGNERSYSTEMS公司的发展小趣事

DESIGNERSYSTEMS公司意识到,要在电子行业持续发展,必须不断拓展市场。他们积极寻求跨界合作的机会,与汽车、医疗、航空航天等多个行业的领军企业建立了合作关系。通过跨界合作,DESIGNERSYSTEMS不仅将自身的技术优势应用于更广泛的领域,还从合作伙伴那里学到了更多行业知识和经验,进一步提升了自身的综合实力。

Facon公司的发展小趣事

在竞争激烈的电子行业中,品牌形象对于企业的成功至关重要。Facon深知这一点,因此他们始终注重品牌塑造和形象维护。通过举办技术研讨会、参加行业展会等方式,Facon不断向外界展示自己的技术实力和产品优势。同时,他们还积极参与公益活动和社会责任项目,提升企业的社会形象。这些努力让Facon在消费者和合作伙伴中树立了良好的品牌形象。

Cicoil公司的发展小趣事

随着计算机技术的飞速发展,处理器成为了电子设备的核心部件。Cicoil公司看到了这一趋势,开始与处理器制造商展开合作。他们为处理器提供高质量的连接电缆,确保处理器能够稳定、高效地运行。这一合作使得Cicoil公司的电缆产品进一步深入到计算机领域,也为其带来了更多的商业机会。

ADMOS公司的发展小趣事

随着技术的不断进步,ADMOS公司开始积极拓展国内外市场。通过与各大电子设备制造商建立紧密的合作关系,ADMOS的产品逐渐渗透到智能手机、平板电脑、笔记本电脑等消费电子产品中。同时,公司还积极开拓汽车电子、工业控制等新兴市场,为公司的持续成长注入了新的动力。

FOX [Fox Electronics]公司的发展小趣事

面对物联网、5G通信和汽车电子等新兴技术的快速发展,Fox Electronics敏锐地洞察到未来市场的变革趋势。公司加大了对高频、低抖动和高精度时钟解决方案的研发力度,以满足新兴应用对时钟源的高要求。同时,Fox Electronics还积极布局汽车电子市场,开发适应汽车自动驾驶和车联网需求的专用时钟产品。通过不断创新和布局未来市场,Fox Electronics为自身的持续发展奠定了坚实基础。

请注意,以上故事均为虚构内容,旨在展示电子行业发展的某些方面和可能的趋势。实际上,Fox Electronics的具体发展历程和成就可能有所不同。

问答坊 | AI 解惑

给工作了1~2年的 IC设计工程师们的建议(zt)

经,经济危机对IC产业的冲击是巨大的。对于每一个IC工程师来讲,在过去的1~2年里过得都不是很舒服,最直接的冲击就是金钱上的损失。因此当我们看到经济回暖的兆头时都迫不及待的对自己进行新的评估:“我是不是应该赚更多的钱?”,“我是不是还应 ...…

查看全部问答>

M68HC11单片机原理、应用及技术手册/MOTOROLA单片机开发应用丛书

书名: M68HC11单片机原理、应用及技术手册/MOTOROLA单片机开发应用丛书 作者: 涂时亮主编 出版社: 复旦大学出版社 出版日期: 1992-11-01 简介: 介绍了M68HC11单片机的系统结构、指令系统、程序设计方法和片内存贮器和它的定时系统、串行通讯 ...…

查看全部问答>

AT89S52串口问题

我使用AT89S52写了一个简单的串口程序,把程序写入芯片以后,可以正常的接收,但是当给AT89S52断电以后,然后在上电,就收不到串口数据了,如果再重新写入程序就可以正常工作,如果断电再上电,就不能正常工作。 我可以确定芯片不存在问题,因为写 ...…

查看全部问答>

windows CE SDK问题

哪位高手能告诉我SDK已定制成功,系统能编译,但是在部署到模拟器上时无法显示我编辑的程序界面,弹出设备无法连接,希望帮我解答,谢谢...…

查看全部问答>

ADS和PB

问大家个问题 裸板用ADS  做系统用PB 那么做驱动用什么啊??谁能帮我区分下ADS和PB 我还是分不太清楚啊 ! …

查看全部问答>

mc1648的无敌问题

各位大哥们,我最近在用mc1648做100M左右的压控振荡器,不过我输出来的波形很不好看,波形是正弦波,但是幅度越来越小,等幅度几乎没有的时候它的幅度又慢慢增加,如此循环。。。。。我是按照pdf上两个变容二极管对接的方法,为什么会这样,我绝望 ...…

查看全部问答>

LaunchPad+TEA5767=数字收音机(成果展示)

经过调试和多次试验,简易数字收音机终于完成。程序有两个版本,可自动搜台后进入LPM3,而后等待P1中断唤醒并进行自动搜台,结束后再次进入LPM3;另一种是通过按键实现自动搜台,无低功耗模式。在低功耗模式下,我串入电流表,测量电流500UA左右, ...…

查看全部问答>

收到了史上最凶单核DIP封装MCU的样片

今天收到了新鲜火辣,泰国工厂直送的样片,PIC32MX150F128B,40MHz,1.5DMIPS/MHz,128K flash, 32K SRAM!! 性能秒杀娘胎中的DIP封装的某厂1114FN28.哈哈 可以说是史上最高性能DIP 封装单核MCU了.(什么?你说propeller的8 cog 80MIPS更强? 这个.... ...…

查看全部问答>

双字节除法中余数的问题

我用汇编写的双字节除以双字节程序  如何对余数进行处理呢???  如果只用商来作为最终的结果是不是不精确??请问如何处理呢???…

查看全部问答>