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です。

    あと、以下のアセンブラソースは、生成されたソースを書き換えるなどして、セクション名を変える必要がありそうに思います。そうした方がブートクラスタ0に配置し易いと思うのです。(試そうとしていたところで、これからです。)

    cstart.asm
    (stkinit.asm)
    (hdwinit.asm)

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

    あと、以下のアセンブラソースは、生成されたソースを書き換えるなどして、セクション名を変える必要がありそうに思います。そうした方がブートクラスタ0に配置し易いと思うのです。(試そうとしていたところで、これからです。)

    cstart.asm
    (stkinit.asm)
    (hdwinit.asm)

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

    cstart.asmとstkinit.asmは以下のようにしてブートクラスタ0に配置してみました。

    cstart.asm

    ;;;;;;;;.SECTION .text, TEXT
    .SECTION .text_BCL0, TEXT

     
    stkinit.asm

    ;;;;;;;;.textf    .CSEG    TEXTF
    .text_BCL0    .CSEG    TEXT




    *** Mapping List ***

    SECTION                            START      END         SIZE   ALIGN
    .vect
                                      00000000  0000007f        80   0
    .constf
                                      00000080  00000080         0   2
    .init_array
                                      00000080  00000080         0   2
    .data
                                      00000080  00000080         0   2
    .sdata
                                      00000080  00000080         0   2
    .option_byte
                                      000000c0  000000c3         4   1
    .security_id
                                      000000c4  000000cd         a   1
    .RLIB
                                      000000c4  000000c4         0   1
    .SLIB
                                      000000c4  000000c4         0   1
    .monitor1
                                      000000ce  000000d7         a   1
    .text_BCL0
                                      000000d8  0000018b        b4   1
    .const
                                      00004000  00004000         0   2
    .text
                                      00004000  00004089        8a   1
    .textf
                                      0000408a  00004179        f0   1
    .monitor2
                                      0000fe00  0000ffff       200   1
    .bss
                                      000fef00  000fef09         a   2
    .dataR
                                      000fef0a  000fef0a         0   2
    .sbss
                                      000ffe20  000ffe20         0   2
    .sdataR
                                      000ffe20  000ffe20         0   2