« December 7, 2003 - December 13, 2003 | Main | December 21, 2003 - December 27, 2003 »

2003.12.19

CygwinでARM(GBA/Zaulus)のクロスコンパイル環境を作る

ARMのバイナリが作れるようにクロスコンパイル環境を作ることにしました。具体的にはbinutilsとgccのtargetがARMのものを作ります。Linuxマシンがお亡くなりになってしまったので、WindowsXP+Cygwinで作りました。
当初、configureしてmakeしてinstallという簡単なものだと思っていたのですが、gccは少々手順が必要で、newlibちぅものも必要そうだというのがわかりました。以下はいろいろ調べて試して、gccのコンパイルが成功したときの手順です。

1.ソースのダウンロード
 gccbinutilsnewlib
 ※ダウンロード先は~/armとした

2.ソースの展開
 cd ~/arm
 gzip -dc gcc-3.3.2.tar.gz | tar -xvf -
 gzip -dc binutils-2.14.tar.gz | tar -xvf -
 gzip -dc newlib-1.11.0.tar.gz | tar -xvf -

3.binutilsのビルド&インストール
 cd ~/arm
 mkdir BUILD
 cd BUILD
 mkdir binutils
 cd binutils
 ../../binutils-2.14/configure --with-included-gettext \
  --target=arm-elf --host=i686-pc-cygwin --build=i686-pc-cygwin \
  --prefix=/usr/local/arm
 make
 make install

4.ビルドしたarm-elfのbinutilsへのパスを通す
 export PATH=/usr/local/arm/bin:$PATH

5.gccのCコンパイラだけビルド&インストール
 cd ~/arm/BUILD
 mkdir gcc
 cd gcc
 ../../gcc-3.3.2/configure \
  --enable-languages=c,c++ \
  --with-included-gettext --enable-shared --enable-threads \
  --target=arm-elf --host=i686-pc-cygwin --build=i686-pc-cygwin \
  --with-newlib \
  --prefix=/usr/local/arm
 make LANGUAGES=c all-gcc
 make LANGUAGES=c install-gcc

6.newlibのビルド&インストール
 cd ~/arm/BUILD
 mkdir newlib
 cd nbewlib
 ../../newlib-1.11.0/configure \
  --target=arm-elf --host=i686-pc-cygwin --build=i686-pc-cygwin \
  --prefix=/usr/local/arm
 make
 make install
 
7.gccの残りをビルド&インストール
 cd ~/arm/BUILD/gcc
 make
 make install
 
8.シンボリックリンクの作成
 arm-elf-gccとかだと使いにくいので、gcc-armなどでシンボリックリンクを作る

これで一通りクロスコンパイル環境が整いました。
さて、これでザウルスやGBAをターゲットとしたソースをコンパイルして動くのかどうかは未確認。確認はまた今度。

| | Comments (1) | TrackBack (1)

SDメモリ問題その後

りなざうとPCの接続方法をUSBストレージからPC連携(samba)に変更してしばらく使ってみたところ、SDメモリに書き込めないという問題は発生しなくなった。やっぱりUSBストレージ方式が悪いのかなぁ。というわけで、可能な限りPC連携で使うようにしました。

| | Comments (2) | TrackBack (0)

2003.12.17

りなざうのメモリを空ける

リナザウのコンソールでps auxとかps -efとやかると、結構いろんなものが常駐というか動いているのがわかります。あまり頻繁に使わないアドレス帳(携帯のほうが便利)などが動きっぱなしなわけで、これをできれば止めてメモリを空けておきたいな~と思って、ちょっと調べてみたところ、メニューでアイコンを長押しすると[アプリケーションを高速起動する]というのがありました。しかもご丁寧に[(メモリーを消費します)]と書いてありました。なので、ほとんどのアイコンを長押しして、この[アプリケーションを高速起動する]というチェックボックスをOFFにしてしまいました。計測してなかったので詳しい数値は不明ですが、使用>空きだったのが使用<空きになったので、それなりに効果はあったかと思います。swap作る前におためしあれ。といいつつ私はswap使ってません(単に面倒なだけ)。

| | Comments (0) | TrackBack (0)

2003.12.16

