NXTOSEK拡張ファーム作成方法のご教示

このQ&Aのポイント
  • NXTOSEKの拡張ファームの作成方法を教えてください。コンパイルエラーが発生しています。
  • http://lejos-osek.sourceforge.net/jp/installation_enf.htmの手順に従っていますが、コンパイルエラーが発生しています。
  • Cygwinのバージョン1.7.17およびGNU Make 3.81を使用しています。エラーメッセージには、ハードウェアFPとソフトウェアFPの不一致が原因のようです。拡張ファームウェアの作成方法を教示してください。
回答を見る
  • ベストアンサー

NXTOSEKの拡張ファーム作成方法を教えて下さい

NXTOSEKのhelloworldがコンパイルできません。 下記サイトの手順どおりにやっていますが、コンパイルエラーになります。 http://lejos-osek.sourceforge.net/jp/installation_enf.htm Cygwinのバージョン 1.7.17 GNU Make 3.81 エラー内容 $ make all Compiling ../../ecrobot/../toppers_osek/kernel/alarm.c to alarm.o Compiling ../../ecrobot/../toppers_osek/kernel/event.c to event.o Compiling ../../ecrobot/../toppers_osek/kernel/interrupt.c to interrupt.o … Assembling ../../ecrobot/../toppers_osek/config/at91sam7s-gnu/irq.s to irq.oram /cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/bin/l d: ERROR: build/nxtvm/platform/nxt/vectors.o uses hardware FP, whereas helloworl d_OSEK_rom.elf uses software FP /cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/bin/l d: failed to merge target specific data of file build/nxtvm/platform/nxt/vectors .o /cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/bin/l d: ERROR: build/nxt_binary_header.o uses hardware FP, whereas helloworld_OSEK_ro m.elf uses software FP /cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/bin/l d: failed to merge target specific data of file build/nxt_binary_header.o /cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/bin/l d: ERROR: build/nxt_entry_point.o uses hardware FP, whereas helloworld_OSEK_rom. elf uses software FP /cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/bin/l d: failed to merge target specific data of file build/nxt_entry_point.o /cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/bin/l d: ERROR: build/ecrobot_init.o uses hardware FP, whereas helloworld_OSEK_rom.elf uses software FP /cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/bin/l d: failed to merge target specific data of file build/ecrobot_init.o /cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/bin/l d: ERROR: ../../ecrobot/../ecrobot/libecrobot.a(ecrobot_device_hook.o) uses hard ware FP, whereas helloworld_OSEK_rom.elf uses software FP /cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/bin/l d: failed to merge target specific data of file ../../ecrobot/../ecrobot/libecro bot.a(ecrobot_device_hook.o) /cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/bin/l d: ERROR: ../../ecrobot/../ecrobot/libecrobot.a(ecrobot_interface.o) uses hardwa re FP, whereas … /cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-elf/bin/l d: failed to merge target specific data of file build/nxtvm/platform/nxt/vectors .o collect2: ld returned 1 exit status make: *** [helloworld_OSEK_rom.elf] エラー 1 エラーにならず、拡張ファームウェア作成方法のご教示宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kuu23
  • ベストアンサー率100% (1/1)
回答No.1
teketeke72
質問者

お礼

ありがとうございました。 無事コンパイルができました。 別のサイトからインストールしてたのですが、ファイル名が同じでも違うものだったみたいです…

