Renesas Synergy™

FAQ 1002758 : プログラム中でリセット処理の実行 (スタートアップ・ルーチンへのジャンプ) を行う方法を教えてください。

ウォッチドッグ・タイマの時間切れを使用するのが一番簡単な方法です。
これ以外にソフトウエアだけで処理する場合には、アセンブラでの記述となります。
なお、NMI機能があるマイコンのソフトウエア・リセットの場合は、NMI処理中にリセット・ベクタに分岐しても、ハードウエア・リセットと同じ状態には なりませんので、次の処理を最後に追加する必要があります。

MOV   PSW,#2  ;PSWの初期値
MOVW  AX,!0   ;リセット・ベクタ読み出し
PUSH  PSW     ;PSWをスタックにセット
PUSH  AX      ;リセット・ベクタをスタックにセット
RETI          ;リセット・ベクタへ分岐

なお、リセット時の初期値が定義されているレジスタについては、使用したものの初期値を事前にプログラムで設定しておく必要があります。

 

 

適用製品

78K ファミリ
他にご質問がございましたら、リクエストを送信してください