(toppers-users 4106) Re: atk2-sc1がWindows8 64bitでmakeに失敗しました。
Shinya Honda
honda @ ertl.jp
2013年 6月 21日 (金) 10:44:19 JST
こいさん
本田です.
ATK2のskyeye依存部は,ASPカーネルのskyeye依存部を踏襲して開発しています.
どちらも gcov によるカバレッジ取得を実現するため, CodeSourcery の提供す
る標準関数機能を使用しています.
gcovや標準関数が必要ないなら,下記に示されたコードを変更して
CodeSourcery 以外のgccに対応することは原理的には可能かと思います.
CodeSourcery's low-level board support libraryのソースコードの入手性は分
かりません.
以上,よろしくお願いします.
(2013/06/21 9:33), koizumi yoshiyuki wrote:
> 自己レスです。
>
> cs3***は CodeSourcery's low-level board support library の事らしい。
> 開発担当は「Skyeyeのシミュレータ上での実行に伴い、CodeSourcery社のライブ
> ラリを使用することにした」と思われる。しかし、このことにatk2の
> at91skyeye_gccの中では触れられていように見えています(cs3は
> at91skyeye.ld、start.S、target_config.c以外見つからなかった。)。
> CodeSourcery's low-level board support libraryのソースは入手可能なので
> しょうか。
> 私の調査(含む憶測)に誤りが有るのであれば連絡ください。
> この記述の失礼があればお許しくださるようお願いします。
>
> 以上
>
>
> 2013年6月20日 19:18 koizumi yoshiyuki <koizumiyoshiyuki @ gmail.com
> <mailto:koizumiyoshiyuki @ gmail.com>>:
>
> 名古屋大学 鴫原さま
>
> こいさんです。
> CodeSourceryのインストール法のTTありがとうございます。おかげさま
> で、atk2-sc1は無事動作しました。
>
>
> 別件です。(以前からの疑問)
> Skyeye対応のat91skyeye_gccのBuildツールは、CodeSourcery ARMツール
> に依存しているのでしょうか。リンカスクリプトがincludeしているarm-
> names.incはLaunchpadのGCCではサポートされないのでしょうか。
> arm-names.incはGCC標準の機能で、Launchpadは標準に準拠していないと
> ゆうのは変な気がしています。
> どう解釈すればよいのか、ご存じの方居られませんでしょうか。
>
> 以上
>
>
> 2013年6月20日 15:14 鴫原一人 <shigihara @ nces.is.nagoya-u.ac.jp
> <mailto:shigihara @ nces.is.nagoya-u.ac.jp>>:
>
> こいさん
>
> お世話になっております.
> 名古屋大学 鴫原です.
>
>
> Windows8(64bit)でもCodeSourceryのインストールは可能です.
>
> GUIのインストーラを使用すると,UIエラーとなるので,コマンド
> プロンプトからコンソールモードでインストールする必要があります.
>
> こちらでは,arm-2011.03-42-arm-none-eabi.exeを使っていますが,
> 以下のコマンドでインストールできます.
> > arm-2011.03-42-arm-none-eabi.exe -i console
>
> なお,上記の場合,CygwinのPATHにインストールしたフォルダが
> 登録されないことがあるようですので,その場合は手動で登録
> してください.
>
> 上記のコンパイラにより,Windows8(64bit)でATK2-SC1を
> ビルドできることを確認しております.
>
>
> 以上,よろしくお願いします.
>
> (2013/06/20 (木) 15:08), koizumi yoshiyuki wrote:
> > こいさんです。
> >
> > atk2-sc1がWindows8 64bitでmakeが上手くいきません。
> > LaunchpadのGCCを使用しています。 gcc-arm-none-eabi-
> > 4_7-2013q1-20130313-win32.exe 尚、CodeSourceryはインストール
> できなかっ
> > たので断念しました。Launchpadでasp_stbee_gcc-20120310はmakeで
> きていま
> > す。Vista 32bitでatk2-sc1をmakeしてWindows8のSkyeyeで動作して
> います。
> >
> > make dependのエラー情報
> >
> > 実行log---------------
> >
> > C:\devel\TOPPERS\ATK2\atk2-sc1-1.0.1\atk2-sc1\OBJ>make depend
> >
> > if ! [ -f Makefile.depend ]; then \
> >
> > rm -f Os_Lcfg.timestamp Os_Lcfg.c Os_Lcfg.h Os_Cfg.h ; \
> >
> > rm -f cfg1_out.c cfg1_out.o cfg1_out.exe cfg1_out.syms
> cfg1_out.srec; \
> >
> > rm -f offset.h; \
> >
> > fi
> >
> > rm -f Makefile.depend
> >
> > ../cfg/cfg/cfg --pass 1 --kernel atk2_no_osap -I.
> -I../include -I../arch
> > -I.. -
> >
> > I../target/at91skyeye_gcc -I../arch/arm_gcc/common -I../arch/gcc
> > --api-table ../
> >
> > kernel/kernel_api.csv --cfg1-def-table ../kernel/kernel_def.csv
> > --cfg1-def-tab
> >
> > le ../target/at91skyeye_gcc/target_def.csv --cfg1-def-table
> > ../arch/arm_gcc/comm
> >
> > on/core_def.csv sample1.cfg
> >
> > arm-none-eabi-gcc -c -mcpu=arm7tdmi -mlittle-endian -g -Wall
> > -Wno-unused-label
> >
> > -Wpointer-arith -O2 -I. -I../include -I../arch -I..
> -I../target/at91skyeye_g
> >
> > cc -I../arch/arm_gcc/common -I../arch/gcc -DALLFUNC
> -I../kernel cfg1_out.c
> >
> > arm-none-eabi-gcc -mcpu=arm7tdmi -mlittle-endian -g -Wall
> > -Wno-unused-label -W
> >
> > pointer-arith -O2 -I. -I../include -I../arch -I..
> -I../target/at91skyeye_gcc
> >
> > -I../arch/arm_gcc/common -I../arch/gcc -mcpu=arm7tdmi -N
> -mlittle-endian
> > -T .
> >
> > ./target/at91skyeye_gcc/at91skyeye.ld -o cfg1_out.exe \
> >
> > cfg1_out.o
> >
> > c:/program files (x86)/gnu tools arm embedded/4.7
> > 2013q1/bin/../lib/gcc/arm-none
> >
> > -eabi/4.7.3/../../../../arm-none-eabi/bin/ld.exe: cannot open
> linker
> > script file
> >
> > arm-names.inc: No such file or directory
> >
> > collect2.exe: error: ld returned 1 exit status
> >
> > Makefile:335: recipe for target `Os_Lcfg.timestamp' failed
> >
> > make: *** [Os_Lcfg.timestamp] Error 1
> >
> >
> >
> > C:\devel\TOPPERS\ATK2\atk2-sc1-1.0.1\atk2-sc1\OBJ>
> >
> > --------------------
> >
> > *arm-names.inc**なしと叱られる。*
> >
> > Vista 32bitマシンのC:\Program Files\CodeSourcery\Sourcery G++
> > Lite\arm-none-eabi\libから*arm-names.inc**を**OBJ**にコピーし
> て再実行。*
> >
> > 実行log---------------
> >
> > C:\devel\TOPPERS\ATK2\atk2-sc1-1.0.1\atk2-sc1\OBJ>make
> >
> > arm-none-eabi-gcc -mcpu=arm7tdmi -mlittle-endian -g -Wall
> > -Wno-unused-label -W
> >
> > pointer-arith -O2 -I. -I../include -I../arch -I..
> -I../target/at91skyeye_gcc
> >
> > -I../arch/arm_gcc/common -I../arch/gcc -mcpu=arm7tdmi -N
> -mlittle-endian
> > -T .
> >
> > ./target/at91skyeye_gcc/at91skyeye.ld -o cfg1_out.exe \
> >
> > cfg1_out.o
> >
> > c:/program files (x86)/gnu tools arm embedded/4.7
> > 2013q1/bin/../lib/gcc/arm-none
> >
> > -eabi/4.7.3/../../../../arm-none-eabi/lib/crt0.o: In function
> `start':
> >
> > (.text+0x0): multiple definition of `start'
> >
> >
> start.o:C:\devel\TOPPERS\ATK2\atk2-sc1-1.0.1\atk2-sc1\OBJ/../target/at91skyeye_g
> >
> > cc/start.S:68: first defined here
> >
> > c:/program files (x86)/gnu tools arm embedded/4.7
> > 2013q1/bin/../lib/gcc/arm-none
> >
> > -eabi/4.7.3/../../../../arm-none-eabi/bin/ld.exe: cannot find
> -lcs3
> >
> > c:/program files (x86)/gnu tools arm embedded/4.7
> > 2013q1/bin/../lib/gcc/arm-none
> >
> > -eabi/4.7.3/../../../../arm-none-eabi/bin/ld.exe: cannot find
> -lcs3hosted
> >
> > c:/program files (x86)/gnu tools arm embedded/4.7
> > 2013q1/bin/../lib/gcc/arm-none
> >
> > -eabi/4.7.3/../../../../arm-none-eabi/bin/ld.exe: cannot find
> -lcs3arm
> >
> > collect2.exe: error: ld returned 1 exit status
> >
> > Makefile:335: recipe for target `Os_Lcfg.timestamp' failed
> >
> > make: *** [Os_Lcfg.timestamp] Error 1
> >
> >
> >
> > C:\devel\TOPPERS\ATK2\atk2-sc1-1.0.1\atk2-sc1\OBJ>
> >
> > --------------------
> >
> > *今度はstart**が複数と叱られる*。crt0がリンクされている。
> at91skyeye.ldの
> > STARTUP(start.o)が効いていない? 何が起きているのかよくわか
> りません。
> >
> > Windows8 64bitではARM GCCは何を使うのがよいでしょうか。
> >
> > よろしくお願いします。
> >
> >
> > 以上
> >
> >
> >
> >
>
>
>