STM32F091 举程向应
与解
前言
前言前言
前言
当使用 STM32 Bootloader 中的 GO 命令进行从 Bootloader 向用户代码进行跳转时,需要正确地在用户代码中设置向量表,
才能正常地运行用户代码。
问题
问题问题
问题
某客户在其产品的设计中,使用了 STM32F091RCT6,由于特殊的功能需求,将会使用到使用 Flash Loader Demonstrator
对芯片进行串口烧写后,直接跳入程序,但是客户发现烧写后根本就没有执行用户代码。
调研
调研调研
调研
1.
1.1.
1.还原问题现象
还原问题现还原问题现
还原问题现
我们使用 NUCLEO-F091RC 工具板来还原这个问题的现象。
再到 STM32Cube_FW_F0_V1.2.0 中找个例程来测试一下,为了方便观察,我们使用 Examples 中的 GPIO_IOToggle 来测试,
因为这是一个闪灯的程序。位置如下图所示:
使用 IAR 将项目打开,进行编译,生成 STM32F091RC-Nucleo.hex 文件,可在
\Examples\GPIO\GPIO_IOToggle\EWARM\STM32F091RC-Nucleo\Exe 文件夹中找到。使用 USB 线连接 NUCLEO-F091RC
使用 STM32 ST-LINK Utility 件将 STM32F091RC-Nucleo.hex 代码下载到 NUCLEO-F091RC,观察 LD2 ,可见其闪烁。
我们再用 STM32 ST-LINK Utility 软件将代码擦除掉。
确认了 STM32F091RC-Nucleo.hex 没有问题之后,我们开始使用 Flash Loader Demonstrator 这个串口烧写软件进行测试。
由于 Nucleo 板上的 ST-LINK 自带虚拟串口驱动,所以我们无需另接串口工具,就可以直接使用。在“我的电脑”点右键,进
入“属性”,选择“设备管理器”,可以看到:
也就是说,虚拟串口为 COM16