商品番号 | BTC067B |
リビジョン | E017E (2層) |
CPU | Atmel ATMEGA32-16MU |
クロック | システムクロック 16MHz |
動作温度 | 0~+70℃ |
動作電圧 | DC4.5~5.5V (絶対最大定格 DC6V) |
消費電流 | 最大30mA |
寸法 | W29×D27mm (±0.5mm) |
コネクタ等 | 20ピン外部端子×2, 通信用ピンヘッダ (BTE060 RS232C通信ケーブル接続用), リセットボタン×1 |
付属品 | 2列ピンヘッダ (CN1,CN2にはコネクタが半田付けされていません。お使いの環境に合わせて適宜装備してください) |
環境配慮 | RoHS準拠,鉛フリー半田 |
No. | 端子名称 | No. | 端子名称 |
1 | GND | 2 | GND |
3 | VCC | 4 | VCC |
5 | PB7(SCK) | 6 | PB6(MISO) |
7 | PB5(MOSI) | 8 | PB4(SS) |
9 | PB3(OC0/AIN1) | 10 | PB2/(INT2/AIN0) |
11 | PB1(T1) | 12 | PB0(XCK/T0) |
13 | PA0(ADC0) | 14 | PA1(ADC1) |
15 | PA2(ADC2) | 16 | PA3(ADC3) |
17 | PA4(ADC4) | 18 | PA5(ADC5) |
19 | PA6(ADC6) | 20 | PA7(ADC7) |
No. | 端子名 | No. | 端子名 |
1 | GND | 2 | RESET |
3 | PD0(RXD) | 4 | PD1(TXD) |
5 | PD2(INT0) | 6 | PD3(INT1) |
7 | PD4(OC1B) | 8 | PD5(OC1A) |
9 | PD6(ICP) | 10 | PD7(OC2) |
11 | PC0(SCL) | 12 | PC1(SDA) |
13 | PC2(TCK) | 14 | PC3(TMS) |
15 | PC4(TDO) | 16 | PC5(TDI) |
17 | PC6(TOSC1) | 18 | PC7(TOSC2) |
19 | AREF | 20 | AVCC |
No. | 端子名 | I/O |
1 | TX (RS232C←PD1) | O |
2 | GND | - |
3 | RX (RS232C→PD0) | I |
CN3にはマイコンのDBGU端子をRS232Cレベルに変換された信号が接続されます。主にプログラムの転送やデバッグに使用します。
接続するホストに応じて以下の通信ケーブルないしI/Fがオプションで使用できます。
数少ないリソースをブートローダのためにリザーブされる事を嫌い、本スイッチによるブートローダのモード切り替えを廃止しています。動作モードの切り替えは最新版ブートローダの解説に従います。
プログラムの転送にはSIMPLE TERMを使用します。
Write側にしてリセットスタートするとブートローダモードに入り、その反対側ではユーザプログラムが実行されます。
プログラムの転送にはSIMPLE TERMを使用します。
Write側にしてリセットスタートするとブートローダモードに入り、その反対側ではユーザプログラムが実行されます。
プログラムの転送にはFLASH WRITERを使用します。
本ドキュメントではV1.2を前提として記述します。マイコンボードが旧バージョンのブートローダを搭載している場合はISPライタを使って最新版に書き換えるか、製品に添付されていたドキュメントを参照します。 |
GCC Developer Liteの詳細についてはこちら。
フルインストールないしATmega32で使用を選択する事で必要なコンポーネントが自動的にインストールされます。
使用されるコンポーネントを簡単に示します。
ソースプログラムを編集するためのテキストエディタとその他のツールを起動するためのランチャ機能を有する。
汎用シリアルターミナル。簡易的なTELNETクライアントとしても機能する。
USB等で提供されるCOMポートの動的な検出と、COMポートを使用する弊社ツールとの排他制御機能を持つ。
AVRシリーズ向けC/C++言語向けのコンパイラ。出来る限り最新のパッチを適用しているため、時に互換性を失う。
マイコンの内蔵ペリフェラルを定義したヘッダファイルやUARTを簡便に使うためのAPI、シリーズ毎に異なるメモリマップを定義したリンカスクリプトファイル、スタートアップルーチンを含む。基本的にコンパイル済みライブラリとしてソースとリンクして使用する。
GCC Developer Liteでは本マイコン用の設定を備えています。GCC Developer Liteのコンパイルオプションの設定リストから選択し直すだけで設定が完了します。
以下に本マイコンボードに対応した設定リストと機能を紹介します。
ビルドするとブートローダにてマイコンのフラッシュROMへ転送するための.bin(バイナリ)ファイルが作られる。
ビルドが成功すると、STERM.exe(SIMPLE TERM)の起動を促される。
マイコンのフラッシュROMには出荷時に弊社オリジナルのブートローダが書き込まれています。
ブートローダはISPやJTAGといったI/Fを使用せずとも、COMポートを使用してマイコンのプログラム書き換えや操作を行う事が出来ます。
転送方法などの詳細はこちら。
ブートローダを使用して動作するプログラムが構成できる設定リストは以下の通りで、これ以外の設定リストで構成されたプログラムをブートローダで転送しても正常動作しません。
マイコンボードは出荷時にUART0をコンソールとして構成されたブートローダが書き込まれており、PCとマイコンボードをRS232Cケーブルで接続する必要があります。 SIMPLE TERMから該当するCOMポートを選択(COMポート番号はPCの環境によって適宜選択)しオープンするとブートローダの各種コマンドが使用可能となります。その他の設定は以下の通りです。
Baudrate:115200 Databits:8 Stopbits:1 Parity:Non Flow Control:Non Protocol:Xmodem
既にユーザプログラムが書き込まれているマイコンボードは、電源を投入するとユーザプログラムが即時実行されます。ユーザプログラムが書き込まれたマイコンでブートローダのコマンドモードを使用するには以下の手順を踏みます。
ブートローダの詳細及びコマンドモードの使い方等はこちら。
先の設定リストでソースプログラムをコンパイルし成功するとSTERM.exe(SIMPLE TERM)の起動を促されます。「OK」を押してSIMPLE TERMを起動すると、特殊な設定が追加されてSIMPLE TERMが起動します。
「スクリプト実行[STERM ATMEGA]」をクリックした後10秒以内にマイコンボードをリーブートすると、コマンドモードへの遷移や転送するファイルの選択を手動で行う事無く転送にかかる処理が全て自動的に行われます。
本機能により、手動で間違ったファイルを選択して転送してしまったり、ブートローダがコマンドモードでない状態で転送をしてしまうといったミスを軽減する事ができます。
GCC Developer Liteでは1つのソースプログラムのみを対象とするため、機能別にソースを分割して編集やコンパイルするといった使い方は出来ません(完全にできないという訳でもありません)。だからと言って全ての機能を一つのソースに記述する事は、プログラムの見通しが悪くなりバグの温床になりかねません。
そこで、複数のソースに分割する事無くある程度のソースプログラムサイズでコーディングするために、頻繁に使用されるであろう一部の機能が専用のライブラリとして提供されます。
GCC Developer Liteを標準的な環境のPCへインストールすると、「C:\Program Files\BestTech\GCC Developer Lite\TARGET\ATmega32」フォルダに必要なファイルがコピーされます。必要に応じて本フォルダを参照できますし、ユーザがソースを修正しライブラリを再構築する事も可能です。
実行条件に応じたメモリの割り当てを記述したファイルです。コンパイル時にリンカが参照し、コードの最終的な配置が決定されます。
atmega32.x
作成したプログラムの動作を確認を行う際に、マイコンのシリアルポートを使用する事を推奨しています。マイコンと文字によるコミュニケーション機能を用意する事で、レジスタの値やプログラムの進捗の把握、さらにはマイコンに対してPCから指令を与えるといった使い方が出来ます。
rs.h (APIのプロトタイプ宣言を含むヘッダファイル)
rs~.c (USARTを割り込みで使用するAPIのソース群)
各APIをコンパイルし、一つのライブラリファイルにアーカイブして提供します。
makelib.bat (APIをコンパイルし、アーカイブするバッチ)
libm32.a (makelib.batで作成されるライブラリファイル)
こちらにて公開中。