[STM32F1] Feature Request: Place Default_Handler in stm32xxx_it.c

[复制链接]
 楼主| 封存into 发表于 2025-7-8 11:24 | 显示全部楼层 |阅读模式
CubeIDE在startup.S文件中定义了Default_Handler,但如果能将其定义在stm32xxx_it.c文件中会不会更加实用。这样当Default_Handler被调用时,用户可以更方便地做出响应。

公羊子丹 发表于 2025-7-31 13:27 | 显示全部楼层
这个建议挺有意思的,把Default_Handler放到stm32xxx_it.c确实方便用户直接修改和扩展。
周半梅 发表于 2025-7-31 13:28 | 显示全部楼层
但startup.S里放Handler是为了保证中断向量表的完整性,改动可能需要注意兼容性。
帛灿灿 发表于 2025-7-31 13:28 | 显示全部楼层
如果能在stm32xxx_it.c里加一个弱定义的Default_Handler,然后startup.S调用这个弱定义,是不是更灵活?
童雨竹 发表于 2025-7-31 13:29 | 显示全部楼层
CubeIDE官方如果采纳这个想法,对调试异常情况也会更友好,方便定位问题。
万图 发表于 2025-7-31 13:30 | 显示全部楼层
其实目前很多工程都是用户自己在stm32xxx_it.c里重定义异常处理函数,这个改动会不会破坏现有习惯?
Wordsworth 发表于 2025-7-31 13:30 | 显示全部楼层
这样做有利于让Default_Handler里写日志或者触发断点,更方便排查未知中断。
Bblythe 发表于 2025-7-31 13:31 | 显示全部楼层
也可以考虑增加一个钩子函数,在Default_Handler被调用时自动触发,方便用户自定义处理。
Pulitzer 发表于 2025-7-31 13:32 | 显示全部楼层
希望ST官方能考虑下,把中断默认处理放得更“透明”,让我们写异常处理更轻松。
Uriah 发表于 2025-7-31 13:32 | 显示全部楼层
当然,这样改了可能会对startup文件自动生成有影响,需要IDE和库配合改进。
Clyde011 发表于 2025-7-31 13:33 | 显示全部楼层
个人觉得,如果能有选项让用户决定Default_Handler的位置会更好,满足不同需求。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

54

主题

112

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部