開発のヒント
CPU
マイコンの演算速度を測る(その2)
以前、プログラムの実際の処理速度を知る便利な方法として「サイクル・カウンタ」を紹介しました。
CPUレジスタの中に「CYCLECOUNTER」というカウンタがあります。IAR社のEWARMなどでは、「CYCLECOUNTER」をチェックして、簡単に演算サイクル数を確認できる機能がありますが、ST製の統合開発環境「STM32CubeIDE」では、直接演算サイクル数を確認することができません。
そこで、今回は、STM32CubeIDEを使って演算サイクル数を確認する方法を紹介します。
DWTレジスタを直接操作、参照することで値の確認が可能です。
① Run-Debug(F11)でDebug開始
② 希望の測定開始BreakPointまでコード実行(Resume,F8)
③ Window-Show View-Memory Browserを選択し、0xE0001000番地に移動
④ 0xE0001000のLSBビットを‘1’に変更(CYCLECOUNTERの開始)*初回のみ
⑤ 希望の測定終了BreakPointまでコード実行(Resume,F8)
⑥ 0xE0001004の値を確認(= CYCLECOUNTERの値)
⑦ 以降の測定Pointについては、0xE0001004の値を‘0’に変えて、②⑤⑥の繰り返し(④の再設定は不要)
過去の開発のヒントはこちら