1

STM32F7 で Data Watchpoint and Trace (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->CYCCNTパフォーマンスプロファイリングのためにアクセスするためにDWTを使用しています。

4

0 に答える 0