えっ、シリアルポートがない!! ターゲットボードとの接続:−ザ・組み込み−ソフトウェアのハードウェア化(2)(1/3 ページ)
ターゲットボードへのプログラムの書き込み。専門書はCOMポートについて触れているけど……。初心者がハマるワナ!?
前回「Windowsを傷付けずにUSBからLinuxをブートせよ!」では、組み込み開発ボード(ターゲットボード)の開発環境を構築するためのLinuxマシン(ホストPC)の準備を行いました。しかも、手元のWindowsマシンを傷付けることなく、USBのハードディスクからLinuxを起動する方法を紹介しました。
本連載ではLinuxのディストリビューションとして「Vine Linux」を選択しましたが、「Fedora」や「Ubuntu」などほかのディストリビューションでもUSBブートが可能ですので、興味のある方はぜひ試してみてください(注1)。
それでは、開発環境を構築するマシンの準備が整いましたので、今回は「ザ・組み込み(本連載のことです)」で使用する組み込み開発ボードの選定から始めたいと思います。
なお、以降の解説では前回準備したUSBブートのLinux環境を起動しているという前提で話を進めていきます。
関連リンク: | |
---|---|
⇒ | Linux Square − @IT |
組み込み開発ボードの選定
世の中には実にさまざまな組み込み開発ボードがあります。今回、何を買ってよいのか分からないという組み込み初心者の方はもちろんのこと、お小遣いの範囲内で何とか賄いたいという方のために、比較的入手しやすく、安価で情報量の多い組み込み開発ボードを選択することにします。
多種多様な組み込み開発ボードの中から「ザ・組み込み」の題材として筆者がオススメするのは、通常のマイコンとしても使用でき、かつOSとして「uClinux」も載せることが可能な秋月電子通商の「AKI−H8/3069FフラッシュマイコンLANボード(以下、AKI−H8/3069F)」です。価格もリーズナブルですので本連載にうってつけの選択肢だと思います(というわけで、本連載ではAKI−H8/3069Fを題材に話を進めていくことにします)。ちなみに、このボードに関連する書籍やWebサイトが数多くある点も採用理由の1つです。
AKI−H8/3069Fには、LEDやLCDを操れるようにマザーボードが付属しています。AKI−H8/3069Fマイコンボード自体は完成品ですが、マザーボードの方は組み立てる必要があります。幸い、マザーボードの組み立て方については、上記関連リンクで挙げた書籍「はじめる組込みLinux H8マイコン×uClinuxで学べるマイコン開発の面白さ」(ソフトバンク クリエイティブ)に掲載されていますので、マザーボードを組み立てる際は、そちらを参考にしてください(書籍では、“ベースボードの組み立て”として紹介されています)(注2)。
ケーブルの準備
当然のことですが、AKI−H8/3069Fにはキーボードやマウス、ディスプレイを接続するコネクタなどは付いていません。また、AKI−H8/3069F(組み込み開発ボード)とホストPCとの接続は多くの場合、シリアルポートを経由してつなぐことになります。
しかしながら、今回使用するホストPC(KOHJINSHA SA5SX12A)にはシリアルポートがありません……。
「じゃあ、どうしたらいいんだよ! KOHJINSHAのノートPCでOKだっていったろ!」と怒らないでください。人生(?)なんとかなるものです。
試しに愛用の検索エンジンで、「USB シリアル 変換」というキーワードを検索してみてください。数多くのUSB−シリアル変換ケーブルやモジュールが見つかるはずです。これらを使えば、USBポートしか持たないノートPCでもAKI−H8/3069Fと接続できそうです。
というわけで、今回筆者は「USB−シリアル変換ケーブル」の助けを借りることにしました。読者の皆さんも下記の関連リンクなどを参考にして好きなものを用意してください(本連載では秋月電子通商のケーブルを使用して解説します)。
また、AKI−H8/3069FにはLANが搭載されています。LANポートを使えば、ホストPCと組み込み開発ボードをネットワークで結ぶことができますので、クロスのLANケーブルも入手しておくとよいでしょう(電気量販店などで購入できます)。
動作確認の概要と準備
ケーブルなどの準備が整い、AKI−H8/3069Fのマザーボードのはんだ付けが終了したら、LEDとLCDのテストを行ってみましょう!
まず、ホストPCにrootでログインしてブラウザを開き、以下の2つのファイル「led_test.mot」と「lcd_test.mot」を任意のディレクトリ(この例ではホームディレクトリの下の「3069F」とします)にダウンロードしてください。
- テスト1/LEDの点滅:「led_test.mot」(→ダウンロードはこちら)
- テスト2/LCDの表示:「lcd_test.mot」(→ダウンロードはこちら)
本連載はホストPC、しかもソフトウェア的にもかなり深い部分をいじったりすることになりますので、基本的にrootで作業します。「rootでログインするのはちょっと……」という方は一般ユーザーでログインし、必要に応じて別のシェルを開き、
$ su -
として、rootに変身してから作業してください。
それでは、ホストPCでシェルを開き、以下のようにコマンドを入力して、ダウンロードしたファイルのあるディレクトリまで移動してください。
# cd ~/3069F
ダウンロードした2つのファイル(led_test.motとlcd_test.mot)をAKI−H8/3069Fに書き込むわけですが、その前にAKI−H8/3069F上にあるSW1を図1のように設定し、「書き込みモード」にします。
図1のように設定できたら、ホストPCとAKI−H8/3069Fを図2のように接続します。
続いて、LEDとLCDのテストを行うためにダウンロードした2つのファイル(led_test.motとlcd_test.mot)をAKI−H8/3069Fに書き込みます。以下のリンクからH8書き込みソフト「h8write.c」をダウンロードしてください。
- H8書き込みソフト:「h8write.c」(→ダウンロードはこちら)
以降では、h8write.cを、LEDとLCDのテストを行うためにダウンロードした2つのファイル(led_test.motとlcd_test.mot)と同じディレクトリ(~/3069F)にダウンロードしたものとして説明していきます。
まず、ダウンロードしたソースファイルh8write.cを以下のようにコンパイルしてください。
# gcc h8write.c -o h8write
コンパイルの結果、カレントディレクトリに「h8write」という実行ファイルが生成されていればOKです。続いて、以下を参考にして、コマンドパスが通っている/usr/local/binにh8writeをコピーしてください。
# cp h8write /usr/local/bin
コピーできましたか? 念のため、きちんとコマンドパスが通っているかどうかを以下のコマンドで確認してみましょう。
# which h8write
いかがでしょうか。上記コマンドの結果が、
/usr/local/bin/h8write
と出力されていればOKです。
Copyright © ITmedia, Inc. All Rights Reserved.