STM32F303上的引导加载程序:工厂内置还是外部编程?

STM32F303上的引导加载程序:工厂内置还是外部编程?,stm32,bootloader,Stm32,Bootloader,我有一些关于ATMEL和ATMEL引导加载程序的背景知识,我们正在着手ARM的一个新项目。我们将特别使用STM32F303RET6。 这本质上是一个具有更多模拟输入引脚的Cortex M4 我一直在阅读有关引导加载程序的文档,我非常困惑: 报告第19页说: “嵌入式引导加载程序位于系统内存中,已编程 在生产过程中由ST执行” 此外,应用说明AN2606,第81页提到此内置引导加载程序不支持通过USB编程。(仅限UART、I2C或CAN) 但是在互联网上的其他地方(例如,尽管对于F103)我已经了

我有一些关于ATMEL和ATMEL引导加载程序的背景知识,我们正在着手ARM的一个新项目。我们将特别使用STM32F303RET6。 这本质上是一个具有更多模拟输入引脚的Cortex M4

我一直在阅读有关引导加载程序的文档,我非常困惑:

报告第19页说:

“嵌入式引导加载程序位于系统内存中,已编程 在生产过程中由ST执行

此外,应用说明AN2606,第81页提到此内置引导加载程序不支持通过USB编程。(仅限UART、I2C或CAN)

但是在互联网上的其他地方(例如,尽管对于F103)我已经了解到需要使用ST link V2(ISP)对引导加载程序进行编程。

在所有这些问题中,我非常困惑,因此以下是我的问题:

  • STM32芯片是否真的带有从工厂编程的引导加载程序
  • 工厂嵌入式引导加载程序是某种形式的故障保护“始终存在”编程接口吗?这意味着我以后可以编写第二个引导加载程序
  • 前面的问题引出另一个问题:如果我使用ST-linkV2程序员,我会覆盖工厂编程的引导加载程序吗
  • 关于BOOT1选择位,我完全不知所措。如果它是处理器的逻辑特性,我应该如何设置它?这似乎是一个鸡和蛋的问题
  • 最后,我是否可以通过USB重新刷新此芯片?看起来我可以,但是STM32文档说由ST编程的嵌入式dbootloader不能。我需要不同的引导程序吗
我知道我很困惑,我真的很感激你在这方面的帮助

多谢各位 佩德罗

应用说明AN2606,第81页提到此内置引导加载程序不支持通过USB编程。(仅限UART、I2C或CAN)

第81页的标题是STM32F303x4(6/8)/334xx/328xx设备引导加载程序,但您说您有一个STM32F303RE6。请在第77页的表36中查找您的设备

STM32芯片是否真的带有从工厂编程的引导加载程序

是的

工厂嵌入式引导加载程序是某种形式的故障保护“始终存在”编程接口吗

它总是在那里,你可能会认为它是一个故障保护。另一个故障保护是JTAG/SWD调试器接口

这意味着我以后可以编写第二个引导加载程序

是的,你可以。然后,您可以通过外部管脚选择要运行的管脚

如果我使用ST-linkV2程序员,我会覆盖工厂编程的引导加载程序吗

不,没有危险,内部的在生产后是写保护的

关于BOOT1选择位,我完全不知所措。如果它是处理器的逻辑特性,我应该如何设置它

BOOT0和BOOT1是一个输入引脚。您可以从外部设置,使用上拉/下拉电阻器、开关、跳线,无论您的电路板提供什么。在我的发现板上,它们位于pin标题上

最后,我是否可以通过USB重新刷新此芯片

根据参考手册,您可以

我需要不同的引导程序吗


不,但是当你对内部的不满意时,你可以换一个。库发行版中有一个例子,在
Projects/STM32F303RE-Nucleo/Applications/USB_-Device/DFU-Standalone

中,我想补充一点,工厂引导加载程序也可以由用户应用程序调用(然后忽略引导引脚设置)。了解stlinkvwhatever是另一个讲st usb协议的微控制器,然后为您执行SWD,因此它会通过SWD攻击您的目标mcu,您可以将其用于非st部件,同样,也可以使用非stlink SWD解决方案(在易趣上花几美元的jlink克隆)与st部件一起使用。stlink独立于目标芯片上的usb编程和引导加载程序。请注意,某些部件不暴露boot1引脚。例如,有16个左右管脚的小的,大的,特别是管脚重要的,我想会有。@old_timer:STM32F303RE6肯定是一个64管脚的零件(“零件号中的R”),BOOT0有一个专用管脚,BOOT1与PB2共享。@berendi你是如何确定BOOT1与PB2共享的?我正在查看处理器数据表中的引脚说明,PB2(LQFP64上的引脚28)未提及引导1。实际上,没有引脚引用引导1。关于这一点的唯一说明是“在启动时,Boot0引脚和Boot1选项位用于选择三个启动选项中的一个:”这似乎与这里描述的情况类似。非常感谢您提供的所有信息!非常有帮助!