この文書では,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として認識されています.

01

 

TeraTermはデフォルトで9600[bps]になっていますのでそのままで結構ですが,もし,違う速度であった場合には[設定]メニュー⇒[シリアルポート]を選択し,下のようにボーレートを9600にしてください.

02

 

この状態で「f」を押すと,TeraTerm上にいくつかの「C」が現れるかと思います.このCが出ている間に,ダウンロードしたいファイルをXMODEM形式で送信します.下の図のように[ファイル]⇒[転送]⇒[XMODEM]⇒[送信]を選び,更にダウンロードするファイルを選んでください.

03

 

Cの文字が出ている間に行わなければなりませんので,かなり素早く行う必要があります.もし,下の図のようにダウンロードが始まらなかったら一旦キャンセルし,再度「f」を押してください.

04

 

上手くダウンロードが開始されますと,下の図のように進捗状況が表示されるようになります.あとはこれが終わるまで気長に待ちましょう.

05


 

別のプログラムのダウンロード

一度ダウンロードに成功すると,ダウンロードされたプログラムがXBeeの電源投入時に起動するようになります.今回の例ではサンプルプログラムの一つであるserail_echo(ターミナルに打ち込んだ文字がそのまま表示される)がダウンロードされている場合を想定して説明します.

まずはCodeWarrior Development Studioを立ち上げてください.そして,[Window]⇒[Show View]⇒[Terminal]からTerminalを選択してください.Terminalのウィンドウが開かれましたら,下の図のようなアイコンをクリックして設定を行います.

06

 

serial_echoでは115200で通信することとなっていますので,ボーレートをそれに合わせます.

07

 

 おそらく今の状態では,serial_echoが動作しているので,Terminalに文字を入力するとそのままの文字が表示されるはずです.次に,下図のようにBRKアイコンを押し,さらにUSBシリアルインタフェース上にあるRESETボタンを押します

 08

 

これで再びブートローダが起動しているはずですので,下図のアイコンを押してDisconnectしてください.

09

 

次にTeraTermを立ち上げてください.このときのボーレートは9600です.そして「f」を押すと,ブートローダが動作し,Cの文字がいくつか表示されるようになるはずです.あとは前と同様に別のプログラムをダウンロードしてください.なお,CodeWarrior Development StudioのTerminalをDisconnectしてから,ダウンロードするまでの時間が長すぎるとタイムアウトしてしまいますので,できるだけ手早く行ってください.もし,タイムアウトしてしまった場合には,もう一度最初から(115200で接続⇒BRK押す⇒RESET押す⇒Disconnect⇒TeraTerm起動⇒「f」を押す)を行ってください.