ソフトウェアリセット(?)動作

お世話になっております。entakeと申します。初歩的な内容かもしれませんが、もしお判りの方がいましたら教えていただけると助かります。

 

使用MCU:H8/36079Fなど

SCI3をUART通信として使用し電文解析させているのですが、"RESET"を受信した際に

PowerON_Reset(); をCallして再起動のような動作をさせています。(引き継いだソースがそうなっていた)

この時、通常のパワーオンリセットで初期化される各種機能レジスタは初期化されるでしょうか?

また、なぜ関数Callでリセットできるのでしょう?? (スタックがおかしくなりそうなものですが)

/*****************************************************************************/
#pragma section ResetPRG
/*****************************************************************************/
__entry(vect=0) VD PowerON_Reset(VD)
{
 set_imask_ccr((UC)1);
 _INITSCT();
 main();
 sleep();
}

Parents
  • こんにちは

    実際のプログラムがどうなっているのかは測りかねますがコンパイラのマニュアルによると
    「PowerON_Reset(); をCallして再起動」するのではなく、パワーオンリセットが起こった時にでレジスタの初期設定をPowerON_Resetで行うようにプログラミングするということのようです。

    www.renesas.com/.../rjj10j2552_r0c40008xsw07rum.pdf
    コンパイラパッケージVer.7.00 ユーザーズマニュアル
    「9.2.2 実行環境の設定」抜粋
    ・ベクタテーブル (VEC_TBL)
    パワーオンリセットでレジスタの初
    ・初期設定 (PowerON_Reset)
    レジスタの初期設定を行ったあと、初期設定ルーチンを順次呼び出します。
Reply
  • こんにちは

    実際のプログラムがどうなっているのかは測りかねますがコンパイラのマニュアルによると
    「PowerON_Reset(); をCallして再起動」するのではなく、パワーオンリセットが起こった時にでレジスタの初期設定をPowerON_Resetで行うようにプログラミングするということのようです。

    www.renesas.com/.../rjj10j2552_r0c40008xsw07rum.pdf
    コンパイラパッケージVer.7.00 ユーザーズマニュアル
    「9.2.2 実行環境の設定」抜粋
    ・ベクタテーブル (VEC_TBL)
    パワーオンリセットでレジスタの初
    ・初期設定 (PowerON_Reset)
    レジスタの初期設定を行ったあと、初期設定ルーチンを順次呼び出します。
Children
No Data