この文書では,Programmable XBeeへプログラムをダウンロードする方法について説明しています.前提条件としてCodeWarrior Development Studio for Microcontrollers v10.2およびProgrammable XBee SDK,さらにTeraTermがインストールされているものとします.また,XBee ProgrammableがUSBシリアルインタフェースでパソコンに接続しており,COMxxとして認識されているものとします.さらに,ダウンロードするファイル(.absもしくは.bin)がすでにあるものとします.
ダウンロード
買ってきたばかりのProgrammable XBeeでは,ブートローラがダウンロードされており,電源を投入するとブートローラが動作するようになっています.まずはTeraTermでProgrammable XBeeとシリアル通信してみましょう.TeraTermを起動すると次のような画面が現れます.私の環境ではProgrammable XBeeが接続されているUSBシリアルインタフェースはCOM15として認識されています.
TeraTermはデフォルトで9600[bps]になっていますのでそのままで結構ですが,もし,違う速度であった場合には[設定]メニュー⇒[シリアルポート]を選択し,下のようにボーレートを9600にしてください.
この状態で「f」を押すと,TeraTerm上にいくつかの「C」が現れるかと思います.このCが出ている間に,ダウンロードしたいファイルをXMODEM形式で送信します.下の図のように[ファイル]⇒[転送]⇒[XMODEM]⇒[送信]を選び,更にダウンロードするファイルを選んでください.
Cの文字が出ている間に行わなければなりませんので,かなり素早く行う必要があります.もし,下の図のようにダウンロードが始まらなかったら一旦キャンセルし,再度「f」を押してください.
上手くダウンロードが開始されますと,下の図のように進捗状況が表示されるようになります.あとはこれが終わるまで気長に待ちましょう.
別のプログラムのダウンロード
一度ダウンロードに成功すると,ダウンロードされたプログラムがXBeeの電源投入時に起動するようになります.今回の例ではサンプルプログラムの一つであるserail_echo(ターミナルに打ち込んだ文字がそのまま表示される)がダウンロードされている場合を想定して説明します.
まずはCodeWarrior Development Studioを立ち上げてください.そして,[Window]⇒[Show View]⇒[Terminal]からTerminalを選択してください.Terminalのウィンドウが開かれましたら,下の図のようなアイコンをクリックして設定を行います.
serial_echoでは115200で通信することとなっていますので,ボーレートをそれに合わせます.
おそらく今の状態では,serial_echoが動作しているので,Terminalに文字を入力するとそのままの文字が表示されるはずです.次に,下図のようにBRKアイコンを押し,さらにUSBシリアルインタフェース上にあるRESETボタンを押します.
これで再びブートローダが起動しているはずですので,下図のアイコンを押してDisconnectしてください.
次にTeraTermを立ち上げてください.このときのボーレートは9600です.そして「f」を押すと,ブートローダが動作し,Cの文字がいくつか表示されるようになるはずです.あとは前と同様に別のプログラムをダウンロードしてください.なお,CodeWarrior Development StudioのTerminalをDisconnectしてから,ダウンロードするまでの時間が長すぎるとタイムアウトしてしまいますので,できるだけ手早く行ってください.もし,タイムアウトしてしまった場合には,もう一度最初から(115200で接続⇒BRK押す⇒RESET押す⇒Disconnect⇒TeraTerm起動⇒「f」を押す)を行ってください.