| (同じ利用者による、間の11版が非表示) | |||
| 157行目: | 157行目: | ||
柔軟性が不要な場合は、必要な接続方法を直接配線してジャンパブロックを省略することもできる。<br> | 柔軟性が不要な場合は、必要な接続方法を直接配線してジャンパブロックを省略することもできる。<br> | ||
<br> | <br> | ||
==== 14ピンJTAG接続 | ==== 14ピンJTAG接続 ==== | ||
下図に、MSP430F149マイコンと14ピンJTAGコネクタとの接続を示す。<br> | |||
<br> | <br> | ||
[[ファイル:MSP430F149 JTAG Debugging.png|フレームなし|中央|775x625px]] | |||
<br> | <br> | ||
* ※注記1 - 電源供給の選択 | |||
*: ターゲットボード側でローカル電源を使用する場合は <u>JP1 - 3</u> を接続する。 | |||
*: MSP-FETから電源を供給する場合は <u>JP1 - 1</u> を接続する。 | |||
*: <br> | |||
* ※注記2 - RST/NMIピンのR1とC1の設定 | |||
*: RST/NMIピンのR1とC1の構成はデバイスファミリーにより異なる。 | |||
*: MSP430F14xファミリーでは、回路図に示されているように 47[kΩ]のプルアップ抵抗 と 0.01[uF]のコンデンサ が標準的な値である。 | |||
*: これにより、リセット信号のノイズ耐性と適切な立ち上がり時間を確保する。 | |||
*: MSP430F149のデータシート [6.9.1]セクションでも、このRSTピン回路の推奨値が記載されている。 | |||
*: <br> | |||
* ※注記3 - TESTピンの有無 | |||
*: TESTピンは、多重化されたJTAGピンを持つMSP430ファミリーメンバーでのみ使用可能である。 | |||
*: <br> | |||
*: <u>ただし、MSP430F149にはTESTピンは存在しない。</u> | |||
*: TESTピンは後の世代であるMSP430F2xx、G2xxシリーズ以降で導入されたものであり、JTAGピンがポートピンと多重化されているデバイスで使用される。 | |||
*: <br> | |||
* ※注記4 - JTAGコネクタRSTピン接続の必要性 | |||
*: JTAGコネクタのRSTピンへの接続は、SBW (Spy-Bi-Wire) 通信をサポートするデバイスをプログラミングまたはデバッグする場合に必須である。 | |||
*: これは、JTAG通信を使用している場合でも同様である。 | |||
*: ただし、SBW (Spy-Bi-Wire) 通信をサポートしないデバイスでは、この接続はオプション (任意) である。 | |||
*: <br> | |||
*: MSP430F149はJTAG通信のみに対応しているため、JTAGコネクタのRSTピン接続はオプション (任意) となる。 | |||
*: <u>ただし、実務においては、以下に示す理由から接続することを推奨する。</u> | |||
*:* JTAGコマンドによるリセットが失敗した場合の予備手段として機能する。 | |||
*:* デバッグツールが確実にデバイスをリセットすることができる。 | |||
*: <br> | |||
* ※注記5 - SBW (Spy-Bi-Wire) 通信デバイスでのC1容量制限 | |||
*: SBW (Spy-Bi-Wire) 通信をサポートするマイコンをJTAG通信で使用する場合、C1の上限値は2.2[nF]を超えてはならない。 | |||
*: SBW (Spy-Bi-Wire) 通信の標準値は1.1[nF]である。 | |||
*: この範囲は、SBW速度、電圧、基板設計により、0.1[nF]〜2.2[nF]の間で変化することがある。 | |||
*: <br> | |||
*: ただし、MSP430F149はSBW (Spy-Bi-Wire) 通信に対応していないため、この制限は適用されない。 | |||
*: MSP430F14xファミリーでは、RST/NMIピンのC1として <u>0.01[uF]が推奨値</u> である。 | |||
*: これは注記Eの2.2[nF]の制限よりも大きい値であるが、MSP430F149では問題ない。 | |||
*: この値により、リセット信号のノイズフィルタリングと適切なデバウンス特性が得ることができる。 | |||
*: <br> | |||
* ※注記6 - ノイズ・ESD対策のプルダウン抵抗 | |||
*: 過度なノイズやESD (静電気放電) が懸念される用途では、ターゲットデバイスの適切なプログラミングを維持しながら、 | |||
*: 500[Ω]〜1[kΩ]のプルダウン抵抗をTESTピンに追加することができる。 | |||
*: <br> | |||
*: <u>MSP430F149にはTESTピンが存在しないため、この注記は該当しない。</u> | |||
*: ただし、ノイズ・ESD対策として、以下に示す事柄に注意すること。 | |||
*:* <u>JTAGピン (TDO/TDI、TDI/TCLK、TMS、TCK) にはESD保護回路が内蔵されているが、高ノイズ環境では信号ラインに直列抵抗 (22[Ω]〜47[Ω]程度) の追加を検討する。</u> | |||
*:* <u>GNDプレーンを適切に配置して、信号ラインの長さを最小限に抑える。</u> | |||
<br> | <br> | ||
<u>※注意</u><br> | |||
<br> | <u>JTAG通信の接続時において、以下に示す事柄を確認する必要がある。</u><br> | ||
* <u>ピン1の位置を正しく確認すること。<br>コネクタには通常、切り欠きやマークでピン1が示されている。</u> | |||
* | * <u>ターゲット基板の電源電圧が、MSP-FETの対応範囲 (1.8[V]~3.6[V]) 内であることを確認すること。</u> | ||
* <u>MSP-FETはターゲット基板の電源電圧を検出して動作するため、ターゲット基板に電源が供給されていることを確認すること。</u> | |||
* | |||
<br> | <br> | ||
==== SBW (Spy-Bi-Wire) 接続 ==== | ==== SBW (Spy-Bi-Wire) 接続 ==== | ||
MSP430F149マイコンでは、SBW (Spy-Bi-Wire) 通信は非対応である。<br> | |||
<br> | <br> | ||
<u>※注意1</u><br> | <u>※注意1</u><br> | ||
| 220行目: | 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> | ||
| 290行目: | 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> | ||
また、追加コンデンサ (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> | ||
===== 14ピンJTAG使用時 ===== | |||
<u>JTAG通信およびSBW (Spy-Bi-Wire) の両対応のMSP430ファミリーを使用する時、JTAG通信を使用する場合でもC1の上限は2200[pF]を超えないようにする。</u><br> | |||
<br> | <br> | ||
Spy-Bi- | ===== 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> | |||
===== 接続 ===== | |||
TESTピンには、47[kΩ]のプルダウン抵抗 (過度なノイズやESDが懸念される用途では、500[Ω]~1[kΩ]) を接続することが推奨される。<br> | |||
プルダウン抵抗は、TESTピンを確実にLowレベルに保つために使用する。<br> | |||
<br> | <br> | ||
TESTピンの信号がHighになる時、MSP430マイコンはJTAGモードに入り、通常の動作を停止する。<br> | |||
製品の出荷時においては、TSTピンはLowレベルに保たれる必要がある。<br> | |||
<br> | |||
<u>※注意</u><br> | |||
<u>SBW (Spy-Bi-Wire) 通信を使用する場合、TESTピンはSBWTCKとして使用されるため、プルダウン抵抗の接続が特に重要となる。</u><br> | |||
<br> | <br> | ||
Spy-Bi- | ===== 基板設計 ===== | ||
<u>製品の最終基板では、必ずJTAGコネクタ または Spy-Bi-Wireコネクタを実装する。</u><br> | |||
これにより、製造後のトラブルシューティングが可能となる。<br> | |||
<br> | <br> | ||
JTAGコネクタ または Spy-Bi-Wireコネクタのスペースが限られている場合は、テストポイント (パッド) を配置することを検討すること。<br> | |||
なお、テストポイントは、ポゴピンアダプタや治具を使用して接続することができる。<br> | |||
<br> | <br> | ||
<u> | <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に接続する。 | |||
# ドライバが自動的にインストールされ、デバイスとして認識される。<br>Windows環境では、デバイスマネージャでMSP-FETが正しく認識されていることが確認できる。 | |||
#: <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> | ||
| 415行目: | 419行目: | ||
<br> | <br> | ||
ステップ実行は、プログラムを1行ずつ実行する機能である。<br> | ステップ実行は、プログラムを1行ずつ実行する機能である。<br> | ||
ステップイン、ステップオーバー、ステップアウトなどの機能を使用して、関数呼び出しの内部に入ったり、関数呼び出しをスキップすることができる。<br> | |||
これにより、プログラムの動作を詳細に追跡することができる。<br> | これにより、プログラムの動作を詳細に追跡することができる。<br> | ||
<br> | <br> | ||
| 423行目: | 427行目: | ||
<br> | <br> | ||
メモリビューアは、マイコンのメモリ内容を直接確認する機能である。<br> | メモリビューアは、マイコンのメモリ内容を直接確認する機能である。<br> | ||
フラッシュROM、SRAM、ペリフェラルレジスタ等のメモリ領域を表示して、必要に応じて値を変更することもできる。<br> | |||
これは、低レベルのデバッグや、ハードウェアの動作確認に特に有用である。<br> | これは、低レベルのデバッグや、ハードウェアの動作確認に特に有用である。<br> | ||
<br> | <br> | ||