はじめに anchor.png

Atmega168, Atmega32, Atmega32A, Atmega644, Atmega128, Atmega128A, AT90CAN128マイコンボードシリーズに対応した弊社オリジナルブートローダです。
マイコンに備わったUARTを経由してホストからマイコンボードのフラッシュROMへユーザプログラムを転送及び書き込んだり、書き込まれたユーザプログラムを実行するといった機能を持ちます。
付属のバッチファイルにてソースプログラムからコンパイルでき、ユーザ自身による改造も可能です。
ファイルの送受信にはXMODMプロトコルを使用しますが、全てのXMODEMに対応したターミナルクライアントに対応するものではありません。

Page Top

基本仕様 anchor.png

Page Top

適用コンパイラとコンパイル方法 anchor.png

弊社提供のGCC Developer Lite最新版のインストール先に「C:\Program Files\BestTech」フォルダを指定し、インストールコンポーネントとして「ATMEGAxxxでのみ使用」、もしくは「フルインストール」が選択されている必要があります。

Page Top

ソースのダウンロード anchor.png

  • V1.3.1 公開日: 2013/12/26
    更新内容:AT90CAN128,ATmega128Aの未対応を修正
  • V1.3 公開日: 2013/8/22
    更新内容:コマンドモードへの遷移方法をハードリセットに統一
Page Top

メモリマップ anchor.png

ブートローダはフラッシュROM上で動作するプログラムですが、AVRシリーズに設けられたブートローダ領域(フラッシュROMの後半)に書き込まれています。
現在リリースしているバージョンでは占有フラッシュROM領域が2kbyte以下である前提としているため、ブートローダ領域の先頭アドレスはフラッシュROMの最終アドレスから2kバイト手前の位置に設定しています。本設定はAVRのヒューズビットにて設定されており、デバイスによって設定方法が異なるため、ブートローダをコンパイル及び書き込む方法もデバイス毎に設けています。

avrbootloader_map.png

なお、ブートローダは全てC言語で作られているため、デバイスによっては2kバイト以下に抑えるのがとてつもなく厳しい状態です。

Page Top

ブートローダの動作フロー anchor.png

マイコンがリセットされるとユーザプログラムへ実行が遷移するか、ブートローダがコマンドモードになるかの2つの状態に動作が分岐します。条件は以下の通りです。

  • V1.2以前
    AVR_UART_BOOT_FLOW.png
    ユーザプログラムへ実行が遷移する前にユーザ自らの操作でコマンドモードに遷移させる場合は、リセット直後に'!'を素早く3回入力する必要があります。ユーザプログラムが書き込まれていなければ、常にコマンドモードとなります。それ以外は全てユーザプログラムが実行されます。
  • V1.3以降
    AVR_V1.3_BOOT_FLOW.png
    電源印加状態でリセットボタンの押下、もしくはユーザプログラムが書き込まれていなければ、コマンドモードとなります。それ以外は全てユーザプログラムが実行されます。
Page Top

使用方法 anchor.png

SIMPLE TERMからのキー入力にて各種機能を実行します。

Page Top

コマンド anchor.png

Page Top
ヘルプ anchor.png

'w','e','g'の3つのコマンド以外が入力されるとコマンドのリストが表示されます。

AVR BL1.2
>?
f:flash e:eeprom g:go
>
Page Top
フラッシュROMへの書き込み 'f' anchor.png

ホストからフラッシュROMへファイルを転送及び書き込みを行います。

>f

この状態で既に転送を待ち受ける状態となっていますので、SIMPLE TTERMから任意のファイルを選択しXMODEMプロトコルで転送を開始させます。
成功すれば<OK>、失敗するとNGと表示されます。

>f
OK
>
Page Top
EEPROMへの書き込み 'f' anchor.png

ホストからEEPROMへファイルを転送及び書き込みを行います。

>e

この状態で既に転送を待ち受ける状態となっていますので、SIMPLE TERMから任意のファイルを選択しXMODEMプロトコルで転送を開始させます。
成功すれば<OK>、失敗するとNGと表示されます。

>e
OK
>
Page Top
実行 'g' anchor.png

フラッシュROMに書き込まれたプログラムを実行します。

Page Top

その他 anchor.png

Page Top

ヒューズビット anchor.png

付属のブートローダを書き込むバッチファイルでは、JTAGインターフェースを内蔵するターゲットに限りJTAGENビットを禁止に設定しています。これはJTAGに必要な端子がGPIOを兼用しており、許可状態では汎用的に使用できる端子が少なくなってしまうための措置となります。
なお、弊社のAVRマイコンボードシリーズでJTAGを使用するには、JTAGではなくシリアルプログラミング(ISP)でのみ本JTAGENビットを許可できます。


Front page   Diff ReloadPrint View   Page list Search Recent changes   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)
Last-modified: 2013-12-26 (Thu) 23:06:00 (JST) (3993d)