1

查看在 STM32F7 上初始化数据观察点和跟踪 (DWT) 所需的代码:

DWT->CTRL |= DWT_CTRL_CYCCNTENA_Msk;    
CoreDebug->DEMCR |= CoreDebug_DEMCR_TRCENA_Msk;
DWT->LAR = 0xC5ACCE55; 
DWT->CYCCNT = 0;
DWT->CTRL |= DWT_CTRL_CYCCNTENA_Msk;

特别是这一行来解锁对 DWT 寄存器的访问:

DWT->LAR = 0xC5ACCE55; 

这类似于在扣动扳机之前切换安全锁扣。就像获得一些危险的行动一样。

同时,查看文档我没有发现使用 DWT 的任何阴暗面。所以

为什么这里需要这组显式的 0xC5ACCE55(与其他子系统不同)?有什么缺点吗?危险?还是真的需要这个安全扣?

PS 我正在使用 DWT 访问DWT->CYCCNT以进行性能分析。

4

0 回答 0