1: 2009-06-19 (金) 17:41:39 sho | 2: 2009-06-20 (土) 04:30:14 sho | ||
---|---|---|---|
Line 58: | Line 58: | ||
****CN3 [#i5675260] | ****CN3 [#i5675260] | ||
- | -RS232C通信ケーブル接続用 | + | -2mmピッチ 3ピン |
+ | -マイコンのP21(RXD)とP22(TXD)端子をRS232Cレベルに変換 | ||
+ | -JP1にてRS232C回路とマイコンのP21(RXD)端子を接続及び切断可能(デフォルトで半田ジャンパ済) | ||
| No. | 端子名 | I/O | | | No. | 端子名 | I/O | | ||
- | | 1 | TX (RS232Cレベル) | O | | + | | 1 | TX (RS232C←P22) | O | |
| 2 | GND | - | | | 2 | GND | - | | ||
- | | 3 | RX RX (RS232Cレベル) | I | | + | | 3 | RX (RS232C→P21) | I | |
****JP1 [#n9b4ac41] | ****JP1 [#n9b4ac41] | ||
Line 69: | Line 71: | ||
-出荷時ショート | -出荷時ショート | ||
- | ****JP2/JP3 [#cdcb9d74] | + | ****JP2, JP3 [#cdcb9d74] |
-シリアルEEPROMのIC接続制御(マイコンのP57,P56端子に接続) | -シリアルEEPROMのIC接続制御(マイコンのP57,P56端子に接続) | ||
-オープン:EEPROM使用不可, ショート:EEPROM使用可 | -オープン:EEPROM使用不可, ショート:EEPROM使用可 | ||
Line 81: | Line 83: | ||
****PB1(プッシュボタン) [#eefa9fef] | ****PB1(プッシュボタン) [#eefa9fef] | ||
- | -押下でシステムリセットIC(U2)からCPUへリセット発行 | + | -システムリセットIC(U2)のM/R端子とVCC間に接続 |
+ | -押下:U2のVOUT端子からLOW出力, 解放:U2のVOUT端子はHIGH-Z | ||
**各機能の詳細 [#zca6f4af] | **各機能の詳細 [#zca6f4af] | ||
Line 89: | Line 92: | ||
***RS232C(CN3) [#yd7fd1cd] | ***RS232C(CN3) [#yd7fd1cd] | ||
#ref(E032B_RS232C.png,50%) | #ref(E032B_RS232C.png,50%) | ||
- | CN3にはマイコンのDBGU端子をRS232Cレベルに変換した信号が接続されます。主にPCのCOMポートと接続し、プログラムの転送やデバッグに使用します。~ | + | CN3にはマイコンのSCIのTXD,RXD端子をRS232Cレベルに変換した信号が接続されます。主にPCのCOMポートと接続し、プログラムの転送やデバッグに使用します。~ |
接続するホストに応じて以下の通信ケーブルないしI/Fがオプションで使用できます。 | 接続するホストに応じて以下の通信ケーブルないしI/Fがオプションで使用できます。 | ||
-PCにCOMポートがある場合 | -PCにCOMポートがある場合 | ||
Line 99: | Line 102: | ||
***スライドスイッチ(SW1) [#xabf7ab8] | ***スライドスイッチ(SW1) [#xabf7ab8] | ||
****ブートモード(WRITE) [#t924542b] | ****ブートモード(WRITE) [#t924542b] | ||
- | 電源供給前もしくはリセット中にマイコンボードの「モード切替スイッチ」がWRITE側になっている状態で、電源供給もしくはリセットリリース後ではH8/3687Fマイコンはブートモードになります。 | + | 電源供給前もしくはリセット中にマイコンボードの「モード切替スイッチ」がWRITE側になっている状態で、電源供給もしくはリセットリリースされるとマイコンはブートモードになります。 |
- | この状態はマイコンの内蔵フラッシュROMへプログラムを書き込む際に設定します。書込みにはPC用の専用プログラムであるフラッシュライタを使用します。 | + | この状態はマイコンの内蔵フラッシュROMへプログラムを書き込む際に設定します。書込みにはFLASH WRITERを使用します。 |
****ユーザモード(RUN) [#oec65a25] | ****ユーザモード(RUN) [#oec65a25] | ||
- | 電源供給前もしくはリセット中にマイコンボードの「モード切替スイッチ」がRUN側になっている状態で、電源供給もしくはリセットリリース後ではH8/3687Fマイコンはユーザモードになります。 | + | 電源供給前もしくはリセット中にマイコンボードの「モード切替スイッチ」がRUN側になっている状態で、電源供給もしくはリセットリリースされるとマイコンはユーザモードになります。 |
この状態はブートモードで内蔵フラッシュROMへ書き込まれたプログラムが動作します。~ | この状態はブートモードで内蔵フラッシュROMへ書き込まれたプログラムが動作します。~ | ||
***プッシュスイッチ(PB1) [#kb7c13c9] | ***プッシュスイッチ(PB1) [#kb7c13c9] | ||
- | PB1にはマイコンのNRST端子が接続されています。押下されるとNRST端子がGNDに接続されマイコンがリセットされます。~ | + | PB1はリセットIC(U2)のマニュアルリセット端子に接続されています。押下されるとリセットICはマイコンのRES端子をLOWにし、規定時間経過後HIGHに復帰します。~ |
**開発環境 [#l1a0e3ca] | **開発環境 [#l1a0e3ca] | ||
***GCC Developer Lite [#re5b9ac2] | ***GCC Developer Lite [#re5b9ac2] | ||
GCC Developer Liteの詳細については[[こちら>GCC Developer Lite]]。~ | GCC Developer Liteの詳細については[[こちら>GCC Developer Lite]]。~ | ||
- | フルインストールないしH8/3687Fで使用を選択する事で必要なコンポーネントが自動的にインストールされます。~ | + | フルインストールないしH8/3694Fで使用を選択する事で必要なコンポーネントが自動的にインストールされます。~ |
H8/3694Fで使用される主要なコンポーネントを簡単に示します。 | H8/3694Fで使用される主要なコンポーネントを簡単に示します。 | ||
-''[[GCC Developer Lite>GCC Developer Lite#GCCDevL]]'' | -''[[GCC Developer Lite>GCC Developer Lite#GCCDevL]]'' | ||
~ソースプログラムを編集するためのテキストエディタとその他のツールを起動するためのランチャ機能を有する。 | ~ソースプログラムを編集するためのテキストエディタとその他のツールを起動するためのランチャ機能を有する。 | ||
-''[[FLASH WRITER>GCC Developer Lite#FW]]'' | -''[[FLASH WRITER>GCC Developer Lite#FW]]'' | ||
- | ~ターゲットのフラッシュROM等へコンパイルされたプログラムをSAM-BAないしCOMポート経由で書き込む。~ | + | ~ターゲットのフラッシュROM等へコンパイルされたプログラムをCOMポート経由で書き込む。~ |
USB等で提供されるCOMポートの動的な検出と、COMポートを使用する弊社ツールとの排他制御機能を持つ。 | USB等で提供されるCOMポートの動的な検出と、COMポートを使用する弊社ツールとの排他制御機能を持つ。 | ||
-''[[SIMPLE TERM>GCC Developer Lite#STERM]]'' | -''[[SIMPLE TERM>GCC Developer Lite#STERM]]'' | ||
Line 122: | Line 126: | ||
USB等で提供されるCOMポートの動的な検出と、COMポートを使用する弊社ツールとの排他制御機能を持つ。 | USB等で提供されるCOMポートの動的な検出と、COMポートを使用する弊社ツールとの排他制御機能を持つ。 | ||
-''ターゲットファイル'' | -''ターゲットファイル'' | ||
- | ~マイコンの内蔵ペリフェラルを定義したヘッダファイルやUARTを簡便に使うためのAPI、GDBにてデバッグする際に使用する初期化ファイル、シリーズ毎に異なるメモリマップを定義したリンカスクリプトファイル、スタートアップルーチンを含む。基本的にコンパイル済みライブラリとしてソースとリンクして使用する。 | + | ~マイコンの内蔵ペリフェラルを定義したヘッダファイルやSCIを簡便に使うためのAPI、シリーズ毎に異なるメモリマップを定義したリンカスクリプトファイル、スタートアップルーチンを含む。基本的にコンパイル済みライブラリとしてソースとリンクして使用する。 |
****ターゲットファイル [#s8f6e2c8] | ****ターゲットファイル [#s8f6e2c8] | ||
- | [[GCC Developer Lite>GCC Developer Lite]]では本マイコン用の設定を複数備えています。~ | + | [[GCC Developer Lite>GCC Developer Lite]]では複数のターゲット向けの設定を備えています。 |
- | 例えば、H8コアの学習・組み込み向けCコンパイラの習熟・マイコン内蔵ペリフェラルの機能を熟知するといった段階ではJTAGを使ってSRAM上でデバッグし、printfデバッグ、最終的に製品等としてリリースして完成させる時はフラッシュROMに、といった段階を踏む場合でも[[GCC Developer Lite>GCC Developer Lite]]のコンパイルオプションの設定リストから選択し直すだけで設定が完了します。~ | + | |
#ref(GDL_CompileOption_TargetList.png) | #ref(GDL_CompileOption_TargetList.png) | ||
- | 以下本マイコンボードに対応した設定リストの一覧です。 | + | 以下は本マイコンボードに対応した設定リストです。 |
- | -''H8/3687 (Flash)'' | + | -''H8/3694 (Flash)'' |
+ | ~ビルドするとマイコンのフラッシュROMで動作させるための.motファイルが作られる。~ | ||
+ | ビルドが成功すると、ブートモードでフラッシュROMに書き込むためにFW.exe(FLASH WRITER)の起動を促される。 | ||
+ | |||
+ | ****FLASH WRITER [#tace4e8f] | ||
+ | 様々なマイコンに対応した転送ツールです。本マイコンにおいては1種類の転送方法に対応します。 | ||
+ | #ref(fw_3664.png,100%) | ||
+ | 以下の設定を行い、ブートモードのマイコンボードとPCをRS232Cケーブルで接続してExecuteボタンを押すと書き込み処理を開始します。 | ||
+ | -CPU TYPE:3664 | ||
+ | -PORT:使用するPCのCOMポート | ||
+ | -BaudRate[bps]:19200bps以下 | ||
+ | -TImeOut[ms]:1000ms以上 | ||
+ | 書き込みを開始すると、自動的に以下の順に処理が行われます。いずれのタイミングにおいてもプログレスバーが表示され、進捗が表示されます。 | ||
+ | +マイコンボードとPCのボーレートを合わせる | ||
+ | +ブートプログラムの転送 | ||
+ | +ユーザプログラムの転送 | ||
- | ****FLASH WRITER [#sb54d892] | + | **H8/3694F用ライブラリ [#lb227da1] |
- | 様々なマイコンに対応した転送ツールです。~ | + | |
- | Windowsの[スタート]ボタン→「プログラム(P)」→「GCC Developer Lite」→「フラッシュライタ」をクリックし、フラッシュライタを起動します。~ | + | |
- | 起動したら、左上のICの形をしたアイコンをクリックします。ドロップダウンメニューが開きますので、「FW環境設定(O)」をクリックします。ウィンドウサイズが大きくなり、諸々の設定が行う部分が現れますので、「CPU TYPE」とある部分を「3664」に変更します。また、もしライタボードが接続されているPCのポートが「COM1」でなければ、「PORT」を実際に使用するポートに変更します。その他の部分はデフォルトのままで構いません。なお、次回フラッシュライタを起動したときでも、前回設定された内容が残りますので、一度設定しておけば再度設定する必要はありません。~ | + | |
- | ボタンを押すと、転送するファイルを選択するダイアログボックスが現れるので、任意のコンパイル済みファイル(拡張子が.binのファイル)を選択し、「開く(O)」ボタンを押します。~ | + | |
- | モード切り替えスイッチをWRITE側にしてブートモードに設定し、RS232CケーブルでマイコンボードとPCを接続します。準備ができたらマイコンボードに電源を供給し、フラッシュライタの「かきこみ」ボタンを押します。正しく準備ができていれば、マイコンボードへプログラムの転送が開始されます。進捗はプログレスバーにて表示されます。~ | + | |
- | 正常に終了した旨のダイアログが表示されたら書込みは成功しています。マイコンボードに供給している電源を切ります。電源を切ったらライタボードの「モード切替スイッチ」を「RUN」側にし再び電源を入れるとプログラムが実行されます。~ | + | |
- | FLASH WRITERを使用して動作するプログラムが構成できる設定リストは以下の通りで、これ以外の設定リストで構成さAれたプログラムをFLASH WRITERで転送しても動作しません。 | + | |
- | -''H8/3694 (Flash)''~ | + | |
- | **H8/3687F用ライブラリ [#lb227da1] | + | |
[[GCC Developer Lite>GCC Developer Lite]]では1つのソースプログラムのみを対象とするため、機能別にソースを分割して編集やコンパイルするといった使い方は出来ません(完全にできないという訳でもありません)。だからと言って全ての機能を一つのソースに記述する事は、プログラムの見通しが悪くなりバグの温床になりかねません。~ | [[GCC Developer Lite>GCC Developer Lite]]では1つのソースプログラムのみを対象とするため、機能別にソースを分割して編集やコンパイルするといった使い方は出来ません(完全にできないという訳でもありません)。だからと言って全ての機能を一つのソースに記述する事は、プログラムの見通しが悪くなりバグの温床になりかねません。~ | ||
そこで、複数のソースに分割する事無くある程度のソースプログラムサイズでコーディングするために、頻繁に使用されるであろう一部の機能が専用のライブラリとして提供されます。~ | そこで、複数のソースに分割する事無くある程度のソースプログラムサイズでコーディングするために、頻繁に使用されるであろう一部の機能が専用のライブラリとして提供されます。~ | ||
- | GCC Developer Liteを標準的な環境のPCへインストールすると、「C:\Program Files\BestTech\GCC Developer Lite\TARGET\3687F」フォルダに必要なファイルがコピーされます。必要に応じて本フォルダを参照できますし、ユーザがソースを修正しライブラリを再構築する事も可能です。 | + | GCC Developer Liteを標準的な環境のPCへインストールすると、「C:\Program Files\BestTech\GCC Developer Lite\TARGET\3694F」フォルダに必要なファイルがコピーされます。必要に応じて本フォルダを参照できますし、ユーザがソースを修正しライブラリを再構築する事も可能です。 |
-''リンカスクリプトファイル'' | -''リンカスクリプトファイル'' | ||
~実行条件に応じたメモリの割り当てを記述したファイルです。コンパイル時にリンカが参照し、コードの最終的な配置が決定されます。~ | ~実行条件に応じたメモリの割り当てを記述したファイルです。コンパイル時にリンカが参照し、コードの最終的な配置が決定されます。~ | ||
'''h8rom.x'''~ | '''h8rom.x'''~ | ||
- | '''h8rom_.x'''~ | ||
-''内蔵ペリフェラルのレジスタ名定義ヘッダファイル'' | -''内蔵ペリフェラルのレジスタ名定義ヘッダファイル'' | ||
~マイコンに内蔵された各種ペリフェラルが持つレジスタは、決められたメモリ上のアドレスに配置されています。それらレジスタをアドレスではなくレジスタ毎に決められた名称を使い、変数のようにアクセスするためのマクロ定義が記述されています。~ | ~マイコンに内蔵された各種ペリフェラルが持つレジスタは、決められたメモリ上のアドレスに配置されています。それらレジスタをアドレスではなくレジスタ毎に決められた名称を使い、変数のようにアクセスするためのマクロ定義が記述されています。~ | ||
'''3694.h''' (レジスタのマクロ定義)~ | '''3694.h''' (レジスタのマクロ定義)~ | ||
-''ライブラリファイル'' | -''ライブラリファイル'' | ||
- | ~各APIとremap.cをコンパイルし、一つのライブラリファイルにアーカイブして提供します。~ | + | ~各APIをコンパイルし、一つのライブラリファイルにアーカイブして提供します。~ |
'''makelib.bat''' (APIをH8モードでコンパイルし、アーカイブするバッチ)~ | '''makelib.bat''' (APIをH8モードでコンパイルし、アーカイブするバッチ)~ | ||
'''makelib_thumb.bat''' (APIをTHUMBモードでコンパイルし、アーカイブするバッチ)~ | '''makelib_thumb.bat''' (APIをTHUMBモードでコンパイルし、アーカイブするバッチ)~ |