STM定时器带调试功能同步设置

原文连接
https://blog.csdn.net/weixin_48120109/article/details/126217469

Tricore架构上的调试案例
STM定时器带调试功能同步设置

STM是Tricore架构下的一个系统定时模块。该模块可用于触发不同的定时周期任务。STM模块是独立与CPU的控制的,如果没有相应的同步设置,当CPU 的OCDS的调试功能enable以后,如果CPU被调试工具控制break了,STM仍会处于一个running的状态,当再次运行的时候就有可能导致不同任务的非同步,从而系统无法正常工作甚至会进入debug 16的异常状态。这次基于TC234LP的案例分析中就演示了STM同步设置的操作。

当目标系统连上调试工具以后,虽然CPU处于halt的状态(stoppedat breakpoint),但是STM 仍然在一个高速运行的状态。

TC234l PMSM 的Demo code中不同的周期任务依赖STM的定时触发

如果这个时候initTask 执行完了以后再次break,就会引起STM计时的混乱,当code再次running的时候这个定时的周期任务就不能按设定的周期时间被触发了,甚至有些任务会停止调度。这时如果需要去调试类似的应用场景的话就需要设置STM 进入SUSPEND的状态,当CPUbreak的时候STM也能够同步停止。

设置通过Trace 32 的Peripherals 设置STM
在这里插入图片描述
寄存器说明
在这里插入图片描述
STM

取消时间保护
Not suspended——>Set Suspended
SUSSTA:0-1
SUS:0-2

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值