| (同じ利用者による、間の8版が非表示) | |||
| 160行目: | 160行目: | ||
下図に、MSP430F149マイコンと14ピンJTAGコネクタとの接続を示す。<br> | 下図に、MSP430F149マイコンと14ピンJTAGコネクタとの接続を示す。<br> | ||
<br> | <br> | ||
[[ファイル:MSP430F149 JTAG Debugging.png|フレームなし|中央]] | [[ファイル:MSP430F149 JTAG Debugging.png|フレームなし|中央|775x625px]] | ||
<br> | <br> | ||
* ※注記1 - 電源供給の選択 | * ※注記1 - 電源供給の選択 | ||
| 215行目: | 215行目: | ||
==== SBW (Spy-Bi-Wire) 接続 ==== | ==== SBW (Spy-Bi-Wire) 接続 ==== | ||
MSP430F149マイコンでは、SBW (Spy-Bi-Wire) 通信は非対応である。<br> | |||
<br> | <br> | ||
<u>※注意1</u><br> | <u>※注意1</u><br> | ||
| 245行目: | 229行目: | ||
* <u>ピン2 (VCC_TOOL) と ピン4 (VCC_TARGET) を同時に接続してはならない。</u> | * <u>ピン2 (VCC_TOOL) と ピン4 (VCC_TARGET) を同時に接続してはならない。</u> | ||
<br> | <br> | ||
==== RST/NMIピンのコンデンサC<sub>1</sub>容量の選定ガイド ==== | ==== RST/NMIピンのコンデンサC<sub>1</sub>容量の選定ガイド ==== | ||
RST/NMIピンに接続するコンデンサC<sub>1</sub>の上限値は、SBW (Spy-Bi-Wire) 機能の有無によって異なる。<br> | RST/NMIピンに接続するコンデンサC<sub>1</sub>の上限値は、SBW (Spy-Bi-Wire) 機能の有無によって異なる。<br> | ||
| 315行目: | 300行目: | ||
== ターゲット基板の設計上の考慮事項 == | == ターゲット基板の設計上の考慮事項 == | ||
MSP- | MSP-FETを使用してデバッグを行うためには、ターゲット基板の設計時に重要な事柄を考慮する必要がある。<br> | ||
これらの考慮事項を無視する場合、デバッグが困難あるいは不可能になる場合がある。<br> | |||
<br> | <br> | ||
==== JTAGピンの保護 ==== | ==== JTAGピンの保護 ==== | ||
JTAGピン (TDI、TDO、TMS、TCK) | JTAGピン (TDI、TDO、TMS、TCK) は、製品の最終動作時には通常使用されないが、開発やデバッグ時には重要である。<br> | ||
つまり、これらのピンは、の回路要素から適切に保護される必要がある。<br> | |||
<br> | <br> | ||
特に注意すべき事柄として、JTAGピンには直列抵抗を接続しないことが挙げられる。<br> | |||
直列抵抗は、信号の立ち上がりと立ち下がりを遅くし、通信エラーの原因となる可能性がある。<br> | 直列抵抗は、信号の立ち上がりと立ち下がりを遅くし、通信エラーの原因となる可能性がある。<br> | ||
もし、JTAGピンを他の目的でも使用する必要がある場合は、0[Ω]抵抗や小さな値の抵抗 (22[Ω]~47[Ω]) を使用して、製品化時にはこれらをショートすることを検討する。<br> | |||
<br> | <br> | ||
==== デカップリングコンデンサ ==== | ==== デカップリングコンデンサ ==== | ||
MSP430マイコンの電源ピンには、必ずデカップリングコンデンサ (0.1[uF]のセラミックコンデンサ C<sub>3</sub>) を、VCCピンとGNDピンの間にできるだけ近い位置に必ず配置する必要がある。<br> | |||
<br> | <br> | ||
これは、マイコンの急激な電流変化を吸収して、電源電圧の安定化に寄与する役割がある。<br> | |||
また、デバッグ時の通信エラーを防ぐために重要である。<br> | |||
<br> | <br> | ||
また、追加コンデンサ (10[uF]程度の容量の大きいコンデンサ C<sub>2</sub>) の配置も推奨される。<br> | |||
これは、電源ライン全体を安定化させるためである。<br> | |||
<br> | <br> | ||
==== RSTピン ==== | |||
RSTピン (リセットピン) は、JTAGインターフェースにおいて重要である。<br> | |||
このピンは、デバッグ開始時において、MSP430マイコンをリセット状態 (初期化) にするために使用される。<br> | |||
<br> | <br> | ||
==== | ===== RSTピン回路 ===== | ||
47[kΩ]のプルアップ抵抗をVCCとRSTピンの間に接続する。<br> | |||
これは、RSTピンがフローティング状態になることを防ぎ、意図しないリセットを防止するためである。<br> | |||
<br> | <br> | ||
===== リセットボタンを使用する場合 ===== | |||
RSTピンの信号がLowになる時、RSTピンがGNDに接続されて、MSP430マイコンがリセットされる。<br> | |||
また、チャタリングを防止するため、コンデンサC<sub>1</sub>をRSTピンとGNDの間に配置する。<br> | |||
<br> | <br> | ||
コンデンサの値 (一般的には、0.01[uF] または 1100[pF]) は、MSP430ファミリーにより異なるため、ユーザガイドで推奨構成を確認すること。<br> | |||
<br> | <br> | ||
Spy-Bi- | ===== 14ピンJTAG使用時 ===== | ||
<u>JTAG通信およびSBW (Spy-Bi-Wire) の両対応のMSP430ファミリーを使用する時、JTAG通信を使用する場合でもC1の上限は2200[pF]を超えないようにする。</u><br> | |||
<br> | |||
===== SBW (Spy-Bi-Wire) 使用時 ===== | |||
SBW (Spy-Bi-Wire) 通信を使用する時、RST/NMI/SBWTDIOピンがJTAGアクセス中に双方向通信に使用される。<br> | |||
このピンに接続されている容量は、デバイスとの接続確立能力に影響を与える可能性がある。<br> | このピンに接続されている容量は、デバイスとの接続確立能力に影響を与える可能性がある。<br> | ||
<br> | <br> | ||
そのため、以下に示す事柄を遵守する必要がある。<br> | |||
* C1の上限値 | |||
*: 2200[pF] | |||
* Spy-Bi-Wire通信の標準値 | |||
*: 1100[pF] | |||
* C1の範囲 | |||
*: 100[pF]~2200[pF] | |||
*: ただし、SBW速度、電圧、基板設計により変わる。 | |||
*: MSP430ファミリーの固有の推奨値については、データシートを参照すること。 | |||
<br> | <br> | ||
==== | |||
==== TESTピン ==== | |||
TESTピンは、MSP430マイコンをJTAGモードに入れるために使用される特別なピンである。<br> | TESTピンは、MSP430マイコンをJTAGモードに入れるために使用される特別なピンである。<br> | ||
<br> | <br> | ||
<u>※注意</u><br> | |||
<u>TESTピンは、JTAGピンが多重化されているMSP430ファミリーメンバーでのみ使用可能であるため、TESTピンが使用可能かどうかはデータシートで確認すること。</u><br> | |||
<br> | <br> | ||
===== 接続 ===== | |||
TESTピンには、47[kΩ]のプルダウン抵抗 (過度なノイズやESDが懸念される用途では、500[Ω]~1[kΩ]) を接続することが推奨される。<br> | |||
プルダウン抵抗は、TESTピンを確実にLowレベルに保つために使用する。<br> | |||
<br> | <br> | ||
TESTピンの信号がHighになる時、MSP430マイコンはJTAGモードに入り、通常の動作を停止する。<br> | |||
製品の出荷時においては、TSTピンはLowレベルに保たれる必要がある。<br> | |||
<br> | <br> | ||
<u>※注意</u><br> | |||
<u>SBW (Spy-Bi-Wire) 通信を使用する場合、TESTピンはSBWTCKとして使用されるため、プルダウン抵抗の接続が特に重要となる。</u><br> | |||
<br> | <br> | ||
<u> | ===== 基板設計 ===== | ||
<u>製品の最終基板では、必ずJTAGコネクタ または Spy-Bi-Wireコネクタを実装する。</u><br> | |||
これにより、製造後のトラブルシューティングが可能となる。<br> | |||
<br> | |||
JTAGコネクタ または Spy-Bi-Wireコネクタのスペースが限られている場合は、テストポイント (パッド) を配置することを検討すること。<br> | |||
なお、テストポイントは、ポゴピンアダプタや治具を使用して接続することができる。<br> | |||
<br> | |||
<u>※注意</u><br> | |||
<u>JTAGピンをGPIOとして使用する場合は、プログラミング時にこれらのピンが正しく動作するように、適切な保護回路を実装すること。</u><br> | |||
<u>RSTピンとTESTピンの抵抗とコンデンサの値は、MSP430ファミリーによって異なる場合があるため、必ずMSP430ファミリーのユーザーガイドとデバイス固有のデータシートを参照すること。</u><br> | |||
<br><br> | <br><br> | ||
== プログラミングとデバッグの手順 == | == プログラミングとデバッグの手順 == | ||
==== 初回接続とデバイスの認識 ==== | ==== 初回接続とデバイスの認識 ==== | ||
MSP- | MSP-FETを初めて使用する場合 または 新しいターゲット基板に接続する場合には、以下に示す手順を実行する。<br> | ||
<br> | <br> | ||
# まず、MSP-FETをUSB経由でPCに接続する。 | |||
デバッグ設定では、使用するデバッガ (MSP-FET) | # ドライバが自動的にインストールされ、デバイスとして認識される。<br>Windows環境では、デバイスマネージャでMSP-FETが正しく認識されていることが確認できる。 | ||
<br> | #: <br> | ||
# 次に、ターゲット基板に電源を供給する。<br>MSP-FETは、ターゲット基板から電源電圧を検出するため、ターゲット基板に電源が供給されていることが必須である。 | |||
#: <br> | |||
# MSP-FETとターゲット基板をJTAGケーブル または Spy-Bi-Wireケーブルで接続する。 | |||
#: <br> | |||
# Code Composer Studioを起動して、デバッグ設定を行う。 | |||
#: デバッグ設定では、使用するデバッガ (MSP-FET) と ターゲットデバイス (例 : MSP430F149) を選択する。 | |||
#: <br> | |||
# [接続]ボタンを押下すると、Code Composer StudioはMSP-FETを介してターゲットマイコンと通信を試みる。 | |||
# 接続が成功した場合、MSP430F149マイコンのデバイス情報が表示されてデバッグが可能となる。 | |||
<br> | <br> | ||
==== プログラムのダウンロード ==== | ==== プログラムのダウンロード ==== | ||
プログラムをMSP430F149にダウンロードする手順は、使用する開発環境によって若干異なるが、基本的な流れは同じである。<br> | |||
<br> | <br> | ||
# まず、ソースコードをコンパイルして、実行可能ファイル (通常は.outまたは.elfファイル) を生成する。<br>この時、コンパイルエラーがある場合は、それらを修正してから次に進む。 | |||
#: <br> | |||
# 次に、Code Composer Studioのダウンロード機能 または プログラム機能を使用して、実行可能ファイルをMSP430F149のフラッシュROMに書き込む。<br>この処理には、通常数秒から数十秒掛かる。 | |||
#: <br> | |||
# 書き込みが完了した時、Code Composer Studioは書き込まれたプログラムを検証して、正しく書き込まれたことを確認する。 | |||
# 検証が成功した時、プログラムはMSP430F149マイコンに正常にダウンロードされたことになる。 | |||
#: <br> | |||
# MSP430F149をリセットすると、新しくダウンロードされたプログラムが実行される。 | |||
<br> | <br> | ||
==== デバッグの実行 ==== | ==== デバッグの実行 ==== | ||
デバッグは、プログラムの動作を確認して、バグを発見して修正するための重要なプロセスである。<br> | |||
MSP-FETは、強力なデバッグ機能を提供し、効率的なデバッグを可能にする。<br> | MSP-FETは、強力なデバッグ機能を提供し、効率的なデバッグを可能にする。<br> | ||
<br> | <br> | ||
| 440行目: | 419行目: | ||
<br> | <br> | ||
ステップ実行は、プログラムを1行ずつ実行する機能である。<br> | ステップ実行は、プログラムを1行ずつ実行する機能である。<br> | ||
ステップイン、ステップオーバー、ステップアウトなどの機能を使用して、関数呼び出しの内部に入ったり、関数呼び出しをスキップすることができる。<br> | |||
これにより、プログラムの動作を詳細に追跡することができる。<br> | これにより、プログラムの動作を詳細に追跡することができる。<br> | ||
<br> | <br> | ||
| 448行目: | 427行目: | ||
<br> | <br> | ||
メモリビューアは、マイコンのメモリ内容を直接確認する機能である。<br> | メモリビューアは、マイコンのメモリ内容を直接確認する機能である。<br> | ||
フラッシュROM、SRAM、ペリフェラルレジスタ等のメモリ領域を表示して、必要に応じて値を変更することもできる。<br> | |||
これは、低レベルのデバッグや、ハードウェアの動作確認に特に有用である。<br> | これは、低レベルのデバッグや、ハードウェアの動作確認に特に有用である。<br> | ||
<br> | <br> | ||