Atmega168, Atmega32, Atmega32A, Atmega644, Atmega128, Atmega128A, AT90CAN128マイコンボードシリーズに対応した弊社オリジナルブートローダです。
マイコンに備わったUARTを経由してホストからマイコンボードのフラッシュROMへユーザプログラムを転送及び書き込んだり、書き込まれたユーザプログラムを実行するといった機能を持ちます。
付属のバッチファイルにてソースプログラムからコンパイルでき、ユーザ自身による改造も可能です。
ファイルの送受信にはXMODMプロトコルを使用しますが、全てのXMODEMに対応したターミナルクライアントに対応するものではありません。
弊社提供のGCC Developer Lite最新版のインストール先に「C:\Program Files\BestTech」フォルダを指定し、インストールコンポーネントとして「ATMEGAxxxでのみ使用」、もしくは「フルインストール」が選択されている必要があります。
ブートローダはフラッシュROM上で動作するプログラムですが、AVRシリーズに設けられたブートローダ領域(フラッシュROMの後半)に書き込まれています。
現在リリースしているバージョンでは占有フラッシュROM領域が2kbyte以下である前提としているため、ブートローダ領域の先頭アドレスはフラッシュROMの最終アドレスから2kバイト手前の位置に設定しています。本設定はAVRのヒューズビットにて設定されており、デバイスによって設定方法が異なるため、ブートローダをコンパイル及び書き込む方法もデバイス毎に設けています。
なお、ブートローダは全てC言語で作られているため、デバイスによっては2kバイト以下に抑えるのがとてつもなく厳しい状態です。
マイコンがリセットされるとユーザプログラムへ実行が遷移するか、ブートローダがコマンドモードになるかの2つの状態に動作が分岐します。条件は以下の通りです。
SIMPLE TERMからのキー入力にて各種機能を実行します。
ホストからフラッシュROMへファイルを転送及び書き込みを行います。
>f
この状態で既に転送を待ち受ける状態となっていますので、SIMPLE TTERMから任意のファイルを選択しXMODEMプロトコルで転送を開始させます。
成功すれば<OK>、失敗するとNGと表示されます。
>f OK >