商品番号 | BTC068 |
PCBリビジョン | E019B2 (2層) |
CPU | Atmel ATmega128 |
クロック | システムクロック 16MHz |
動作温度 | 0~+70℃ |
動作電圧 | DC4.5~5.5V (絶対最大定格 DC6V) |
消費電流 | 最大45mA |
寸法 | W30×D39mm (±0.5mm) |
コネクタ等 | 30ピン外部端子×2, RS232C通信用3ピンヘッダ×1, リセットボタン×1, モード切替スイッチ×1 |
付属品 | 2列ピンヘッダ |
環境配慮 | RoHS準拠,鉛フリー半田 |
No. | 端子名称 | No. | 端子名称 |
1 | VCC | 2 | GND |
3 | PA0/AD0 | 4 | PA1/AD1 |
5 | PA2/AD2 | 6 | PA3/AD3 |
7 | PA4/AD4 | 8 | PA5/AD5 |
9 | PA6/AD6 | 10 | PA7/AD7 |
11 | PG2/ALE | 12 | PC7/A15 |
13 | PC6/A14 | 14 | PC5/A13 |
15 | PC4/A12 | 16 | PC3/A11 |
17 | PC2/A10 | 18 | PC1/A9 |
19 | PC0/A8 | 20 | PG1/RD |
21 | PG0/WR | 22 | PD7/T2 |
23 | PD6/T1 | 24 | PD5/XCK1 |
25 | PD4/ICP1 | 26 | PD3/TXD1/INT3 |
27 | PD2/RXD1/INT2 | 28 | PD1/SDA/INT1 |
29 | PD0/SCL/INT0 | 30 | GND |
No. | 端子名 | No. | 端子名 |
1 | PF7/ADC7/TDI | 2 | PF6/ADC6/TDO |
3 | PF5/ADC5/TMS | 4 | PF4/ADC4/TCK |
5 | PF3/ADC3 | 6 | PF2/ADC2 |
7 | PF1/ADC1 | 8 | PF0/ADC0 |
9 | AVREF | 10 | GND |
11 | AVCC | 12 | PE0/PDI/RXD0 |
13 | PE1/PDO/TXD0 | 14 | PE2/XCK0/AIN0 |
15 | PE3/OC3A/AIN1 | 16 | PE4/OC3B/INT4 |
17 | PE5/OC3C/INT5 | 18 | PE6/T3/INT6 |
19 | PE7/ICP3/INT7 | 20 | PB0/SS |
21 | PB1/SCK | 22 | PB2/MOSI |
23 | PB3/MISO | 24 | PB4/OC0 |
25 | PB5/OC1A | 26 | PB6/OC1B |
27 | PB7/OC2/OC1C | 28 | PG3/TOSC2 |
29 | PG4/TOSC1 | 30 | RESET |
No. | 端子名 | I/O |
1 | TX (RS232C←PA10) | O |
2 | GND | - |
3 | RX (RS232C→PA9) | I |
※ジャンパのランド間にある配線パターンにて接続されているため、オープン状態にするにはパターンをカッター等をカットして使用の事
※ジャンパのランド間にある配線パターンにて接続されているため、オープン状態にするにはパターンをカッター等をカットして使用の事
※ジャンパのランド間にある配線パターンにて接続されているため、オープン状態にするにはパターンをカッター等をカットして使用の事
CN3にはマイコンのDBGU端子をRS232Cレベルに変換された信号が接続されます。主にプログラムの転送やデバッグに使用します。
接続するホストに応じて以下の通信ケーブルないしI/Fがオプションで使用できます。
数少ないリソースをブートローダのためにリザーブされる事を嫌い、本スイッチによるブートローダのモード切り替えを廃止しています。動作モードの切り替えは最新版ブートローダの解説に従います。
プログラムの転送にはSIMPLE TERMを使用します。
Write側にしてリセットスタートするとブートローダモードに入り、その反対側ではユーザプログラムが実行されます。
プログラムの転送にはSIMPLE TERMを使用します。
Write側にしてリセットスタートするとブートローダモードに入り、その反対側ではユーザプログラムが実行されます。
プログラムの転送にはFLASH WRITERを使用します。
本ドキュメントではV1.2を前提として記述します。マイコンボードが旧バージョンのブートローダを搭載している場合はISPライタを使って最新版に書き換えるか、製品に添付されていたドキュメントを参照します。 |
GCC Developer Liteの詳細についてはこちら。
フルインストールないしATmega128で使用を選択する事で必要なコンポーネントが自動的にインストールされます。
使用されるコンポーネントを簡単に示します。
ソースプログラムを編集するためのテキストエディタとその他のツールを起動するためのランチャ機能を有する。
汎用シリアルターミナル。簡易的なTELNETクライアントとしても機能する。
USB等で提供されるCOMポートの動的な検出と、COMポートを使用する弊社ツールとの排他制御機能を持つ。
AVRシリーズ向けC/C++言語向けのコンパイラ。出来る限り最新のパッチを適用しているため、時に互換性を失う。
マイコンの内蔵ペリフェラルを定義したヘッダファイルやUARTを簡便に使うためのAPI、シリーズ毎に異なるメモリマップを定義したリンカスクリプトファイル、スタートアップルーチンを含む。基本的にコンパイル済みライブラリとしてソースとリンクして使用する。
マイコンのフラッシュ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\ATmega128」フォルダに必要なファイルがコピーされます。必要に応じて本フォルダを参照できますし、ユーザがソースを修正しライブラリを再構築する事も可能です。
C言語で作成したプログラムを実行させるために、アセンブラないしC言語で記述された必要最低限の初期化処理プログラムです。
実行条件に応じたメモリの割り当てを記述したファイルです。コンパイル時にリンカが参照し、コードの最終的な配置が決定されます。
atmega128.x
atmega128extram.x
作成したプログラムの動作を確認を行う際に、マイコンのシリアルポートを使用する事を推奨しています。マイコンと文字によるコミュニケーション機能を用意する事で、レジスタの値やプログラムの進捗の把握、さらにはマイコンに対してPCから指令を与えるといった使い方が出来ます。
本マイコンには複数のシリアルポートが備わっており、制御方法も多種多様なため、それに応じてライブラリとして提供する通信用APIも多くなっています。
各APIをコンパイルし、一つのライブラリファイルにアーカイブして提供します。
makelib.bat (APIをコンパイルし、アーカイブするバッチ)
libm128.a (makelib.batで作成されるライブラリファイル)