Keil Logo

wwatch

概要
void wwatch (
  unsigned long address);   /* address to watch */
説明

wwatch デバッガ関数は、指定アドレスが書き込まれるまでデバッガシグナル関数を遅延させます。この関数が遅延する間、ターゲットプログラムは実行を継続します。この関数は、外部ハードウェアをシミュレーションするシグナル関数を作成するときに便利です。

wwatch デバッガ関数は、ターゲットプログラムによってアドレスが実際に書き込まれた後に戻ります。これにより、シグナル関数は書き込まれた値を読み出し、必要に応じてメモリの内容を変更することができます。

  • アドレスが特殊機能レジスタ(SFR)またはペリフェラルレジスタを参照する場合、反復書き込みが発生することがあります。シグナル関数がこれを無視するようあらかじめ設定しておく必要があります。
  • wwatch デバッガ関数は、シグナル関数内部からのみ呼び出されます。wwatch 関数をシグナル関数外部から呼び出すことはできず、呼び出した場合、エラーメッセージが表示されます。
戻り値

なし。

関連項目

rwatch

signal void write_message (unsigned long adr) {
  float sec;
  unsigned char val;

  printf ("Track write accesses to address 0x%X\n", adr);

  while (1) {
    wwatch (adr);                        // wait for write access
    val = _RBYTE (adr);                  // read value
    sec = ((float) states) / clock;      // calculate time stamp
    printf ("Write 0x%X to 0x%X at %f Sec.\n", val, adr, sec);
  }
}

次の呼び出しは、上のシグナル関数を起動します。この関数は PORT1 にアクセスするたびに printf デバッガ関数を使用してメッセージを出力します。

> write_message (&PORT1);
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.