
この記事では、ST-Link V2をST-Link V2.1に変更する方法を説明します。
おそらくそれはニュースではないかもしれませんが、インターネットでこのトピックに関する特別な情報を見つけることができませんでした。
誰が気にする-私は猫をお願いします。
まえがき
余計なワイヤーにうんざりしているのはたまたま起こった。
少し考えた後、NucleoとDiscoveryボードでは、ST-LinkがSWDとVCP(Virtual Com Port)を組み合わせていることを思い出しました。
最初に思いついたのは、これらのボードのうち最も安いボードを購入し、保護をバイパスしてファームウェアをダンプし、中国のプログラマーでそれを埋めるか、新しいボードを作成することでした。
しかし、彼らは、すでに拡張されたブートローダーを備えたGitHubへのリンクを私に促し、最終的には何が起こったのかがわかりました。
仕事を始める
修正は、Windowsのソフトウェアバージョンでのみ実行できます。クロスプラットフォームソフトウェアバージョンは、デバイスの更新を拒否します!
いくつかの修正オプションがあり、チップが適切でない場合(十分なメモリがない場合)、それらの一部を作成できません。
たとえば、STM32 + MSD + VCPの変更は、チップがSTM32F1xxCBxxの場合にのみ実行できますが、STM32 + VCPを提供するSTM32 + Audioのアナログを持っています(原則として、これが必要です)。
あなたが必要になります:
-はんだごて。
-ことわざを持つマルチメーター。
-Windowsを搭載したPC(Wineを使用できますが、試していません);
- 必要なソフトウェアとブートローダーでアーカイブします (PASS:QWK2tn + fM.EdjX6z)。
-中国のクローンST-Link V2。
-USB-UARTアダプターまたは2番目のST-Link。
私たちは明らかにします...
ボードとチップはすべて異なります



ファームウェア
USB-UART(もう少し複雑)または2番目のST-Linkの2つの方法があります。
USB UART
1)ダイヤルで、 BOOT0に接続されている抵抗を見つけます。
BOOT0に接続されているこの抵抗器の側から3.3vにジャンパーを作成します 。
PA9(TX)はLEDまたはその隣の抵抗に接続できるため、呼び出します。
UARTをPA9 ( TX )およびPA10 ( RX )にはんだ付けします。
私はこのようにしました:
食品もはんだ付けします。
STM32フラッシュローダーデモンストレーターを使用して、Protected-2-1-Bootloader.binブートローダーをフラッシュします。
点滅後、ジャンパーPA9とPA10をはんだ付けします( SWOを出力する場合はPA10をそのままにします)。

1)ダイヤルで、 BOOT0に接続されている抵抗を見つけます。
BOOT0に接続されているこの抵抗器の側から3.3vにジャンパーを作成します 。
PA9(TX)はLEDまたはその隣の抵抗に接続できるため、呼び出します。
UARTをPA9 ( TX )およびPA10 ( RX )にはんだ付けします。
私はこのようにしました:

食品もはんだ付けします。
STM32フラッシュローダーデモンストレーターを使用して、Protected-2-1-Bootloader.binブートローダーをフラッシュします。
点滅後、ジャンパーPA9とPA10をはんだ付けします( SWOを出力する場合はPA10をそのままにします)。
ST-Link
ボードには4つの接点があり、場合によっては既にマークされていますが、2つ目のST-Linkによってはんだ付けされているPA13 ( SWDIO )およびPA14 ( SWCLK )に関して呼び出されます。
食品もはんだ付けします。
アーカイブからSTM32 ST-LINK Utility V4.3をインストールし、書き込み保護を解除して、Protected-2-1-Bootloader.binブートローダーをフラッシュします。
STM32 ST-LINKユーティリティプログラムで保護を解除するには、[ ターゲット ] > [オプションバイト ]をクリックし、[ 読み取り保護 ]を[ 無効 ]に切り替えて[ 適用 ]をクリックします。

ボードには4つの接点があり、場合によっては既にマークされていますが、2つ目のST-Linkによってはんだ付けされているPA13 ( SWDIO )およびPA14 ( SWCLK )に関して呼び出されます。

食品もはんだ付けします。
アーカイブからSTM32 ST-LINK Utility V4.3をインストールし、書き込み保護を解除して、Protected-2-1-Bootloader.binブートローダーをフラッシュします。
STM32 ST-LINKユーティリティプログラムで保護を解除するには、[ ターゲット ] > [オプションバイト ]をクリックし、[ 読み取り保護 ]を[ 無効 ]に切り替えて[ 適用 ]をクリックします。
ST-Link V2.1への更新
ファームウェアの後、フラッシュされたST-Link(すでにほぼV2.1)をPCに接続します。
STM32 ST-LINK Utility V4.3プログラムで、 ST-LINK> Firmware updateをクリックします。
[ デバイス接続]をクリックします。可能な変更のリストが表示されます。

必要な変更を選択します。私の場合はSTM32 + MSD + VCPで 、 はい>>>>をクリックします。
更新が完了するのを待っています...

利益!
最後の部分
SWIMとRSTはそのような変更の後は機能しないため、それらを切断しました。
また、重複する5Vと3.3Vも切り取ります。
4つの空きピンが判明します。
それらで私はチップに配線をはんだ付けします:
PA10-> SWO
PB0-> NRST
PA3-> RX
PA2-> TX
すべてをメインコネクタ、残りの空きピンに持ってきます。
結果はそのようなピン配置でした:

変更後のデバイス
私はメスでケースのマーキングを走り書きしました:


私はメスでケースのマーキングを走り書きしました:

はんだ付け後にボードを洗浄することを忘れないでください!
その結果、PCでは、デバイスは次のように定義されます。


仮想フラッシュドライブのボリュームが何なのかわかりません(この場合、F103C8はST-Link V2.1に接続されていました)。
ファームウェアファイルをアップロードすると、プログラマはプログラムなしでチップをフラッシュします。
VCPの確認:

ご清聴ありがとうございました!
コピーするときは、ソースへのリンクを残すようお願いします。
質問がある場合は、できる限りコメントでご連絡ください-お手伝いします。