大佬教程收集整理的这篇文章主要介绍了通过应用程序跳转到STM32中的Bootloader,即在用户闪存的引导模式下使用Boot 0和Boot 1 Pins,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直面临类似的请求,并找到了2种按需加载引导加载程序的方法.
首先,您可以从用户代码到引导加载程序“JUMP”.例如,您可以在按下按钮时跳转到引导加载程序.
但是……这比简单的JUMP指令复杂得多:一些寄存器和设备必须正确配置才能与引导程序一起工作,你必须确保在JUMP期间不会触发IRQ,…实际上,你必须重新配置处理器,就像它在重置后刚启动一样.
您可以找到有关此技术的一些信息:on this video from ST.
我设法在STM32F1xx项目上做了这样的事情.
然而,在基于STM32F4的更复杂的项目中,这将变得非常困难……我将不得不停止所有设备(定时器,通信接口,ADC,DAC ……),确保不会触发IRQ,重新配置所有时钟,……
相反,我决定实现第二个解决方案:当我想跳转到引导加载程序时,我在其中一个备份寄存器中写入一个字节,然后发出软复位.然后,当处理器重新启动时,在程序的最开始,它将读取该寄存器.该寄存器包含指示应在引导加载程序模式下重新引导的值.然后,跳转到引导加载程序要容易得多,如the youtube video所示.
以上是大佬教程为你收集整理的通过应用程序跳转到STM32中的Bootloader,即在用户闪存的引导模式下使用Boot 0和Boot 1 Pins全部内容,希望文章能够帮你解决通过应用程序跳转到STM32中的Bootloader,即在用户闪存的引导模式下使用Boot 0和Boot 1 Pins所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。