Armadillo-300でGPIO(CON9)のI/O速度の測定に使用した、サンプルドライバとサンプルアプリケーションの使用方法を説明します。 ここでは、~/a300_gpioを作業ディレクトリとします。
1. ソースコードの準備
サンプルドライバとサンプルアプリケーションのソースアーカイブを取得します。
以下のようにコマンドを入力して取得、展開してください。
[PC ~]$ mkdir a300_gpio
[PC ~]$ cd a300_gpio
[PC ~/a300_gpio]$ wget http://download.atmark-techno.com/misc/demos/a300-con9-howto/sample_gpio.tar.gz
[PC ~/a300_gpio]$ tar zxvf sample_gpio.tar.gz
2. カーネルのイメージファイルを作成
サンプルドライバを有効にする為に、デフォルトのGPIOドライバを外す必要があります。
ソースコードからデフォルトイメージを作成するを参照して、a300_gpioディレクトリへ、カーネル/ユーザーランドのイメージファイルの作成環境を構築し、カーネルのコンフィグレーションで、以下のように設定します。
※この時点でビルドを行う必要はありません。
< > Armadillo-3x0 GPIO device driver
<*> Armadillo-3x0 LED device driver
その後、以下のコマンドを入力して、カーネルのイメージファイルを作成します。
[PC ~/a300_gpio]$ cd atmark-dist-20061228
[PC ~/a300_gpio/atmark-dist-20061228]$ make dep all
3. サンプルドライバのビルド
お使いの環境に合わせて、Makefileを編集します。KERNELDIR変数に、カーネルソースファイルのトップディレクトリを指定します。
~/a300_gpio/sample_gpio/sample_driver/Makefile
KERNELDIR = ~/a300_gpio/linux-2.6.12.5-at2/
以下のコマンドを入力して、サンプルドライバをビルドします。
※事前にカーネルがビルドされている必要があります。
[PC ~/a300_gpio]$ cd sample_gpio
[PC ~/a300_gpio/sample_gpio]$ cd sample_driver
[PC ~/a300_gpio/sample_gpio/sample_driver]$ make
4. サンプルアプリケーションのビルド
以下のコマンドを入力して、サンプルアプリケーションをビルドします。
[PC ~/a300_gpio]$ cd sample_gpio
[PC ~/a300_gpio/sample_gpio]$ cd sample_app
[PC ~/a300_gpio/sample_gpio/sample_app]$ make
5. サンプルの実行
作成したカーネルのイメージファイルで、Armadillo-300のフラッシュメモリを書き変えた後に、作成したsample_gpio_driver.koとsample_gpio_appをFTPなどでArmadillo-300へ転送します。 FTPの使用方法は、こちらをごらんください。
以下のように、サンプルドライバを登録後、サンプルアプリケーションを実行します。
[armadillo /home/ftp/pub]$ insmod sample_gpio_driver.ko
[armadillo /home/ftp/pub]$ chmod a+x sample_gpio_app
[armadillo /home/ftp/pub]$ ./sample_gpio_app
実行すると、CON9の各GPIOポートがHIGH/LOWを繰り返します。