STM32ダウンロードプログラムの3つの方法(シリアルポート、ST-LINK、ST-LINKユーティリティ)

ST-LINK v2の配線とダウンロードプログラム

ここに画像の説明を挿入

ST-Link V2

ST-Link v2 は、STM8 および STM32 シリーズ マイクロコントローラ用のオンライン エミュレータおよびダウンローダです。STM8はSWIMインターフェースモードを採用STM32 は SWD インターフェイス モードを使用します、したがって、ST-Link は 2 つのインターフェイス モードで生まれます。

ST-Link V2 は、STM32 ファミリのすべてのチップ モデルをサポートしています。独自の機能があるため、jlink ob よりも少し包括的です.たとえば、ob モデルは H7 シリーズの STM32 をサポートできません。

Jlink ob

ST-link は、STM8、STM32 の全範囲のチップをサポートしています。

Jlink ob は Cortex-M0\M1\M2\M3M4\A5\A8\A9 ST (STMicroelectronics) Freecale (Freescale) NXP (NXP) をサポートします。

純粋なSTシリーズがST-Linkの開発に有利な点が多いのであれば、マルチチップ開発OBの方が優れているのであれば、両方を持っているのがベストです。

覚えて

対象チップの電源は一方向のまま

ST-Link の VCC を使用する場合は、他の電源を接続しないでください。

ターゲット ボードに外部電源が供給されている場合は、エミュレータの VCC を切断します。

逆電力がST-Linkに供給されるのを防ぎ、一定の保護の役割を果たすことができます

ST-Link V2の配線

インターフェイスの説明:

フロント(パソコン側) USBインターフェース

バックエンド (MCU エンド) 10 ピン ヘッダー; 5V、3.3V 電源

SWD 配線 (STM32 用): 3.3V、GND、SWDIO、SWCLK

SWIM 配線 (STM8 用): 3.3V、GND、SWIM、RST

MCUの実際の電源要件に応じて、5Vまたは3.3Vの選択的な電源を使用できます

エミュレータによってはピンが異なる場合がありますが、上記の 2 つの配線方法でリストされたピンを接続し、他のピンは空白のままにしてください。

ダウンロードプログラム

シリアルダウンロード

まず、お手持ちの STM32 開発ボードがシリアルポートダウンロードに対応しているかどうかを確認してください.販売者から提供された情報には、サポートされているダウンロード方法が説明されています.

私の手元にあるSTM32F103C8T6開発ボードは、USBシリアルポートのダウンロードとST-Link SWDのダウンロードをサポートしています

ここに画像の説明を挿入

1. 最初に CH340 ドライバーをコンピューターにインストールします。

2. STM ISP ダウンローダー MCUISP を開き、ダウンロードする hex ファイルを選択します。

ここに画像の説明を挿入

3. USB to TTL ダウンローダ (CH340) の TXD、RXD、および GND を開発ボードの RXD、TXD、および GND に接続し、ダウンローダのもう一方の端をコンピュータに接続します。

4.開発ボードの BOOT0 を 1 端子にジャンプさせます。

ここに画像の説明を挿入

開発ボードには、BOOT0 と BOOT1 のステータスを調整するための 2 つのジャンパがあります。キャップを上にジャンプすると高レベルの 1 を選択し、下にジャンプすると低レベルの 0 を選択します。

BOOT0 と BOOT1 は、STM32 の起動モードを設定するために使用されます。

ここに画像の説明を挿入

ここでは、USB を使用してダウンロードします。つまり、シリアル ポート ダウンロードなので、表の 2 番目の方法を選択します。BOOT0 は 1 を選択、BOOT1 は 0 を選択

4. 次に、ダウンローダがポート番号を表示します。ボーレートはデフォルトで、最速は 460800 です。

ここに画像の説明を挿入

5. クリックしてプログラミングを開始すると、待機中の接続が右側に表示されます

ここに画像の説明を挿入

6. この時点で、開発ボードの電源がオンになり、プログラムが自動的にダウンロードされます。

ここに画像の説明を挿入

7. プログラムのダウンロード後、ボードの LED ライトが点滅しますが、リセット ボタンを押すか、電源をオフにして再起動すると、シリアル ポート ダウンロードのブート モードがオンになっているため、LED ライトは点滅しません。 ISP であり、正常に実行するには、falsh 領域から開始するように切り替える必要があります。

したがって、ダウンロード後、BOOT0 のジャンパを 0 に戻すことを忘れないでください。BOOT0 と BOOT1 は両方とも 0 です。これにより、プログラムは falsh 領域から開始され、開発ボードの LED ライトをいつでもオンにすることができます。

ST-Link V2 ダウンロード

