誕生日

祝!20歳!脱!未成年。そしてさらば少年A(何
そう、今日は私の誕生日。しかもかなり節目っぽい20歳の誕生日。
テンションはかなりおかしめの誕生日です。
特に何が変わったとかないですが、強いて言うならタバコと酒が解禁になったことかな?
タバコはやんないですが、酒はいいですね、ハイ。周りから何を言われようとも
私は酒を飲めるようになったのです!(ここらへん強調)
といっても酒には弱いですが・・・少しづつならのめるので、そこらへんよろしく。
さて、卒研でL-CARD+っていうマイコンボードで組み込みLinuxをすることにしたんですが、
このL-CARD+に積まれてるのがmips系のVR4181っていうCPUのため、x86上で開発するためには
クロスコンパイルしなけりゃなりません。組み込みってものはセルフコンパイル環境を
持ってないことが多い(というかない?)ため、ホストマシン上でコンパイルして
組み込み機器に転送する、という方法を取っています。そのホストマシン上でするコンパイルが
クロスコンパイル。つまり別のPC用のバイナリを吐き出すコンパイラを使ったコンパイルです。
普通のコンパイラはコンパイルするPCと実行するPCが同じため、そのPCの設定とかを読み込んで
コンパイルしたりできるんですが、クロスコンパイルの場合、実行するPC(この場合は組み込みLinux)
の設定や仕様をすべてコンパイラに与えてあげないと、動くバイナリを作ることができないのです。
う〜ん、困った。
しかし、LinuxというOS自体は一緒なので、簡単なCソースぐらいなら動くけど、一般にソースで配布されている
ソフトをコンパイルしようとするとエラーが出たり、きちんと動作しなかったりでなかなかの曲者です。
けど、そこがまた面白いところだったりするんですよ。PCにある程度なれると、問題が起きないと
逆に不安になってくるというか・・・

コメント