関連するQ&A

  • GCCコンパイラ作成時にmemory.hも作成する方法

    GCCコンパイラ作成時にmemory.hも作成する方法 TOPPERS/JSPのコンフィグレーションツールを ビルドしたく、ビルド実績のあると耳にした GCC3.4.4をCygwin上に作成しました。 GCC3.4.4は以下の3つから作成しました。 ・binutils-2.16.tar.bz2 ・gcc-3.4.4.tar.bz2 ・newlib-1.14.0.tar.gz GCC3.4.4の作成手順は、Web上に掲載されている手順を 参考にして、以下の通り実施しました。 ■binutilsのインストール $ tar zxvf ./binutils-2.16.tar.gz $ cd binutils-2.16 $ ./configure --target=i686-elf --prefix=/cygdrive/c/cygwin/usr/local/gnu $ make $ make install ■gccのインストール $ tar xvjf ./gcc-3.4.4.tar.bz2 $ tar zxvf ./newlib-1.14.0.tar.gz $ export PATH=$PATH:cygdrive/c/cygwin/usr/local/gnu/bin/ $ cd gcc-3.4.4 $ ./configure --target=i686-elf --prefix=/cygdrive/c/cygwin/usr/local/gnu --with-newlib --with-headers=/cygdrive/c/cgywin/usr/local/src/gnu/newlib-1.14.0/newlib/libc/include/ --disable-bootstrap --enable-languages="c,c++" $ make $ make install しかしながら上記の手順で作成すると、コンパイラ作成時に memory.hが作成されません。 そのため、コンフィグレーションツールのビルドが成功しません。 そこで、教えていただきたいのですが、 そもそもGCC3.4.4のコンパイラを作成する際にmemory.hも一緒に作成し、 GCC3.4.4のg++がインクルードする設定にできるのでしょうか? できる場合は、作成に必要な手順を是非とも教えてください。

  • newlibのmakeについて

    gcc4.4.0、h8300-elfのビルドをしています。 gccまではエラーが出てもなんとかできたのですが、newlibをmakeする段階で以下のエラーが出て解決方法がわかりません。 h8300-elf-gcc -B/home/user/build/gcc-4.4.0_h8300-elf/newlib-1.17.0/build/h8300-elf/newlib/ -isystem /home/user/build/gcc-4.4.0_h8300-elf/newlib-1.17.0/build/h8300-elf/newlib/targ-include -isystem /home/user/build/gcc-4.4.0_h8300-elf/newlib-1.17.0/newlib/libc/include -DPACKAGE_NAME=\"newlib\" -DPACKAGE_TARNAME=\"newlib\" -DPACKAGE_VERSION=\"1.17.0\" -DPACKAGE_STRING=\"newlib\ 1.17.0\" -DPACKAGE_BUGREPORT=\"\" -I. -I../../../../../newlib/libc/argz -O2 -DSMALL_DTOA -DSMALL_MEMORY -fno-builtin -g -O2 -c -o lib_a-dummy.o `test -f 'dummy.c' || echo '../../../../../newlib/libc/argz/'`dummy.c /bin/bash: h8300-elf-gcc: command not found make[5]: *** [lib_a-dummy.o] エラー 127 h8300-elf-gccのコマンドが見つかりませんと出ているようなのですが、 h8300-elf-ccではなくgccとなっていますし、gccにもパスが通っているのは確認できています。 gccからもう一度インストールし直したんですが、変わらず同じところでエラーが出てしまいどうしたらいいのか分かりません。 よろしくお願いします。

  • cygwinでmakeが見つからない

    nxtOSEKのC言語プログラミングをするためにココ( http://lejos-osek.sourceforge.net/jp/index.htm )を見ながらWindows Vistaにcygwinをインストールしました。 しかしサンプルプログラムをビルドしようとしたところ下記のように【Command not found】が出て上手く動きません… ------------------------------------------------------------------------- $cd C:/Work/Tool/cygwin/nxtOSEK/samples_c/helloworld $make all Compiling ../../ecrobot/../toppers_osek/kernel/alarm.c to alarm.o make: C:Wrok/Tool/cygwin/GNUARM/bin/arm-elf-gcc: Command not found make: *** [build/kernel/alarm.o]Error127 ------------------------------------------------------------------------- ココ( http://qanda.rakuten.ne.jp/qa5482053.html )に似たような質問を見つけ対応をしてみましたが解決できませんでした。 私はこういった開発環境について知識がほぼ0です。知識が無いため調べ方すら解らないくて困り果てています… どうかよろしくお願いいたします。

  • makeでのエラー

    makeをした際に、 /usr/local/lib/gcc-lib/h8300-elf/3.3/../../../../h8300-elf/bin/ld.real:skipping incompatible /usr/local/lib/gcc-lib/h8300-elf/3.3/libgcc.a when searching for libgcc.a /usr/local/lib/gcc-lib/h8300-elf/3.3/../../../../h8300-elf/bin/ld.real: cannot find libgcc.a collect2: ld returned 1 exit status make: ***[basic1] Error 1 と表示されるのですが、このエラーとはどういう意味なのでしょうか? わかる方教えてください。お願いします。

  • cygwinでOpenGLのコンパイルができない

    cygwinでOpenGLのコンパイルをしようとしているのですが出来ません。 gcc -o3 -lglut32 -lglu32 -lopengl32 sample.c と入力すると /usr/lib/gcc/x86_64-pc-cygwin/4.8.1/../../../../x86_64-pc-cygwin/bin/ld: -lglut32 が見つかりません collect2: エラー: ld はステータス 1 で終了しました と表示されます。 cygwinのパッケージはすべてインストールしたので足りないものはないと思います。 何が問題なのでしょう。 ご存知の方は回答をよろしくお願致します。

  • Cygwinを使っています。ATLAS3.9.24のソースをダウンロー

    Cygwinを使っています。ATLAS3.9.24のソースをダウンロードしたのですが、コンフィグレーションがうまくいきません。 $ ../configure -t 4 -m 2261 -b 64 -D c -DWALL --prefix=/usr/atlas -Ss flapack /tmp/lapack-3.2.1/SRC -Si nocygwin 0 --cc=gcc-4 -C acg gcc-4 -C ic gcc-4 -C xc gcc-4 -C dk gcc-4 -C dm gcc-4 -C if gfortran-4 make: `xconfig' is up to date. ./xconfig -d s /cygdrive/c/cygwin//tmp/ATLAS3.9.24/B2/../ -d b /cygdrive/c/cygwin//tmp/ATLAS3.9.24/B2 -t 4 -m 2261 -b 64 -D c -DWALL -Si nocygwin 0 -C acg gcc-4 -C ic gcc-4 -C xc gcc-4 -C dk gcc-4 -C dm gcc-4 -C if gfortran-4 OS configured as WinNT (8) Assembly configured as GAS_x8632 (1) Vector ISA Extension configured as SSE3 (2,28) ERROR: enum fam=3, chip=2, mach=0 make[3]: *** [atlas_run] Error 44 make[2]: *** [IRunArchInfo_x86] Error 2 Architecture configured as UNKNOWNx86 (23) Parallel make command configured as '$(MAKE)' ERROR: enum fam=3, chip=2, mach=0 make[3]: *** [atlas_run] Error 44 make[2]: *** [IRunArchInfo_x86] Error 2 Cannot detect CPU throttling. rm -f config1.out make atlas_run atldir=/cygdrive/c/cygwin//tmp/ATLAS3.9.24/B2 exe=xprobe_comp args="-v 0 -o atlconf.txt -O 8 -A 23 -Si nof77 0 -C ic 'gcc-4' -C sm 'gcc-4' -C dm 'gcc-4' -C sk 'gcc-4' -C dk 'gcc-4' -C xc 'gcc-4' -C if 'gfortran-4' -b 64" \ redir=config1.out make[1]: Entering directory `/tmp/ATLAS3.9.24/B2' cd /cygdrive/c/cygwin//tmp/ATLAS3.9.24/B2 ; ./xprobe_comp -v 0 -o atlconf.txt -O 8 -A 23 -Si nof77 0 -C ic 'gcc-4' -C sm 'gcc-4' -C dm 'gcc-4' -C sk 'gcc-4' -C dk 'gcc-4' -C xc 'gcc-4' -C if 'gfortran-4' -b 64 > config1.out /cygdrive/c/cygwin//tmp/ATLAS3.9.24/B2/..//CONFIG/src/backend/comptestC.c:1: sorry, unimplemented: 64-bit mode not compiled in make[2]: *** [IRunCComp] Error 1 Unable to find usable compiler for ICC; abortingMake sure compilers are in your path, and specify good compilers to configure (see INSTALL.txt or 'configure --help' for details)make[1]: *** [atlas_run] Error 1 (字数の都合で以下略) gcc-4は入っているのになにがいけないのでしょうか。 よろしくお願いします。

  • Cygwin(gcc) lexライブラリ

    WindowsXPにCygwinのすべての項目をInstallにしてインストールして bison -d abc.y flex abc.l と実行し、 abc.tab.c , abc.tab.h , lex.yy.c ができた状態で gcc abc.tab.c -ll とした時 /user/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: cannot find -ll collect2: ld returned 1 exit status とメッセージが表示されコンパイルできないでのですが gccには標準lexライブラリが無いのでしょうか? それとも別のことが原因なのでしょうか? このエラーの回避法、もしくは別のソフトなどでこれと同様のことができるなら教えてください。

  • cygwinで-mno-cygwinオプションの有無によって動作の変わる原因について

    こんにちは、shigre2005と申します。 私は普段UNIX上でC言語のプログラムを書いているのですが、わけあってWindows上で動くようにする必要が出てきました。そのプログラムをそのままcygwinでコンパイルしたところコンパイルでき、実行ファイルも問題なく実行できたのですが、このままですとcygwin1.dllが必要になってしまいます。 上記のような質問を前回した際に、gccに-mno-cygwinオプションをつければよいと教えていただき、そのときはうまく行ったのですが、今回はなぜかうまく行きません。オプションをつけないときは普通に実行できるのですが、つけると、リンクの段階で以下のようなエラーが出てしまいます。 /usr/lib/gcc-lib/i686-pc-mingw32/3.3.3/../../../../i686-pc-mingw32/bin/ld: crtbe gin.o: No such file: No such file or directory make: *** [all] Error 1 makefileを使っていて、GTKを使用しています。-mno-cygwin以外のコンパイルオプションは以下のものをつけています。 (.c→.o) -Wall -DGTK_DISABLE_DEPRECATED -mms-bitfields `/usr/bin/pkg-config --cflags gtk+-win32-2.0` (.o→.exe) -Wl,--subsystem,windows `/usr/bin/pkg-config --libs gtk+-win32-2.0` -mno-cygwinは(.o→.exe)の方につけています。 gccのバージョンは、4ではうまく動かなかったので、3.3.3を使っています。 どうぞよろしくお願いします。

  • gcc -print-file-nameオプション

    Linuxの初心者です。 VMwareで動作するFedoraCoreで組込ソフトを開発しようとしています。 arm-linux-gcc -print-file-name=crt1.o を実行すると crt1.o とファイル名だけ表示されます。 書籍等では /usr/lib/crt1.o と絶対パスで表示されると書かれているのですが -print-file-name でパスが表示されないのは何か設定不足があるのでしょうか? こちらで行ったのはprofile.dにarm-linux-gccのbinとusr/binにパスを設定するファイルをおいただけです。 超初歩的なミスなのかもしれませんが、知恵を貸して頂けると幸いです。

  • cygwin gccでのコンパイル

    cygwinをインストールをallでインストールし、gccでコンパイルを行おうとしたところ /usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/../../../../i686-pc-cygwin/bin/ld: cannot find -luser32 collect2: ld returned 1 exit status と表示され、コンパイル出来ません。 なにが原因でしょうか。 以上、宜しくお願い致します。

専門家に質問してみよう