RL78/G13で、デュアルブート

RL78/G13と、CubeSuite+を使用して開発しています。

CPUのGPIOにスイッチを設けて、
スイッチ=OFFの場合はプログラムA、
スイッチ=ONの場合にはプログラムB
を、起動するようなやり方は可能なのでしょうか?

プログラムA、プログラムB双方ともRAMを大量に消費する
プログラムで、機能や動作内容が異なるため、
main処理後にプログラムA、プログラムBを選んで
動作をする余裕がありません。

コードサイズ自体はそれぞれ大きくないのでROMには
入りそうなのですが、RAMがどうにもなりません。

発想としては、リセット解除後に、
スイッチを読み込むプログラムが動作して、
その後、スイッチに従ったプログラムA又はBが動作する
ようなことがしたいのですが、
どのようにCubeSuiteで作成すればよいのかわかりません。

ご教授お願いします。
また、上記方法以外にも案がありましたらご提案お願いします。
Parents
  • ご意見いただき有難うございます。
    また、レスが遅れ申し訳ありません。

    プログラムを分ける方法と、unionの方法で検討してみます。

    出来ましたら、もう少し教えていただきたいのですが、

    プログラムを分ける方法については、
    CubeSuite+のコンパイラを使用する場合には、
    具体的にどのようにすればよいのでしょうか?
    3つ別々のプロジェクトを作成するような形になるのでしょうか?

    unionについてですが、グローバル変数の箇所だけ
    unionでA、Bと分けて書くという認識であっていますでしょうか?
    恥ずかしながら、unionをはじめて知ったもので・・・。
    何か注意点等あれば助言をいただけると助かります。

    よろしくお願いします。
Reply
  • ご意見いただき有難うございます。
    また、レスが遅れ申し訳ありません。

    プログラムを分ける方法と、unionの方法で検討してみます。

    出来ましたら、もう少し教えていただきたいのですが、

    プログラムを分ける方法については、
    CubeSuite+のコンパイラを使用する場合には、
    具体的にどのようにすればよいのでしょうか?
    3つ別々のプロジェクトを作成するような形になるのでしょうか?

    unionについてですが、グローバル変数の箇所だけ
    unionでA、Bと分けて書くという認識であっていますでしょうか?
    恥ずかしながら、unionをはじめて知ったもので・・・。
    何か注意点等あれば助言をいただけると助かります。

    よろしくお願いします。
Children
No Data