Cortex-M中特别实用的DWT计数器
💡
原文中文,约3200字,阅读约需8分钟。
📝
内容提要
DWT(Data Watchpoint and Trace)是Cortex-M处理器中用于系统调试和跟踪的外设。它包含一些可用于性能分析的剩余计数器,其中最常用的是CYCCNT寄存器来测量任务执行所需的周期数。使用DWT可以方便地进行性能分析和调试,优化代码和系统性能。使用DWT的步骤是先使能DWT外设,清零CYCCNT寄存器,然后使能CYCCNT寄存器。
🎯
关键要点
- DWT(数据观察点与跟踪)是Cortex-M处理器中的调试和跟踪外设。
- DWT包含用于性能分析的计数器,最常用的是CYCCNT寄存器,用于测量任务执行所需的周期数。
- CYCCNT寄存器是一个32位的向上计数器,记录内核时钟的周期,具有高精度。
- CYCCNT的最大记录时间为59.65秒,计数器溢出后会清零重新开始计数。
- 使用DWT需要使能三个寄存器:DEMCR、DWT_CTRL和DWT_CYCCNT。
- 使能DWT外设需要通过DEMCR寄存器的位24控制,写1使能。
- 在使能DWT_CYCCNT寄存器之前,需先将其清零。
- CYCCNTENA控制CYCCNT计数器的使能状态,写1使能计数器。
- 使用DWT的步骤包括使能DWT、清零CYCCNT和使能CYCCNT寄存器。
- 提供了多个使用DWT的代码示例,展示如何重置、启动和停止计时器。
🏷️
标签
➡️