RL78/G10でのCS+の注意事項

RL78/G10は内蔵メモリの容量が小さいので、CS+を通常通りに使用するとすぐにメモリが不足してビルドでエラーが発生します。 そこで、実際には使用されない、オンチップデバッグ領域を開放することで、使用可能なメモリ領域を大きくします。 ここに掲載するRL78/G10のサンプルプログラムはすべて、この設定でビルドしています。
Anonymous
  • チョコです。

    ここに掲載しているプロジェクトでは,そのままで再度コード生成しても,

    できるだけ同じ結果になるようにしています。

    無駄なコードが生成されるのは承知していますが,それを削除して

    きっちりにしてしてしまうと,何か変更したとたんに「メモリ不足で,

    配置できない」となってしまいます。

    どうしてもという場合には,コード生成を初期化だけにして,必要な

    処理はプログラムを記述するようにします。

    具体的には,シリアルを使用する場合には,コード生成は初期化だけに

    とどめます。

  • R_TAU0_Channel0_Stop() もでした。

    .symファイルを見てみると

    R_TAU0_Channel0_Stop() 15バイト

    R_INTC1_Start() 7バイト

    R_INTC1_Stop() 7バイト

    LED_off() 31バイト

    とRL78/G10のROM容量には小さくはないサイズのようです。

    CA78K0Rに参照されないオブジェクトはリンクしない機能があれば一番いいのですけどね。

  • コード生成された関数もすべてが使用されるわけではなく、CA78K0Rは使用されない関数もプロジェクトにあるものはすべてリンクする仕様らしいので、場合によっては生成された関数を削除するアドバイスもあっても良い気がします。

    「メリークリスマス~」の例では R_INTC1_Start() と R_INTC1_Stop() がコード生成されて使用されていない関数であり、あとついでに LED_off() も使用されていないようです。