我是靠谱客的博主 魁梧发箍,最近开发中收集的这篇文章主要介绍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

最后

以上就是魁梧发箍为你收集整理的STM定时器带调试功能同步设置的全部内容,希望文章能够帮你解决STM定时器带调试功能同步设置所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(61)

评论列表共有 0 条评论

立即
投稿
返回
顶部