e2 studioでの指定セクションへのファイル追加方法

こんにちは。

e2 studio V6.2.0を用いて、Synergyの開発をしています。

バイナリファイルのデータを指定したセクションに配置したいと考えているのですが、

設定方法が分からず困っています。

検索してもRXのものばかりで、GCC ARMのものは見つからず・・・・・・。

ご存知の方はいらっしゃらないでしょうか。

  • わわいです
    GCCの場合のセクション配置、メモリ配置はリンカスクリプト、というもので設定します
    #簡単な配置だけなら、リンカのオプションだけで可能ですが
    リンカの設定のところに、リンカスクリプトファイルの設定があると思います

    そこらへん調べてみてください。その上で不明な所があれば、聞いてくださればお答えします
  • わわいさん
    ありがとうございます。
    セクションの設定は何とかできているつもりです。
    その上で、RXであればリンカの設定から「-binary="ファイル"(セクション)」のように
    設定している部分を、リンカの[Other Objects]に入れてみても違うようなので
    どうすれば良いか悩んでいます。
  • わわいです
    GCCでも、簡単なセクション配置であれば、リンカのオプションで設定できます。
    が、おっしゃるようなバイナリファイルを配置する、とか言うことになると、リンカのオプションだけでは対応できません。

    そこで、それを可能とするために、リンカスクリプトを書く必要があります
  • わわいさん
    ありがとうございます。
    なかなか理解が追いつかず、申し訳ないです。

    たとえば、「.セクション」に「ファイル.bin」を置く場合、

    (1)e2 studio上のオプションで「ファイル.bin」を追加するよう設定する
     (質問前は、セクション指定もe2 studio上でできるかな?とも思っていました)
    (2)リンカスクリプトで「.セクション」の設定・配置

    と思い、(1)の段階で躓いていましたが、そもそも、

    ・すべてをリンカスクリプトで設定する

    ということだったのでしょうか。
    そうであれば、前提からして間違っていたのですね。
    もし解釈が違いましたら、どこからリンカスクリプトで対応すべきなのか、
    またスクリプト以前の設定の方法を教えていただけるとうれしいです。
  • わわいです
    >・すべてをリンカスクリプトで設定する
    そういうことです。
    リンカスクリプト、でぐぐってみましょう。いろいろ解説が出てくると思います
  • わわいさん
    ありがとうございます。
    調べてみます。
  • wbrtさん
    ほやです。

    わわいさんのおっしゃるようにリンカスクリプトに INCLUDE( ファイル名 )を書いてもできるらしいですが、
    アセンブラソースに疑似命令でバイナリデータを配置することもできます。

    私にはこちらの方が解り易かったです。Synergyではないですが、下記のような記述でmydata.bin の内容がロードモジュールに入りました。

    御参考まで。

  • インラインアセンブラを使用してご相談内容のようなことを行ったことがあります。

    https://japan.renesasrulz.com/gr_user_forum_japanese/f/gr-kurumi/640/gr-kurumi-web/9694#9694

    RL78 なので ARM とは細部が異なりますが GNU as では似たようなことはできるのでは。

  • わわいです
    えー、そんな便利なキーワードが、と思ったらARMコンパイラではサポートされてなさそーですね。ちぇっ

    #INCBINならいけるんかなー、、

  • わわいさん

    armasmにも incbin はあるらしいです。
    (ただし'.'(ドット)がつかない)

    (FAQ) How do I use INCBIN to merge multiple binary images?
    http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka16368.html