OpenEdv-开源电子网
标题:
ZYNQ裸机:定时器中断一直打断调试跳转
[打印本页]
作者:
hsoalgyer
时间:
2024-5-30 22:49
标题:
ZYNQ裸机:定时器中断一直打断调试跳转
现象:
1.ZYNQ裸机跑10ms定时中断检测矩阵键盘
2.进入debug调试时,在主循环处理其他事务的函数断点处停下后,点击step over,会出现一直卡在同一行不动的情况
3.后来发现是断点处停下后cpu虽然停止读指令了,但定时器仍在运行,并不断触发中断信号,导致执行下一步后,cpu先去处理中断,回来后卡在同一行。
问题:
1.有没有办法让在断点处时,cpu和定时器都暂停工作的调试方法?
作者:
hsoalgyer
时间:
2024-5-30 22:49
知道为什么了,是sdk的bug,2018.2出过一个补丁解决,但后续正式发布的版本都没有解决,bug还是在...
Step-over during debugging stops at interrupt vector
作者:
QinQZ
时间:
2024-5-31 15:08
这个应该需要在进入中断后,关闭定时器的中断使能,从而让它暂停工作
作者:
hsoalgyer
时间:
2024-6-2 22:38
QinQZ 发表于 2024-5-31 15:08
这个应该需要在进入中断后,关闭定时器的中断使能,从而让它暂停工作
你的意思是说清中断吗?是的话我在中断服务函数里是有清的。但要说关闭中断使能这点不行,因为键盘就是用这个定时器每10ms扫一次,关了键盘就没法用了。
我现在不知道是不是我代码有问题,按我理解debug的时候一直没法step over就是一直有定时中断造成的。但像freertos不也是周期性的在定时中断里调度任务吗,如果是我说的这种情况,上系统之后就完全没法调试了?
作者:
caojunye
时间:
2024-6-3 14:46
本帖最后由 caojunye 于 2024-6-3 14:48 编辑
如果工程中已经调用了freertos系统,后面再用定时器扫描矩阵键盘的时候就不要再用私有定时器了,可以试试其他的定时器像看门狗定时器、全局定时器、ttc定时器。因为freertos已经用了私有定时器去计时心跳时钟了。
欢迎光临 OpenEdv-开源电子网 (http://47.111.11.73/)
Powered by Discuz! X3.4