ここ最近ひたすらクロスコンパイラの準備に励んでいた理由の1つに、Imagination Technologies の Creator CI20 が手元に届いたから、というのがありました。そしてようやくですが Linaro の環境を真似して、 Creator CI20 用の環境を準備してみました。うまく動かない部分もあるかもしれませんが、ひとまずは下記に示すように Windows 環境での開発が出来そうなところまで到達出来たと思います。
eclipseの基本的な設定は、Jetson TK1のときと同様の手順で行ってあります。1点違うのは今回は .gdbinit ファイルを作成したことです。この gdbinit ファイルの中では、 CI20 から取り出した include, lib らなどの場所、いわゆるsysrootの設定が記載してあります。
set sysroot D:\Linaro\mipsel-unknown-linux-gnu\mipsel-unknown-linux-gnu\sysroot_ci20
これらのビルド済みツールチェインを以下の場所で公開してみます。また使用しているCI20用のsysrootらについてもこのツールチェインの中に含めてみました。
eclipse らで使用する際には、このsysrootを指すように gdbinit を設定してください。
Download for MIPS Creator CI20 Toolchains(Pre-Built)
Download (ci20_mipsel-unknown-linug-gnu_mingw32.tar.xz)
上記の場所にファイルをおいてあります。
新ファイルイメージ公開が公開されたため、クロスコンパイラの作り直しを行いました。こちらのほうをご参照ください「クロスコンパイラ (MIPSCreatorCI20 / Jetson TK1)」
不具合とかあっても対処できませんので、利用は自己責任でお願いします。
蛇足的メモ
結局 crosstool-ng の中でカナディアンクロスでコンパイラを作成しました。これでもクロスの gdb 作成過程で expat のライブラリが見つからないとかでエラーになる始末で、最終的にはあきらめました。結果、MinGW の環境で gdb だけはクロスターゲットのものを make して同梱する形にしました。強引な感じで心配ですが、とりあえず動いているようなので様子見です。
カナディアンクロスの際には単に build, host, target を指定するだけでは終わらず、ビルドホストからhost, target の両クロスコンパイラがまずは必要になるようです。そのため linux -> mips, linux -> mingw32 といったツールチェイン&コンパイラを作成してから作業しました。今回の場合では linux -> mingw32 のクロスコンパイラを基盤に使用していくことになったので、これもまた crosstool-ng にて生成させることにしました。
外部ツールに頼ってしまっていますが、ようやくやりたいことが実現したので満足です。より詳細な内容は今回の手順の中身を追っていけば把握できるでしょうし、そのうちこの中身を手作業で追いかけてみたいなとは思います。
コメント