MDK 平台下弱声明函数实现后不能执行原因排查

使用单片机是HC32F460,库版本为V2.10,使用官方的库,是可以执行的,但是网上的一个程序增加官网例程后,一直不能执行。

使用的例子是

hc32f460_ddl_Rev2.1.0\example\ev_hc32f460_lqfp100_v1\adc\adc_03_sa_interrupt

程序中有  非显式调用 ADC2A_IrqHandler 中断。

集成AD程序后,无法设置断点

如果增加显示调用,就可以

说明了,主要是还是编译器判断ADC2A_IrqHandler 没有被显示调用,认为是没有用,就把这个函数删除了。主要是解决如何在非显示调用下,让编译器把文件保留下来。

按网上的资料更改优化级别和设定编译器版本5,或6都没有效果

后面对方官方的例程的配置和目前程序的配置,发现在官方的例程在 linker 下有多了--keep=*Handler ,这样编译时就不会自动删除掉非显式中断的调用了,测试一下,通过,搞了一天才找到原因。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mcusun2000

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值