在嵌入式开发中,程序固件升级和系统维护通常需要自举程序,因此自举程序是必不可少的功能。
STM32系统随附的系统引导程序非常易于使用。
它极大地减少了工程师开发自举程序1的工作。
总结本说明主要以STM32H743芯片为例,介绍STM32系统自举程序的应用。
2.准备工作& nbsp; 1,IAR 8.32.1 & nbsp; 2,STM32CubeProgrammer 3.系统引导程序简介我相信使用过STM32芯片的童鞋应该很熟悉。
当芯片出厂时,意法半导体已经固化了内部系统中的引导程序,并支持各种接口,例如UART,I2C,SPI,USB,CAN等。
它可用于下载和升级用户程序。
就我所使用的H743而言,支持的接口如下:请注意,红色框中的地址不正确,并且需要注意程序中的代码。
当前,几乎所有系列的STM32都受支持。
与F0,F1,F4,F7,H7一样,也支持较新的G系列,以及L系列和W系列。
该引导程序可与ST的官方STM32CubeProgrammer主机一起使用,大大节省了开发时间。
当然,如果您想要更好的引导程序,则可以根据此想法自己添加更多功能。
就我最近使用的H743而言,今天我们将以H743为例,并以USB接口为例进行介绍。
4.硬件连接图通过USB电缆将开发板连接到计算机,并且该开发板用作USB设备。
5. Bootloader模式使用Bootloader时,需要考虑如何进入启动模式,并且STM32支持跳转引导引脚和通过引导引脚的跳转需要配置引脚和地址寄存器以通过用户应用程序跳转,不需要配置引导引脚,但是通常通过应用程序跳转更为方便,特别是对于产品具有难以拆卸的外壳,对于我们跳过应用程序来说非常方便,以后者为例进行说明。
您可以参考官方文件AN2606来了解通过引导引脚进行跳转的配置说明。
6.配置要求一般来说,进入引导加载程序的跳转时,我们需要做一些工作。
进入系统引导加载程序时,STM32需要执行以下操作:关闭全局中断,将时钟恢复配置为HIS,清除中断挂起标志,启用中断,设置跳转地址,并且跳转为被执行。
它可以是按钮检测跳转或触摸操作跳转。
可以根据您自己的应用程序来实现。
7.代码实现按照上述说明,我们可以通过代码实现它,只需在需要跳转动作的地方调用以下函数即可。
请注意,ST官员提供的系统引导加载程序系统地址不正确。
AN2606中提供的地址不正确。
使用时请注意。
应使用以下地址。
在这里,我们指的是安富利的例子,谢谢。
8.使用STM32CubeProgrammer进行测试以完成测试。
测试步骤非常简单。
打开STM32CubeProgrammer。
当应用程序中满足跳转条件并进入系统引导加载程序时,它将进入DFU。
单击连接。
如果连接正确,则可以选择要下载的文件并继续。
下载成功后,将出现提示。
按照说明完成操作。
单击“打开文件”,然后选择要下载的文件,或者可以在菜单中选择第二项以进入以下界面进行更新。
9.参考文件序列号文件1 STM32H743RM 2 AN2606:STM32微控制器系统存储器启动模式免责声明:本文的内容经21ic授权后发布,版权归原作者所有。
该平台仅提供信息存储服务。
本文仅代表作者的个人观点,并不代表该平台的立场。
如有任何疑问,请与我们联系,谢谢!