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的代码示例,展示如何重置、启动和停止计时器。
🏷️