[APM32F030]

STM32CubeIDE开发下APM32F030RCT6无法IAP跳转到APP

[复制链接]
178|1
手机看帖
扫描二维码
随时随地手机跟帖
gdygn007|  楼主 | 2022-7-21 15:51 | 显示全部楼层 |阅读模式
本帖最后由 gdygn007 于 2022-7-21 17:29 编辑

概述:
某客户由于版权问题,不能使用Keil或IAR进行开发,只能使用STM32CubeIDE进行开发。在调试APM32F030RCT6时遇到boot跳转APP不成功问题。
发了他们boot和APP的测试源码需要帮忙进行调试。
前期准备:
代码调试前需要准备调试硬件以及开发环境的搭建
            
序号
工具名称
功能
备注
1
APM32F030R8-MINIBOAR V1.0
demo板
换上APM32F030RCT6后,PF7引脚要接到VDD
2
STM32CubeIDE
软件开发环境
3
Jlik-ARM
调试器
4
J-Flash 7.64e
下载软件
        
测试步骤:

1、IDE配置-编译后生成bin文件,如图一所示。
2、例程中boot和APP通过LED闪烁频率不同,来判断是否成功跳转,boot使用慢闪方式,APP使用快闪方式。
查找demo原理图,LED3引脚对应PB7,图二所示。
3、使用STM32CubeIDE编译boot和APP(无地址偏移)分别使用J-Flash下载到Demo,验证两个源代码的LED是否都能正常运行。
4、在boot增加跳转APP的指令,如图三所示。
5、在APP中增加地址偏移设置和中断向量表更新,如图四所示。
6、编译后使用J-Flash下载验证,两个bin文件下载后,使用读回操作,确保文件都下载并且内容无误,如五所示。
7、按下Demo板的Reset按键重启MCU,发现一直无法跳转到APP。
问题解决:
在boot源代码中跳转APP前增加RCC解初始化函数,重新下载,发现boot可以正常跳转了。
   

图一.png
图五.png
图四.png
图三.png
图二.png
问题解决.png

使用特权

评论回复
Fanexs168| | 2022-7-22 11:12 | 显示全部楼层
顶一下~
顺带一提,APM32F0是M0+内核,内部支持VTOR寄存器,可以直接操作寄存器做中断向量便宜操作,不需要像老M0那样,把向量表放到RAM进行额外操作

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则