5: 2009-07-31 (金) 04:16:52 takaboo | 6: 2009-08-04 (火) 05:23:09 takaboo | ||
---|---|---|---|
Line 1: | Line 1: | ||
TITLE:BTE072 ATmega32 EVBマニュアル | TITLE:BTE072 ATmega32 EVBマニュアル | ||
**概要 [#s1de0442] | **概要 [#s1de0442] | ||
- | Atmel ATmega32の機能を活用するための評価キットです。 | + | Atmel ATmega32の機能を活用するための評価キットです。~ |
+ | I/OボードにはLEDやスイッチ、ブザーといった機能が搭載されており、PCとUSBケーブルで接続する事でほとんどの機能を外部電源を別途用意する事無くテストする事が出来ます。~ | ||
+ | 外部電源を接続すると、DCモータやRCサーボモータといった装置を制御する事も可能です。 | ||
**基本仕様 [#v60e7a86] | **基本仕様 [#v60e7a86] | ||
|商品番号 |BTE072 | | |商品番号 |BTE072 | | ||
Line 18: | Line 21: | ||
#ref(E017D.pdf) | #ref(E017D.pdf) | ||
-Rev.Dの制限上、LED2及びR1のフットプリントは使用しないため未実装を標準 | -Rev.Dの制限上、LED2及びR1のフットプリントは使用しないため未実装を標準 | ||
- | -[[BTE067]]とピンアサインレベルで互換性有り | + | -[[BTE067]]とピンアサインレベル・使用方法で互換性有り |
***I/Oボード [#bf2fc0b1] | ***I/Oボード [#bf2fc0b1] | ||
Line 32: | Line 35: | ||
***デバイスドライバのインストール [#p601f99f] | ***デバイスドライバのインストール [#p601f99f] | ||
本製品には[[FTDI社>http://www.ftdichip.com/]]のUSBシリアル変換ICが使用されています。インストール方法及び詳細は[[こちら>How to install FTDI's device driver]]を参照下さい。 | 本製品には[[FTDI社>http://www.ftdichip.com/]]のUSBシリアル変換ICが使用されています。インストール方法及び詳細は[[こちら>How to install FTDI's device driver]]を参照下さい。 | ||
+ | **開発環境 [#ccc8a73c] | ||
+ | ***GCC Developer Lite [#ea80f01f] | ||
+ | GCC Developer Liteの詳細については[[こちら>GCC Developer Lite]]。~ | ||
+ | フルインストールないしATmega32で使用を選択する事で必要なコンポーネントが自動的にインストールされます。~ | ||
+ | 使用されるコンポーネントを簡単に示します。 | ||
+ | -''[[GCC Developer Lite>GCC Developer Lite#GCCDevL]]'' | ||
+ | ~ソースプログラムを編集するためのテキストエディタとその他のツールを起動するためのランチャ機能を有する。 | ||
+ | -''[[SIMPLE TERM>GCC Developer Lite#STERM]]'' | ||
+ | ~汎用シリアルターミナル。簡易的なTLENETクライアントとしても機能する。~ | ||
+ | USB等で提供されるCOMポートの動的な検出と、COMポートを使用する弊社ツールとの排他制御機能を持つ。 | ||
+ | -''AVRGCC'' | ||
+ | ~AVRシリーズ向けC/C++言語向けのコンパイラ。出来る限り最新のパッチを適用しているため、時に互換性を失う。 | ||
+ | -''ターゲットファイル'' | ||
+ | ~マイコンの内蔵ペリフェラルを定義したヘッダファイルやUARTを簡便に使うためのAPI、シリーズ毎に異なるメモリマップを定義したリンカスクリプトファイル、スタートアップルーチンを含む。基本的にコンパイル済みライブラリとしてソースとリンクして使用する。 | ||
+ | ****ターゲットファイル [#v3ccdc15] | ||
+ | GCC Developer Liteでは本製品用の設定を備えています。GCC Developer Liteのコンパイルオプションの設定リストから選択し直すだけで設定が完了します。 | ||
+ | #ref(GDL_CompileOption_TargetList.png) | ||
+ | 以下に本製品に対応した設定リストと機能を紹介します。 | ||
+ | -''ATmega32 (USB EVB)''~ | ||
+ | ~ビルドすると[[ブートローダ>AVR_BL]]にてマイコンのフラッシュROMへ転送するための.bin(バイナリ)ファイルが作られる。~ | ||
+ | ビルドが成功すると、STERM.exe(SIMPLE TERM)の起動を促される。 | ||
+ | -''ATmega32''~ | ||
+ | ~こちらも上記同様だが、USB接続ならではの自動リセット発行機能が除外される。 | ||
+ | |||
+ | ****SIMPLE TERMとブートローダ [#AVR_BL] | ||
+ | マイコンのフラッシュROMには出荷時に弊社オリジナルの[[ブートローダ>AVR Bootloader]]が書き込まれています。~ | ||
+ | ブートローダはISPやJTAGといったI/Fを使用せずとも、COMポートを使用してマイコンのプログラム書き換えや操作を行う事が出来ます。 | ||
+ | 転送方法などの詳細は[[こちら>AVR Bootloader]]。~ | ||
+ | ブートローダを使用して動作するプログラムが構成できる設定リストは以下の通りで、これ以外の設定リストで構成されたプログラムをブートローダで転送しても正常動作しません。~ | ||
+ | -ATmega32 (USB EVB) | ||
+ | |||
+ | マイコンボードは出荷時にUART0をコンソールとして構成されたブートローダが書き込まれており、PCとI/OボードをUSBケーブルで接続する必要があります。 | ||
+ | SIMPLE TERMから該当するCOMポートを選択(COMポート番号はPCの環境によって適宜選択)しオープンするとブートローダの各種コマンドが使用可能となります。その他の設定は以下の通りです。 | ||
+ | Baudrate:115200 | ||
+ | Databits:8 | ||
+ | Stopbits:1 | ||
+ | Parity:Non | ||
+ | Flow Control:Non | ||
+ | Protocol:Xmodem | ||
+ | #ref(AVR_BL_COM.png,100%) | ||
+ | 既にユーザプログラムが書き込まれているマイコンボードは、電源を投入するとユーザプログラムが即時実行されます。ユーザプログラムが書き込まれたマイコンでブートローダのコマンドモードを使用するには以下の手順を踏みます。 | ||
+ | |||
+ | +SIMPLE TERMのターミナルウィンドウ上で'!'(「SHIFT」+「1」)キーを押しっぱなしにする。 | ||
+ | +マイコンボードをリセットする。 | ||
+ | +ブートローダのメッセージが表示された後、'!'キーを離すとコマンドモードに遷移する。 | ||
+ | |||
+ | ブートローダの詳細及びコマンドモードの使い方等は[[こちら>AVR Bootloader]]。 | ||
+ | |||
+ | 先の設定リストでソースプログラムをコンパイルし成功するとSTERM.exe(SIMPLE TERM)の起動を促されます。「OK」を押してSIMPLE TERMを起動すると、特殊な設定が追加されてSIMPLE TERMが起動します。 | ||
+ | -既にSIMPLE TERMが実行中であれば2重に起動しない。 | ||
+ | -コンパイル済み.binファイルの情報が渡る(ステータスバーにて確認可)。 | ||
+ | -ユーザプログラムを転送する際の手順を記述したスクリプトファイルが使用できる様になる。 | ||
+ | #ref(sterm_script.png,100%) | ||
+ | 「スクリプト実行[STERM ATMEGA_USBEVB]」をクリックすると、自動的にマイコンボードをリブートしコマンドモードへの遷移や転送するファイルの選択を手動で行う事無く転送にかかる処理が全て自動的に行われます。 | ||
+ | #ref(sterm_script2.png,100%) | ||
+ | |||
+ | ***ATmega32用ライブラリ [#xb9a61ea] | ||
+ | [[GCC Developer Lite>GCC Developer Lite]]では1つのソースプログラムのみを対象とするため、機能別にソースを分割して編集やコンパイルするといった使い方は出来ません(完全にできないという訳でもありません)。だからと言って全ての機能を一つのソースに記述する事は、プログラムの見通しが悪くなりバグの温床になりかねません。~ | ||
+ | そこで、複数のソースに分割する事無くある程度のソースプログラムサイズでコーディングするために、頻繁に使用されるであろう一部の機能が専用のライブラリとして提供されます。~ | ||
+ | GCC Developer Liteを標準的な環境のPCへインストールすると、「C:\Program Files\BestTech\GCC Developer Lite\TARGET\ATmega32」フォルダに必要なファイルがコピーされます。必要に応じて本フォルダを参照できますし、ユーザがソースを修正しライブラリを再構築する事も可能です。 | ||
+ | -''リンカスクリプトファイル'' | ||
+ | ~実行条件に応じたメモリの割り当てを記述したファイルです。コンパイル時にリンカが参照し、コードの最終的な配置が決定されます。~ | ||
+ | '''atmega32.x'''~ | ||
+ | -''UART API'' | ||
+ | ~作成したプログラムの動作を確認を行う際に、マイコンのシリアルポートを使用する事を推奨しています。マイコンと文字によるコミュニケーション機能を用意する事で、レジスタの値やプログラムの進捗の把握、さらにはマイコンに対してPCから指令を与えるといった使い方が出来ます。~ | ||
+ | '''rs.h''' (APIのプロトタイプ宣言を含むヘッダファイル)~ | ||
+ | '''rs~.c''' (USARTを割り込みで使用するAPIのソース群)~ | ||
+ | -''ライブラリファイル'' | ||
+ | ~各APIをコンパイルし、一つのライブラリファイルにアーカイブして提供します。~ | ||
+ | '''makelib.bat''' (APIをコンパイルし、アーカイブするバッチ)~ | ||
+ | '''libm32.a''' (makelib.batで作成されるライブラリファイル)~ | ||
+ | |||
+ | **サンプルプログラム [#ffdba0bc] | ||
+ | [[こちら>ATmega32 Sample Code]]にて公開中。 |