主题中讨论的其他器件:TMS570LC4357
我们正在开发活动中使用 TMS570LC4357 Launchpad。 对于任务基准测试、我们使用 PMU 计数器、在某些情况下、该值会被冻结。我们怀疑它是由于计数器达到最大值。 目前 CPU 时钟配置为300MHz、我们想减慢 PMU 时钟的速度吗? 有可能吗? 是否有任何其他原因会影响 PMU 计数器?
谢谢、
Subash
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我们正在开发活动中使用 TMS570LC4357 Launchpad。 对于任务基准测试、我们使用 PMU 计数器、在某些情况下、该值会被冻结。我们怀疑它是由于计数器达到最大值。 目前 CPU 时钟配置为300MHz、我们想减慢 PMU 时钟的速度吗? 有可能吗? 是否有任何其他原因会影响 PMU 计数器?
谢谢、
Subash
您好、 Subash、
PMU 使用 CPU 内核时钟。 FPU 时钟没有分频器。
[引用 userid="517932" URL"~μ C/support/microcontrollers/arm-based microcontrollers-group/arm-based microcontrollers/f/arm-based microcontrollers-forume/1120407/tms570lc4357-EP-PMU-clock-cycle"]在某些情况下、该值将被冻结。计数器寄存器是否溢出? 每次测量中使用之前的计数器复位吗?
您好 、QJ Wang、
非常感谢您的回答。 当我观察到 PMU 周期计数器的值时、它 开始计数并在达到最大值之前冻结在某个值。 我在 Launchpad 以及 HDK 电路板上进行了相同的实验。 结果很奇怪、因为我在 Launchpad 中看不到任何问题、PMU 按预期计数。 但是、仅在 HDK 电路板上发现问题。
我已附上快照供您参考、即在 Launchpad 和 HDK 板上捕获的计数器值。
您好、Subash、
我正在运行测试、到目前为止我还没有产生问题:

我的测试代码测量用于在 while ()循环中添加两个 matrix (100x100)的周期。 我得到两个结果:骑行1和骑行2:骑行1是马匹斯加法之前的值、骑行2是 加法后的周期。 对这两个值进行比较、如果 cycles2不大于 cycles1、则计数器被视为冻结。
但当计数器达到其最大值时、我会溢出。 状态寄存器的位31被置位:

