こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

組み込みLinuxのmakeについて

現在、組み込みlinuxの開発をいるのですが
今までWindowsアプリケーションしかやっていなかった為
勉強しながら作業をしております。

質問なのですが
クロス環境で実行ファイルを作成する場合、コンパイル・リンクオプションで
どの様な指定が必要なのでしょうか?
お手数をおかけしますが、アドバイスを頂けないでしょうか。

評価ボード :NTNP425B
(Intel IXP425)
開発マシンOS:RedHatLinux 9

------
私が指定したのは以下のオプションですが
これをターゲット上で実行すると「segmentation fault」が発生します。

arm-linux-gcc -t -I/usr/local/arm-linux/include -mcpu=xscale -mtune=xscale -mbig-endian -I/usr/local/arm-linux/include
-c sample.c
arm-linux-ld -EB -nostdlib -o sample sample.o
arm-linux-ld: warning: cannot find entry symbol _start; defaulting to 00008074


※至急回答がほしい為、マルチポストをしていますがお許し下さい。

投稿日時 - 2003-12-14 11:50:53

QNo.729869

すぐに回答ほしいです

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

axLinux搭載と書いてありましたが,
すでにROMでLinuxが提供されていて、実行ファイルをネットワーク経由でダウンロードして、
Linux上で実行するというような使い方ですか?
カーネルのコンパイル等はしないと。

だとすれば、通常のCライブラリ,スタートアップが使えるように思いますので,
ARM用にコンパイルされたライブラリをリンクすればいいように思います。
明示的に必要なライブラリ、オブジェクトをリンクするように指定してください。
なければ、自力でコンパイル、ライブラリ作成する必要がありますが。

ただ、こういう場合はSDKは必須と思ってます。
実際に可能かどうかはマニュアルを見ているわけでないので私にはわかりませんし,
該当製品も使ったことありませんのでなんとも言えませんが,
おそらくハードに依存しない必要な情報がSDKにしかないかも知れません。
カーネルのソースはついてるかも知れませんが,ドキュメント類は無いように思えます。
また、この方面の知識,経験が少ないようですから、
できるとしてもかなり困難な作業になるかも知れません。

私は組み込み系は経験少ないので,pSOS+が一度,vxWorksが二度だけですが、
OSと込みでBSP(ボードサポートパッケージ)が用意されていて,
そこにドライバやらマシンのスタートアップやらが一通り用意されてました。
場合によっては、ROMのブートコードやら、OS部をリコンパイルしましたし。

vxWorksの時はWindows上のgccでPowerPCのクロスコンパイルでしたが、
開発ツールまかせでしたので特に通常の設定は気にする必要はありませんでしたが。

投稿日時 - 2003-12-14 22:09:46

お礼

お礼が遅くなり申し訳ありません。

> また、この方面の知識,経験が少ないようですから、
>できるとしてもかなり困難な作業になるかも知れません。
色々な方法を試していますが、未だに解決できておりません。
やはりかなり困難な作業となっています。

もう少しやってみようと思います。
ご回答どうもありがとうございました。

投稿日時 - 2003-12-21 20:56:40

ANo.2

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

http://www.aec.co.jp/intel/hardware/d-tool.html
にある 2.Novatec社製IXP425リファレンスボード でしょうか?

NTNP425B-SDKは使っていないのでしょうか?
マニュアルなんなんりに載っているとか、
サンプルのMakefileがありそうに思いますが。

少なくても専用のスタートアップはリンクする必要があると思うので,
RedHat単体ならおそらく無理でしょう。

だいたい、リンクエラー(ワーニング)してますよね。

投稿日時 - 2003-12-14 12:24:48

お礼

早速のご回答ありがとうございました。

ご回答の通り、Novatec社製IXP425リファレンスボードを使用しております。
NTNP425B-SDKは購入しておりません。

マニュアルにはクロスコンパイル環境の構築までしか記載されていませんでした。

>サンプルのMakefileがありそうに思いますが。
サンプルのMakefileは無く、サンプルの実行モジュールのみでした。

専用のスタートアップとは、通常はボードに付属されるものでしょうか?

投稿日時 - 2003-12-14 12:50:34

あなたにオススメの質問