連載
» 2005年09月10日 00時00分 公開

組み込みLinux開発入門(2):シリアル接続による開発ボードの動作確認 (1/3)

アットマークテクノのArmadillo-9を通して、開発ボードの取り扱い方を解説。まずは、シリアル接続でターゲットのOSにアクセスする

[渡辺 武夫 イーエルティ,@IT MONOist]

Armadillo-9で学ぶ組み込み開発

 最初に、本連載の教材として利用するArmadillo-9について紹介しておきます。同製品はCPUにARM9を採用したシングルボードコンピュータで、LinuxをOSとして組み込んでいます。なお、Armadillo-9には、3つのモデルが存在します。本連載では、その中の「ケースモデル」(4万9500円)を前提に話を進めます。若干低価格な「開発モデル」(4万5000円)でも構いませんが、ACアダプタが含まれないなど、ケースモデルとは同梱品が若干異なるので注意してください。

写真1 Armadillo-9 ケースモデル

Armadillo-9のハードウェア構成

 Armadillo-9には、以下のデバイス/インターフェイスが実装されています。

CPU EP9315(ARM920T)
メモリ SDRAM 64Mbytes、FLASH ROM 8Mbytes、Internal ROM(後述) 16kbytes
イーサネット 10BASE-T/100BASE-TX
インターフェイス シリアル、USBホスト、IDE、CFスロット、PC/104、JTAGインターフェイス、VGA

 EP9315は、シリアル、イーサネット、IDE I/Fなど、さまざまな周辺機器が同梱されている多目的プロセッサです。また、CPUコアには、MMU(Memory Management Unit)が実装されています。MMUは、物理アドレスと論理アドレスの変換やメモリ保護を実現する機能です。Linuxは論理アドレス上で動作するので、MMU機能が必須となります()。

注:uCLinux(http://www.uclinux.org/)はMMUを必要としません。ただし、uCLinuxは対応CPUが限られているなどの制約もあります。

コラム 論理アドレス管理の利点
 MMUを用いて論理アドレス管理を行う利点は、「メモリのフラグメンテーションを無視できる」ことです。通常、MMUは物理メモリを一定のサイズ(通常は4kbytes、Alphaチップは8kbytes)でブロック管理しており、ブロックごとに任意に配置して連続したアドレス空間(論理アドレス)を実現することができます。

図1 MMUによるアドレス管理

プログラムの実行/終了に伴ってメモリが解放されますが、さまざまなプログラムが動作/終了する場合、メモリ空間にフラグメントが発生し、そのままでは必要な連続メモリ量の確保が困難になります。MMUが介在することにより、メモリがブロック単位で再配置され、連続したメモリを確保できるようになります。

 詳細なハードウェア構成(ブロック図)が、Armadilloの公式サイトに掲載されています。前述したARM9(ARM920T)を用いたCPU(EP9315)を中心に、さまざまな周辺デバイスが実装されていのるが分かります。

写真2 ケースを開けた状態

 標準で組み込みLinuxが実装されていることも併せて、組み込みLinuxの技術習得に最適な機材の1つといえるでしょう。

関連リンク:
Armadillo-9のブロック図
http://armadillo.atmark-techno.com/armadillo-9/info/block_diagram

ケースモデルの同梱品

 ここで、Armadillo-9のパッケージに含まれるものを確認しておきます。前述したとおり、本連載ではケースモデルを前提としているため、開発モデルや量産用モデルとは同梱品が若干異なります。

写真3 本体および同梱品

  • 本体
  • 電源(ACアダプタ)
  • シリアルケーブル(9ピン←→9ピン)
  • シリアル変換ケーブル(9ピン←→専用コネクタ)
  • CD-ROM

 今回CD-ROMは使いませんが、このCD-ROMには、

  • Armadillo-9マニュアル
  • Armadillo-9用組み込みLinuxカーネルソース
  • クロスコンパイラ
  • 構築済み各種バイナリ(カーネルイメージ、RAMディスクイメージ、追加Linuxコマンドなど)
  • ユーティリティ(FLASH ROM書き換え用ツール、そのほか)

などが収録されています。

Armadillo-9で何ができるのか

 では、Armadillo-9を使用することでどのようなことができるのかを考えてみましょう。豊富なインターフェイスに接続する周辺機器を自作することまで含めてしまうと、あらゆることが実現できてしまいそうです。そこで取りあえず、Armadillo-9単体でもできそうなことに限定してみましょう。

  • Webサーバ
    イーサネットとIDEコネクタ(もしくはCF)があるので、コンパクトなWebサーバに仕立ててみるというのはどうでしょうか。

  • シリアル変換ボックス
    近年のノートPCなどは、シリアルインターフェイスが搭載されていません。そのため、シリアル接続の機器を使うにはUSB←→シリアル変換機が必要になります。その代替機器として用いることもできるでしょう。

  • Xターミナル
    VGA出力が可能なので、サーバマシンに対するフロントエンドマシンとして使用するのも手だと思います。

 ざっと考えただけでもこれだけの用途が出てきました。公式サイトでは、IP電話化する方法も掲載されています。

関連リンク:
IP電話のHowTo
http://armadillo.atmark-techno.com/armadillo-9/howto/debian/VoIP

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.