掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板2

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.29770

vxWorks環境構築について
投稿者---C言語開発者(2007/02/14 11:48:06)


申し訳ありませんが、vxWorksの環境構築に詳しい方、教えてください。
(C言語限定ではないかもしれませんが、お許しください。)

現在、Tornado2.0、vxWorks5.4の環境から
Tornad02.2、vxWorks5.5へのバージョンアップの途中です。
PROJECT構築は行っていません。

開発環境がCPU=CPU32でTOOL=gnuなので、
Tornado2.0の環境下ではライブラリとして
\InstallFolder\target\lib\
・libCPU32gnuvx.a
上記のアーカイブをLINKしていました。

今回のTornado2.2ではマイグレーションガイドを読む限り
\InstallFolder\target\lib\68k\CPU32\gnu\
・libcplus.a
・libgnucplus.a
・libvxcom.a
\InstallFolder\target\lib\68k\CPU32\common\
・libarch.a
・libcommoncc.a
・libdrv.a
・libgcc.a
・libnet.a
・libos.a
・librpc.a
・libwdb.a
・libwind.a
・libwindview.a
上記の13のアーカイブに分かれているようです。
そこで、上記の全てをLINKしてみたところ、
"ffsMsb"、"dllRemove"等がLINKエラーとなります。
「undefined reference to 'ffsMsb'」等

windriverに問い合わせたところ、libarch.aなどに含まれている関数なので、
LINKできるはずとの答えが返ってきました。
(PROJECT構築での環境でしか行っていないとの注意はありましたが)
nm68kコマンドで調査した結果も含まれているようでした。
(libarch.aにて、
 nm68k libarch.a | find "ffsMsb"を実行したところ、
 00000000 T _ffsMsb
 と表示される。)

コンパイル、リンク時に以下の表示が出るので、LINKはしようとしている感じがしています。
/*****************************************************************************************/
cc68k: file path prefix `C:\Tornado2.2\host\x86-win32\lib\gcc-lib' never used
ld68k -X -N -X -r \
-o ctmp.o usrConfig.o \
sysALib.o sysLib.o mbgInit.o mbgLib.o cnfLib.o cpmTimer.o rttTimer.o flashLib.o sysSer
ial.o m68360Sio.o rtcDrv.o mbgTaskConfig.o netdumy.o if_qu.o moretask.o vtinit.o vtlogin.o
vtsh.o vttask.o vt_help.o vt_set.o vt_show.o authPeer.o telnetd.o ftpdLib.o itoa.o taskUt
il.o vt_confirm.o vt_error.o vt_input.o vt_morebufutil.o vt_sigif.o vt_string.o vt_taskuti
l.o vt_tblif.o vtLoginHook.o vtStartupHook.o vt_confirm_tbl.o vt_err_tbl.o dummy.o getVend
orType.o HostName.o vtLineUtil.o split_token.o str_lib.o vt_vxshif.o vtCheckStack.o vtPing
.o vtVersion.o vtHVersion.o vtMacAdr.o vtDefRoute.o vtIptermEther.o vtIpSubmaskEther.o vtF
tpd.o vtPasswd.o vtReboot.o vtDate.o vtSaveConfig.o vtMemDump.o vtMemEdit.o vtMemFill.o vt
autoon.o vtautooff.o vtMemShow.o vtTaskKill.o vtRouteShow.o vtLStatLog.o vtPrgcp.o common.
o vtFlashAreaErase.o vtFlashErase.o vtFlashReset.o vtFlashSecErase.o vtFlashWrite.o vtTest
.o version.o mbgVersion.o C:\Tornado2.2\target\lib\68K\CPU32\gnu\libcplus.a C:\Tornado2.
2\target\lib\68K\CPU32\gnu\libgnucplus.a C:\Tornado2.2\target\lib\68K\CPU32\gnu\libvxcom.a
C:\Tornado2.2\target\lib\68K\CPU32\common\libarch.a C:\Tornado2.2\target\lib\68K\CPU32\co
mmon\libcommoncc.a C:\Tornado2.2\target\lib\68K\CPU32\common\libdrv.a C:\Tornado2.2\target
\lib\68K\CPU32\common\libgcc.a C:\Tornado2.2\target\lib\68K\CPU32\common\libnet.a C:\Torna
do2.2\target\lib\68K\CPU32\common\libos.a C:\Tornado2.2\target\lib\68K\CPU32\common\librpc
.a C:\Tornado2.2\target\lib\68K\CPU32\common\libwdb.a C:\Tornado2.2\target\lib\68K\CPU32\c
ommon\libwind.a C:\Tornado2.2\target\lib\68K\CPU32\common\libwindview.a
/*****************************************************************************************/

なぜ、LINK出来ないのか、全くわかりません。
どなたか、ご存知の方がいらっしゃれば、ヒントだけでもよろしくお願いします。


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:vxWorks環境構築について 29771 かずま 2007/02/14 13:17:44


No.29771

Re:vxWorks環境構築について
投稿者---かずま(2007/02/14 13:17:44)


C:\Tornado2.2\target\lib\68K\CPU32\common\libarch.a を
ld68kコマンドの引数の最後の方に指定するとよいのでは?


この投稿にコメントする

削除パスワード

No.29772

Re:vxWorks環境構築について
投稿者---C言語開発者(2007/02/14 13:52:52)


ご指摘の通りに、変えてみたところ、違う関数がLINKエラーになりました。
順番とかが関係しそうですね。何かご存知ですか?

もうちょっと調査してみます。

本当にありがとうございました。m(_ _)m


この投稿にコメントする

削除パスワード

No.29773

Re:vxWorks環境構築について
投稿者---jazz(2007/02/14 14:01:59)


>ld68k -X -N -X -r \
>-o ctmp.o usrConfig.o \
>sysALib.o sysLib.o mbgInit.o mbgLib.o cnfLib.o cpmTimer.o rttTimer.oflashLib.o sysSer

1行目と2行目の最後にある'\'は継続を表わすマークですか?
だとすると、3行目はそれらしきマークが見当たりませんので、
リンカーが認識できる1行の長さの制限(そういうものがあるとして)を
超えてしまっている、などということはありませんか?





この投稿にコメントする

削除パスワード

No.29774

Re:vxWorks環境構築について
投稿者---C言語開発者(2007/02/14 14:14:32)


ご指摘、ありがとうございます。

リンカの認識できる行の長さについては、私も初めに疑い、
targetのフォルダに全てのアーカイブを持ってきて短くして
コンパイル、リンクしてみましたが、全く同じ状況でした。

リンカとしては最後まで認識していると思います。
3行目については、Tornadoでの表示の長さが足りないだけです。
ややこしくてすいません。


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