音声ファイル(.bin)を一緒にビルドしたい

stlと申します。

「音声ファイル(MIDIデータ)の再生をPWM機能を使って実現しようと試みています。

音声データを .bin ファイルに変換したものを、プログラムファイルと一緒にビルドする方法について教えていただけますか?

Parents Reply
  • お答えいただきありがとうございます。

    アセンブラを記述するための.Sファイルはどこにあるのでしょうか?

    また、リンカスクリプトというものに、ラベルを記述するのはどうすれば良いのでしょうか?

Children
  • > アセンブラを記述するための.Sファイルはどこにあるのでしょうか?
    なければファイルを作れば良いでしょう。
    最低限必要なのは .section 、 .incbin 、 .end だけです。

    (参考)How to Embed Binary Data in Program Code
    http://elm-chan.org/junk/32bit/binclude.html

    > また、リンカスクリプトというものに、ラベルを記述するのはどうすれば良いのでしょうか?
    GCCやGNUリンカについてはここで尋ねるより自分で調べた方が良いです。
    (参考) FAQ - GCC/LLVMプロジェクトでセクションの配置を定義する方法(リンカスクリプトの記述方法)
    https://ja-support.renesas.com/knowledgeBase/19549765

    もっと解り易いものが色々とあります。
    Everything You Never Wanted To Know About Linker Script
    https://mcyoung.xyz/2021/06/01/linker-script/
    The most thoroughly commented linker script (probably)
    https://blog.thea.codes/the-most-thoroughly-commented-linker-script/

    アセンブラを使わずリンカスクリプトに直接INCLUDE(ファイル名)で配置する方法は
    固定アドレスに配置する方法と相性が良いかもしれません。
    何が正解かはどういう使い方をしたいかによるので、色々見て検討してください。

  • > アセンブラを記述するための.Sファイルはどこにあるのでしょうか?
    なければファイルを作れば良いでしょう。
    最低限必要なのは .section 、 .incbin 、 .end だけです。

  • > また、リンカスクリプトというものに、ラベルを記述するのはどうすれば良いのでしょうか?
    GCCやGNUリンカについてはここで尋ねるより自分で調べた方が良いです。
    (参考) FAQ - GCC/LLVMプロジェクトでセクションの配置を定義する方法(リンカスクリプトの記述方法)
    https://ja-support.renesas.com/knowledgeBase/19549765

  • アセンブラファイルは、ユーザプログラムのあるsrcフォルダに作成しても良いのでしょうか?

    また、リンカスクリプトはfsp.idというファイルがあるのですが、この内容を変更するのでしょうか?

  • > アセンブラファイルは、ユーザプログラムのあるsrcフォルダに作成しても良いのでしょうか?
    はい。そこに置けばビルド対象になってくれると思います。

    > また、リンカスクリプトはfsp.idというファイルがあるのですが、この内容を変更するのでしょうか?
    そうですね。コンフィグレータで書き換えられてしまうかもしれないので適宜バックアップを取りながら進めてください。ちなみに拡張子は *.ld (小文字のL)です。