STM32提供从用户闪存,系统内存和嵌入式SRAM启动的选项.在固件方面"从用户Flash启动"是否意味着执行自定义引导加载程序?
没有.
" 从用户闪存引导 "模式意味着将在复位后运行的应用程序代码位于用户闪存中.该模式下的用户闪存别名为从引导存储空间中的地址0x00000000开始.复位后,堆栈顶部值从地址0x00000000获取,然后代码开始在地址0x00000004执行.
相反," 从系统内存引导 "模式只是意味着系统内存(而不是用户闪存)现在别名为从地址0x00000000开始.在这种情况下,应用程序代码必须已加载到系统内存中.
" 从嵌入式SRAM引导 "模式不会对SRAM地址进行别名.选择此模式后,器件需要使用NVIC异常表和偏移寄存器重新定位向量表,并在嵌入式SRAM的启动时开始执行.这种情况下的应用程序代码必须已经加载到嵌入式SRAM中.
有关更多详细信息,请参阅"引导配置"一节中有关您正在使用的特定STM32器件系列的参考手册.