イメージ 1

先日SparkFunから入手したARM9基板にはまってます。勉強用にと思って入手したのですが、今まで触っていたマイコンとは感覚が違い色々とはまってしまいました。

今まではマイコンが持つSPIやUARTなどの機能を直接制御していましたが、ARM9となるとLinuxを動かしてその上でユーザーのプログラムを動かします。もちろんSPIなどを直接制御することもできるのですが、そのような感覚ではないみたい。

とりあえず一通り調べてみようと格闘してみました。
まずは、もともと入っているLinuxを用いて動作確認。

RS232CコネクタをPCと接続して電源をいれます。Linuxの起動を確認できました。でもPC側のキー入力を受け付けていません。とりあえず、外部にシリアル変換をつけたらOKでした。起動すればフツーのLinuxです。

デフォルトはramdiskを使用しているのですが、メモリを使用してしまうので、SDCARDにLinuxを入れたい。。ということで、MMC対応のカーネルをコンパイル。RedbootでカーネルをFlashに書き込み、起動する。が、カーネルパニック。カーネルのバージョンを変えたり、コンパイラを変更したりしてもだめ。。。OlimexのCDにはいっていたカーネルしか動作しませんでした。

色々とためしてみるとOlimexのCDに入っていたカーネルコンパイル時のコンフィグに変更してみたら何とか動作しました。オプションの選択が悪かったようです。

LinuxのイメージはSDCARDにいれるのですが、フォーマットはEXT2かEXT3。Windowsしかないのでフォーマットできず。以前いれたVMWareではSDCARDが認識せず、フォーマットできず。途方に暮れてしまいました。でもVMWareではUSBを認識しているようなのでSDCARDをUSBに変換するコネクタを使用するとフォーマットできました。早速Linuxイメージを入れて、起動してみると動作しました。32Mしかないメモリのうち半分くらいをLinuxで使用していますが、残りはユーザープログラムで利用できます。

SDCARDが使用できるようになるまで大変でしたが、結構楽しいかも。とりあえず出来合いのLinuxが起動したので、これからドライバを作成してみようと思います。LCD用のドライバは大変そうなのでまずは、LEDチカチカ程度かな。