STM32
直播中

刘高

10年用户 910经验值
擅长:嵌入式技术
私信 关注
[问答]

STM32F030F4 BootLoader程序跳转异常的原因?

BootLoader程序当中开启了tiM3定时中断和USART2串口中断,通过USART2接收APP程序数据,查看了写入FLASH中的数据,数据全部正常,下载完成APP程序后,无法进入TIM3定时器中断,手动按下复位按键后,系统能正常进入APP的TIM3中断服务程序,有人遇到过同样的问题吗?

回帖(1)

任凭风吹

2024-4-10 18:17:50
有可能是由于BootLoader程序与APP程序中的中断服务程序冲突导致的。在STM32F0系列中,中断服务程序的优先级使用优先级分组值和优先级值两个参数进行配置,通过这两个参数可以确定中断的优先级。如果BootLoader程序和APP程序中的中断服务程序的优先级参数配置不一致,可能会导致中断无法正常触发。

另外,还需要确认BootLoader程序和APP程序在代码逻辑上是否有冲突。例如,如果BootLoader程序没有正确地对GPIO和外设进行初始化或者使用了APP程序中未定义的函数等,都可能导致异常。

建议你在调试过程中注意以下几点:
1. 确认BootLoader程序和APP程序的中断优先级参数配置是否一致。可以尝试将BootLoader程序的中断优先级参数配置成与APP程序相同的值,或者使用不同的优先级分组值和优先级值进行配置。
2. 检查BootLoader程序和APP程序的代码逻辑是否有冲突。确认BootLoader程序正确地对GPIO和外设进行了初始化,并且不会使用APP程序中未定义的函数。
3. 可以尝试将BootLoader程序和APP程序的中断服务程序逻辑进行简化,仅保留最基本的功能,然后逐步添加其他功能进行调试,以找出问题所在。

如果仍然无法解决问题,建议你将相关的代码片段或者详细描述提供出来,以便更好地分析和解决问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分