我有一些关于ATMEL和ATMEL引导程序的背景知识,我们正在转向ARM进行一个新项目.特别是我们将使用STM32F303RET6.这基本上是具有更多模拟输入引脚的Cortex M4.
我一直在阅读有关引导程序的文档,我非常困惑:
在" 入门文档"的第19页上,它说明了以下内容:
"嵌入式引导加载程序位于系统内存中,由ST在生产期间编程 "
此外,应用笔记AN2606,第81页提到这种内置的引导加载程序不支持通过USB编程.(仅限UART,I2C或CAN)
但是在Internet上的其他地方(例如这个,虽然对于F103)我已经读到了使用ST-link V2(ISP)编程引导加载程序的必要性.
在这一切中我很困惑所以这里是我的问题:
我知道我很困惑,我真的很感谢你的帮助.
谢谢佩德罗
ber*_*ing 11
应用笔记AN2606,第81页提到这种内置的引导加载程序不支持通过USB编程.(仅限UART,I2C或CAN)
第81页的标题说STM32F303x4(6/8)/ 334xx/328xx设备引导加载程序,但是你说你有一个STM32F303RE6.查找第77页的表36,了解您的设备.
STM32芯片实际上是否带有从工厂编程的引导加载程序?
他们是这样.
工厂嵌入式引导加载程序是否有某种形式的故障保护,"始终存在"编程接口?
它总是在那里,你可能会认为它是一个故障保险.另一个故障保护是JTAG/SWD调试器接口.
意思是我以后可以编程第二个引导加载程序?
是的你可以.然后您可以选择由外部引脚运行的那个.
如果我使用ST-linkV2编程器,我会覆盖工厂编程的bootloader吗?
不,没有危险,内部的一个在生产后被写保护.
关于BOOT1选择位,我完全失去了.如果它是处理器的逻辑功能,我该怎么设置呢?
BOOT0和BOOT1是输入引脚.无论您的电路板提供什么,您都可以使用上拉/下拉电阻,开关,跳线从外部进行设置.在我的发现板上,它们位于引脚头上.
最后我可以通过USB重新刷新这个芯片吗?
根据参考手册,你可以.
我需要一个不同的引导程序吗?
不,但是当你对内部的不满意时,你可以有一个不同的.STM32CubeF3库分发中有一个例子Projects/STM32F303RE-Nucleo/Applications/USB_Device/DFU_Standalone
.