電源起動の高速化

お世話になっております。entakeと申します。

R8C/1Bシリーズで、
電源ONからメイン処理が動き出すまでの時間を最速で行いたい場合、どのような方法が考えられますでしょうか?

FAQを探っていて、「スタートアップファイル(ncrt0.a30)ではRAMの初期化も行っています。リセット解除後のCPUクロックは低速オンチップオシレータの8分周のため、RAMの初期化に数十ms程度かかる場合があります。」という記述を見つけたので、RAMの初期化をメインクロックに切り替えた後に行うようにすれば良いのでは、等と考えていますが、そんなことは可能なのでしょうか??
他に何かアイデアなどありましたら是非お願い致します。

XINには、TCXO20MHzを接続し、メインクロック切り替え時の発振安定待ち時間を無くすことで、ある程度は早く動くようになりましたが、さらに高速起動を目指しています。
Parents
  • >Kirinさま

    再度コメントありがとうございます。
    ご指示いただいたコード部分全体の実行時間を計ってみると、47msでした。これが無くなればかなり高速化になりますが、動作への影響が読めないために、とりあえず見送ります。
    せっかくテストポート出力を入れたので、リセット解除から20MHzに切り替えた場合と、通常の場合(低速オンチップオシレータ×8分周)とで、速度を比較してみました。
    動作クロックの違いから、1280倍は早くなる計算ですが、実際に1175倍(RAM初期化時間=0.04ms)まで高速化できていました。40usでRAM初期化ができれば十分ですので、このまま運用したいと思っています。
    それにしても、リセット解除直後からSP設定よりも先に外部クロックに切り替えるなんてことをして、何かMCUの動作に悪影響がなければ良いのですが。。
Reply
  • >Kirinさま

    再度コメントありがとうございます。
    ご指示いただいたコード部分全体の実行時間を計ってみると、47msでした。これが無くなればかなり高速化になりますが、動作への影響が読めないために、とりあえず見送ります。
    せっかくテストポート出力を入れたので、リセット解除から20MHzに切り替えた場合と、通常の場合(低速オンチップオシレータ×8分周)とで、速度を比較してみました。
    動作クロックの違いから、1280倍は早くなる計算ですが、実際に1175倍(RAM初期化時間=0.04ms)まで高速化できていました。40usでRAM初期化ができれば十分ですので、このまま運用したいと思っています。
    それにしても、リセット解除直後からSP設定よりも先に外部クロックに切り替えるなんてことをして、何かMCUの動作に悪影響がなければ良いのですが。。
Children
No Data