Tera Term以外のターミナルを試す (Guevara)

ココログスタッフルームを眺めていたら、愛用ソフトふたつという記事があった。ふたつのソフトというのは、ターミナルエミュレータとウェブブラウザのことなのだが、現在はそれぞれTera Term ProTera Term MenuSleipnirを使っている。
この記事でターミナルエミュレータとしてTerminal Emulator Guevaraが紹介されていて、どうもタブが使えるのが特徴らしい。Tera TermでもTera Term Window Changerを使うことで擬似的にタブ化することができ、これを一時期使っていたのだが、結構ウザイと思う場面が多かったので、結局使わなくなってしまった(タブ切り替えはAlt+Tabになってしまう)。なのでタブが使えるというのに興味を引かれ、試しに使ってみることにした。
確かにタブ化された画面は非常に使いやすい。しかし、.NET Frameworkが必要であるというのが最大の欠点だ。顧客のPCにはソフトを勝手にインストールすることができないことが多いため、USBメモリにTera Term Proを入れて使うことが多いのだが、Guevaraではその手が使えない。多少のインストールには目をつむってもらえるかもしれないが、.NET Frameworkは無理だろう。
気になる点はあるが致命的なものではないので、しばらく使ってみてTera Term Proとどちらを常用するか決めようと思う。

| | Comments (1) | TrackBack (0)

CVSの設置

とあるプロジェクトでのできごとだが、100名を超す開発者でソース約2000本のシステムを作っているらしい。お約束のごとく火を噴きプロジェクトはボウボウ燃えて迷走してるわけですが、いろいろと話を聞くとソースの管理をしていないらしい!彼ら曰く、ソースを変更したらメールであちこちに送っているそうな。よってどれが最新でどの不具合が直ってなんてことはまったくわからない、ついでにいうなら障害状況もよくわかってない状況で、ある意味終わっているプロジェクトだそうです。
だからといってプロジェクトをほっぽり投げるわけにもいかないため、突然お手伝いにいって、とりあえずCVSをなんとか使えるように設置してあげました。
やったことは

1.CVSインストール
  実はCVS自体はインストールされていましたので、CVSROOTの設定だけしました
2.pserver設定
  /etc/services
   cvspserver 2401/tcp # CVS Server
  /etc/inetd.conf
   cvspserver stream tcp nowait root /usr/local/bin/cvs cvs -f --allow-root=/var/cvsroot --allow-root
=/var/REG-CVS/G-TRIAL pserver
3.ユーザ設定
  $CVSROOT/CVSROOT/passwd
   cvsadmin:******:cvsadmin
   …
4.ログインスクリプトの変更
  cvs loginを行うシェルを作り、.cshrcから呼び出す
5.commitメールの送信設定
  CVSROOT/loginfoでシェルを呼び出す設定を追加

CVS入門サポートページがかなり役に立ちました。

| | Comments (0) | TrackBack (0)

トラブったココログ

なんか最近トラブル続いてますね、ココログ。昨日はメモっておきたかった事項が多かったのでちょっとショック。これから思い出しながら書くとしますか。
今回はデータベースふ不具合だったみたいですけど、DB系は復旧が大変なんですよね~。一番重要なバックアップ・リカバリ手順書っつーのは作るのが面倒な割には日の目を見ることがないことが多く、カットオーバーまで時間がないと見落とされてしまうような代物なのですが、イザっちうときに無いと困ってしまうんですよ。しかしバックアップ・リカバリの重要性なんて、エライ人にはワカランのですよ。やったところで利益がでるわけじゃないからねぇ。予算がないシステムでは真っ先に削られるのはバックアップ・リカバリ系ですし。
んで、仕事柄、こういうことがあるとシステム構成図とかを見てみたいと思ってしまうわけです。こういった事例はできるだけ多く見た方が勉強になるしね。日経システム構築とかに載らないかなぁ~。
余談ではありますが、阪神大震災のときには2時間でリカバリしちゃったシステムがあったとか…数少ないディザスタリカバリソリューションが役に立った場面ではありますな。

| | Comments (0) | TrackBack (0)

« December 7, 2003 - December 13, 2003 | Main | December 21, 2003 - December 27, 2003 »