首页 > 编程知识 正文

芯片boot是什么意思,stm32停止模式

时间:2023-05-04 03:35:00 阅读:45369 作者:1228

探索STM32的3种BOOT模式的概要一、比较3种BOOT模式二、开发BOOT模式的选择三、实验项目(1)实验要求)2)实验过程a .内置STM32的闪存启动——的最常用b .系统内存吗

个人资料

与STM32三种启动模式对应的存储介质全部内置于芯片中

用户闪存=内置芯片的闪存。 SRAM=芯片内置的RAM区域是存储器系统存储器=芯片内部的特定区域,通常所说的ISP程序是芯片出厂时在该区域中预设Bootloader。 该区域的内容在芯片出厂后,任何人都不能修改或擦除。 即,ROM区域

一、三种BOOT模式比较Main Flash memory

STM32内置的Flash :一般情况下,我们在JTAG或SWD模式下下载程序时,会将其下载,重新启动后也会直接从这里启动程序。

System memory

从系统内存启动:以此模式启动的程序功能由制造商设置。 一般来说,这种启动方式很少使用。 系统内存是芯片内部的特定区域,STM32在出厂时,ST在该区域内部保留了BootLoader (所谓的ISP程序)。 这是只读存储器。

发货后不能修改。 一般来说,选择此启动模式是为了从串行端口下载程序。 因为制造商提供的BootLoader具有从串行端口下载程序的固件,可以从该BootLoader将程序下载到系统的Flash中。 但是,这种下载方法需要以下步骤。

Step1:将引导0设置为1,将引导1设置为0,然后按重置键从系统存储器启动引导加载器Step1: 最后,在BootLoader的帮助下,通过串行将程序下载到Flash,step:程序下载完成后,必须将BOOT0设置为gnoader,STM32只能从Flash启动Embedded Memory:

内置SRAM :既然是SRAM,当然也没有程序存储能力。 此模式通常用于程序调试。 假设您只修改了代码中的小部分,然后需要重新清除整个Flash。 如果比较需要一些时间,请考虑从该模式启动代码,用于快速程序调试,并在程序调试完成后将程序下载到SRAM中

二、开发BOOT模式选择1,一般使用程序代码存储在主闪存中,配置方式:

引导0=0、

引导1=x;

2、闪存锁的解决方法:

开发过程中,由于某些原因,内部Flash锁定,无法连接到SWD和Jtag调试,无法读取设备。 可以通过修改BOOT模式来重写代码。

修改为BOOT0=1、BOOT1=0后,可以从系统内存启动。 ST出厂时附带引导加载程序、SWD和JTAG调试接口。 重新烧接程序后,可以将BOOT模式更改为BOOT0=0,BOOT1=X可以正常使用。

三、实验项目(1)实验要求在各种引导模式下,研究代码下载执行后的地址位置,并与理论进行比较验证)2)实验过程的实验源代码:链接

a.STM32内置的Flash启动——的最常见下载结果如下。

b .从系统内存启动——厂家设置,出厂后不能按步骤修改一次配置即可

)3)实验结果表明,通过这两种方式的比较,两者对地址的记忆似乎没有明显差异。 以STM32内置的闪存启动方式打开串行端口后,数据会自动发送到串行助手,但从系统内存启动的方式需要按复位按钮才能发送

四.总结实验,简要介绍了STM32的三种启动模式。 然后,在实际实践了内置于最常用的STM32的闪存起动和从系统存储器起动时,发现从系统存储器起动的速度有点慢,而且步骤有点复杂。 我对点击download,直接打开串口查看效果的方式更熟悉。

五、参考文献[1]介绍STM 32的三种引导模式

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。