June 02, 2004H8でもC++以前行列のライブラリをC++で作成したのですが、それをH8用に移植したい。ということでH8でC++を使えるようにしてみました。ターゲットは秋月の3069F(増設RAM 2M)です。
C++での開発環境は以前に作成しました。あとは、Cで使用していたリンカスクリプトを少々変更し、h8300-elf-g++でlibstdc++.aを組み込むようにすればOKでした。 今回のソース等はここにおいておきます。 細かい話になりますが、リンカスクリプトの修正のこつというかなんというかを。修正にあたって参考にした資料は3つほどあります。 まずは、標準のリンカスクリプト(-Tオプションがないときに利用されるリンカスクリプト)です。GCCのコンパイラを作成すると、標準のリンカスクリプトが例えば/usr/local/h8300-elf/lib/ldscripts/の中に生成されますので、これが参考になりました。 $ gcc target.c -S -o target.S
とかすると、アセンブラに翻訳された結果がでてくるので、それの.sectionという部分をみると実際にどのようなセクションが生成されるのがわかります。 最後はmapファイルで-Map (出力ファイル名)とすると、どセクションがどの領域がわりあてられたのか、ファイルに書き出されます。 以上3つの資料を眺めれば、どのセクションをどの位置に配置すればよいか、なんとかなると思います。 コメント
コメントする
|
スポンサード リンク
|