SAI__ 发表于 2022-10-18 09:31:55

关于stm32 启动复位中断

stm32在启动时,取出堆栈指针后,进入复位中断,在复位中断函数中执行系统时钟初始化,最后跳到main函数。跳到main函数后还在复位中断中吗?如果不在复位中断了,是什么时候退出去的?如果还在复位中断,复位中断优先级那么高,在应用程序中其他中断为什么可以抢占响应呢?

eric2013 发表于 2022-10-18 13:04:33

退出中断了,以MDK为例,是在__main里面退出来的。

SAI__ 发表于 2022-10-19 15:59:12

eric2013 发表于 2022-10-18 13:04
退出中断了,以MDK为例,是在__main里面退出来的。

找了一下资料,没有查到__main函数会退出中断呢。可以给说一下如何操作的吗?

eric2013 发表于 2022-10-19 17:16:21

SAI__ 发表于 2022-10-19 15:59
找了一下资料,没有查到__main函数会退出中断呢。可以给说一下如何操作的吗?

确切的说,上电复位触发进入Reset有点特殊,你仿调试仿真选择进入Startup会发现这个Reset在Thread模式,也就是非中断模式,所以也就不存在推出中断的说法。

eric2013 发表于 2022-10-20 02:00:35

【不是问题的问题】为什么复位中断服务程序里面直接调用的main函数,难道所有程序都在复位中断里面执行的?
https://www.armbbs.cn/forum.php?mod=viewthread&tid=116035&fromuid=58
(出处: 硬汉嵌入式论坛)
页: [1]
查看完整版本: 关于stm32 启动复位中断