(toppers-users 4429) Re: TOPPERS/ASPのSkyeye簡易パッケージの質問

Naoki Saito nsaito.nmiri @ gmail.com
2015年 10月 9日 (金) 19:57:58 JST


尾崎様

あまり情報が整理できているわけではありませんが,
私もCodeSourcery以外のコンパイラを使ってSSPカーネルのビルドを試行したことがあります.
http://dev.toppers.jp/trac_user/contrib/wiki/ssp_arm_gcc

その際は Launchpad GCC を使用しました.
https://launchpad.net/gcc-arm-embedded

SSPの場合はASPのSkyeyeパッケージに含まれるファイルから CodeSourery 依存と思われる部分を省いて
コンパイルと最低限の実行確認に必要な追加を(半ば強引に)行っています.

_fini だと libc に含まれると思いますので -lc を追加すれば良いかと思いますが,
それだと -nostdlib と矛盾します.あと -lrdimon も追加した覚えがあります.

start のバッティングをどのように回避したかについては,失念してしまいました.
時間をいただければ回答できるとは思いますが..ごめんなさい.

参考になるかどうかわかりませんが,以上です.

----
斉藤 直希
名古屋市工業研究所

2015年10月9日 17:05  <ozaki.minoru @ jp.panasonic.com>:
> はじめまして、
> パナソニックAVCネットワークスの尾崎です。
>
>
> 現在、TOPPERS/ASPの評価のために開発環境を構築しています。
> 評価基板を使用せずに、PC上で開発・デバックまでを行うため、ARMシミュレータSkyeyeを使った、簡易パッケージを使用しています。
>
> このパッケージのARMコンパイラSourcery G++ Lite 2010q1-188は、開発元のcodesourcery社がメンタグラフィック社に買収されたために、現在、有料版でしか入手することができません。
> このために他のgcc系のフリーのARMコンパイラ2つのうちどちらかを使用しようとしていますが、未だmakeできていません。
> そこで以下の2つの質問があります。
>
> 1.「GNUWing」コンパイラ
> http://www.embedded.jp/gnuwing/
>
> makefileを修正して、コンパイルはできますが、リンクスクリプトがSourcery G++ Lite
> のために\asp\target\at91skyeye_gcc\at91skyeye.ldでパースエラーが発生します。
> 「GNUWing」でもmakeできるためのリンクスクリプトのサンプル等ははありませんか?
>
> 2.Sourcery G++系のgcc-arm-none-eabi
> gcc-arm-none-eabi-4_8-2014q3-20140805-win32.exe
>
> arm-none-eabiなのでリンクスクリプトもパースエラーにはなりませんが、start.oとcrt0.oでstartがバッティングするため
> makefileをライブラリを参照しないように変更しました。
> LDFLAGS := -nostdlib $(LDFLAGS)
> CFG1_OUT_LDFLAGS := -nostdlib $(CFG1_OUT_LDFLAGS)
> LIBS := $(LIBS) -lgcc
>
> その結果、fini()が見つからないエラーとなります。
>  undefined symbol `_fini' referenced in expression
>
> このコンパイラでもmakeできる設定方法はありませんか?
>
> 宜しくお願いします。
>
> ---------------------------------------------------------------------------------
> パナソニックAVCネットワークス(社)
> イノベーションセンター 技術総括 セキュアソリューション課
>  Name:  尾崎 実
>  E-mail: ozaki.minoru @ jp.panasonic.com
>  MEITS 7-911-6901 TEL:050-3380-2446 FAX:092-477-1301
> ----------------------------------------------------------------------------------
>