CS+ for CCでのセクション割り当ての方法

猫又です、宜しくおねがいします。

古くなってきたCA78K0RからCCRLへの移植を検討しております。
その中で、セクションの割り当てがよくわからず困っております。

具体的にやりたいことは、たとえば64kBのF13マイコンを使うとして
CS+ for CCで以下のようにセクション配置をする方法をご教示いただけませんか?

  1. BCL0領域(0x0000-0x1FFF)の長さ0x2000バイトに、
    スタートアップとリプロ機能とコードフラッシュライブラリを配置する
  2. BCL1領域(0x2000-0x3FFF)は未使用とする。
  3. ユーザコードを0x4000-0xFBFFに配置する。
  4. FC00-FFFFはデバッグモニタ用とする。

CS+のリンクオプションのセクション(-STARt)を設定すると予想しているのですが、
恥ずかしながらアプリケーションノート等を読んでも使い方がわかりませんでした。

ご教示何卒宜しくお願い致します。

Parents
  • 猫又さん、こんにちは。NoMaYと申します。

    ちなみに、どのアプリケーションノートを参照されましたか?それを知りたいです。

    そして、そもそもセクション設定のことだけでは済みませんので、ファームウェアアップデートのアプリケーションノートを見ることになると思います。URLについては、過去、以下のスレッドにまとめたことがあります。ですが、ちょっと古いです。記憶では、最近のトピックスとしては、RL78/G23等の世代向けに暗号化対応のアプリケーションノートが公開されていたように思います。

    フラッシュ書き換えについて
    community-ja.renesas.com/cafe_rene/forums-groups/tools/f/forum21/5700/thread


     

Reply
  • 猫又さん、こんにちは。NoMaYと申します。

    ちなみに、どのアプリケーションノートを参照されましたか?それを知りたいです。

    そして、そもそもセクション設定のことだけでは済みませんので、ファームウェアアップデートのアプリケーションノートを見ることになると思います。URLについては、過去、以下のスレッドにまとめたことがあります。ですが、ちょっと古いです。記憶では、最近のトピックスとしては、RL78/G23等の世代向けに暗号化対応のアプリケーションノートが公開されていたように思います。

    フラッシュ書き換えについて
    community-ja.renesas.com/cafe_rene/forums-groups/tools/f/forum21/5700/thread


     

Children
  • 猫又さん、こんにちは。NoMaYです。

    すみません、リンク切れ、とか、検索機能の仕様変更?、とか、まともにURLを辿れませんね。調べ直してみます。

  • NoMaYさん< ありがとうございます。返信が遅れてもうしわけありません。

    CA78K0R(以下CCCA)ではブートスワップを使ってアップデート機能を実装しているので
    それと同じことをCCRLでやりたいと考えています。

    また、分割ではなく、1つのプログラムでBCL0領域にアップデート機能をセクション指定で配置して
    BCL0以外をブロック消去してもプログラムは動作するようにしたいと考えています。

    CCCAの場合は、DRファイルで
    MEMORY BCL0:(0H,2000H)
    MEMORY ROM:(4000H,BC00H)
    として領域を切り、あとはセクションを
    MERGE SAM_CODE :=BCL0
    などのようにして割り当てた上で、プログラムコード上で
    #pragma section @@CODEL SAM_CODE
    として上手くいっていたのですが、

    CCRLでセクションをCS+で4000h,APLとしてから
    #pragma section text APL
    void application(void){...}としても、
    この関数は4000h番地以降に配置されずBCL0に配置されました。
    (MAPファイルも観ましたし、実際にデバッガでロードしてメモリ上で配置されないことを確認しています)

    このとき、ビルドのログに
    W0561100:Cannot find ".BCL0" specified in option "start"
    のように定義したセクションを使っていないというワーニングが出ています。


    色々資料をご紹介下さりありがとうございました。
    読んだことのない資料も多いので確認してみます。