PQI Air Pen用にUbuntu 12.04でmipsのクロスコンパイル環境設定

2017年1月6日パソコン・インターネット,携帯・デジカメ

PQI Air Penにログインできる様になると、いろいろ遊べます。

時間が無いとか書いておきながら、ついつい遊んでしまいました。

ひとりぶろぐさんの記事の通りに、mipsのクロスコンパイラを、Ubuntu 12.04にインストールしました。ありがとうございます。

私の記事は、上記の記事の手順に従って、追試しただけになります。

手順としては、次の通りです。

  1. mipsクロスコンパイラのインストール
  2. ソースコードのコンパイル
  3. オブジェクトをmicroSDカードにコピー
  4. PQI Air Penにログインして実行

順を追って、説明します。

1. mipsクロスコンパイラのインストール

クロスコンパイラは、Mentor Grapicsのページからダウンロードできます。

このページを開いて、MIPS Processorsと言う項目の、Sourcery CodeBench Lite 2013.11-36からIA32 GNU/Linux Installerを選んでUbuntu 12.04にダウンロードします。

パスが変わっていなければ、次の方法でダウンロード、インストーラの起動までできるはずです。

$ wget https://sourcery.mentor.com/GNUToolchain/package12217/public/mips-linux-gnu/mips-2013.11-36-mips-linux-gnu.bin
$ chmod +x mips-2013.11-36-mips-linux-gnu.bin
$ ./mips-2013.11-36-mips-linux-gnu.bin
Extracting installer ...

すると、次の画面が開きます。

MIPS GCC Installer

後は、Nextを押し続け、最後にInstallを押せば、インストールが完了します。

そして、$HOME/.bashrcなどで、PATH変数に追加します。

$ cd
$ vi .bashrc
$ . .bashrc

.bashrcに書き込む内容は、次の通りです。

PATH=$HOME/MentorGraphics/Sourcery_CodeBench_Lite_for_MIPS_GNU_Linux/bin:$PATH

2. ソースコードのコンパイル

やはり、手始めは、"Hello, World!"でしょうか?

ソースコードは次の通りです。

#include <stdio.h>

int
main () {
  printf("Hello, world!\n");
  return 0;
}

コンパイルします。

$ mips-linux-gnu-gcc hello.c -o hello -g -O2 -Wall -pedantic -static -march=24kc
$ ls
hello  hello.c
$ file hello
hello: ELF 32-bit MSB executable, MIPS, MIPS32 rel2 version 1, statically linked, for GNU/Linux 2.6.16, with unknown capability 0x41000000 = 0xf676e75, with unknown capability 0x10000 = 0x70401, not stripped

3. オブジェクトをmicroSDカードにコピー

helloと言うプログラムを、microSDカードのルートディレクトリにコピーします。

コピーの仕方は、環境によっていろいろ違うと思います。ご自身の環境に合わせて、お試しください。

4. PQI Air Penにログインして実行

PQI Air Penにログインして、コピーしたプログラムを起動します。

% telnet 192.168.200.1
Trying 192.168.200.1...
Connected to 192.168.200.1.
Escape character is '^]'.
(none) login: root
Password: pqiap

BusyBox v1.01 (2013.01.03-08:27+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

~ # cd /tmp/www/ftp/sda1/
/tmp/www/ftp/sda1 # ls
Photo             dcim              hello             Music             Video
/tmp/www/ftp/sda1 # ./hello 
Hello, world!
/tmp/www/ftp/sda1 #

動きました!

[amazonjs asin="B00BNAST0O" locale="JP"]

Posted by お市のかた