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

继续阅读