1. 最初に ST-Link ドライバーをインストールし、64 ビット コンピューター用の amd64.exe インストーラーを選択して、次の手順に進みます。

ここに画像の説明を挿入

2. ドライバーが正常にインストールされました

ここに画像の説明を挿入

3. ST-Link V2 をコンピュータに挿入すると、デバイス管理に ST-Link のシリアル ポートが表示され、ドライバが正常であることを示します。

ここに画像の説明を挿入

4. ST-Link V2 の SWDIO, GND, SWCLK, 3.3V を開発ボードの DIO, GND, CLK, 3.3 ピンに接続します. 一部のボードには異なるシルク スクリーン マーキングがありますが、それらは対応して表示されます。コンピュータに接続された ST-Link

5. keil ソフトウェアを開き、プロジェクトを開き、マジック ワンドを開き、[デバッグ] を選択し、[ST-Link デバッガー] を選択して、[設定] をクリックします。

ここに画像の説明を挿入

6. ポートはデフォルトで JTAG ですが、SW に変更します。

ここに画像の説明を挿入

7. フラッシュ ダウンロード インターフェイスでは、まず、ダウンロード機能の 3 つのチェックにチェックを入れる必要があります.リセットと実行は、デフォルトではチェックされていません.これは、MCU を再起動し、ダウンロード後にプログラムを実行するためです。成功し、現象はありません。おそらくここではチェックされていません。

[追加] をクリックして、手元にある開発ボードのモデルを確認します。手元にあるのは STM32F103C8T6 です。STM32F10x シリーズを見つけ、中容量の Med-density 128k を選択し、最後に [OK] をクリックします。

ここに画像の説明を挿入

8. 魔法​​の杖が開いているインターフェイスに戻り、[ユーティリティ] をクリックし、[ST-Link Debugger] を選択して、[OK] をクリックします。

ここに画像の説明を挿入

9.プログラミングインターフェイスに戻り、最初にプログラムをコンパイルし、コンパイルが成功したことを確認してから、ダウンロードオプションをクリックします

ここに画像の説明を挿入

10. Verify OK と表示されたら、プログラムが正常にダウンロードされたことを意味し、開発ボードの LED ライトが点滅します。

ここに画像の説明を挿入

STM32 ST-LINK ユーティリティのダウンロード

STM32 ST-LINK Utility は、すべての STM32 チップのプログラミング (読み取り、書き込み、消去、オプション ワード) 用のツールです。

ST-LINKユーティリティは、ST-Link(複数バージョン)のダウンロードデバッガのみ対応しており、対応チップはSTM32のみです。

1. ST-LINK Utility ツールをパソコンにインストールする

2. ツールを開き、ST-Link V2 をコンピューターに接続し、もう一方の端を SWD で開発ボードに接続し、ツールの [接続] をクリックして ST-Link V2 に接続します。
ここに画像の説明を挿入

3. デバイス接続成功インターフェイス

ここに画像の説明を挿入

4. kei ソフトウェアによって生成された hex ファイルを開きます

ここに画像の説明を挿入

5. Target の Program オプションをクリックしてダウンロードを開始するか、下の図のグラフィックを直接クリックして、ダウンロード ボックスが表示されたら、ダウンロードしたファイルが正しいことを確認してから、Start をクリックしてダウンロードを開始します。プログラム

ここに画像の説明を挿入

6. プログラムが正常にダウンロードされたというメッセージが表示され、開発ボードに対応する現象が発生した場合は、プログラムが開発ボードに正常にダウンロードされたことを意味します。

ここに画像の説明を挿入

STM32 ST-LINK ユーティリティの読み取り

STM32 ST-LINK Utility ツールを使用して、読み取りの開始アドレス、サイズ、および幅を設定します。読み取りは、チップが接続された後に実際に自動的に読み取られます。

ここに画像の説明を挿入

STM32 ST-LINK ユーティリティ消去

ここに画像の説明を挿入

hexファイルとbinファイルの違い

16進ファイル

簡単に言うと、Hex は Intel によって開発された 16 進数の標準ファイル形式で、コンパイラによって変換され、プロセッサでファイルをダウンロードするために使用されます。

16 進ファイル形式は、16 進データの行ごとに構成され、各行には、開始、長さ、データ、タイプ、チェックサム、およびその他の重要な情報が含まれています。

ビンファイル

Hex ファイルには特定の形式がありますが、Bin ファイルは形式のないプログラム ファイルですが、プログラム データのみが含まれています。そのため、bin ファイルをダウンロードする際に開始アドレスを指定する必要があり、開始アドレスが間違っているとプログラムが正常に動作しません。

おすすめ

転載: blog.csdn.net/weixin_46251230/article/details/126301012