
Halo, Habr!
Pada artikel ini saya akan memberi tahu Anda cara memodifikasi ST-Link V2 ke ST-Link V2.1.
Mungkin bagi sebagian orang itu tidak akan menjadi berita, tetapi saya tidak menemukan informasi khusus mengenai topik ini di internet.
Siapa yang peduli - saya minta kucing.
Kata Pengantar
Kebetulan saya bosan dengan kabel tambahan.
Setelah berpikir sedikit, saya ingat bahwa pada papan Nucleo dan Discovery - ST-Link menggabungkan SWD dan VCP (Virtual Com Port).
Hal pertama yang terlintas dalam pikiran adalah membeli yang termurah dari papan ini, mencoba untuk membuang firmware melewati perlindungan dan mengisinya dengan programmer dari Cina, atau membiakkan papan baru.
Namun, mereka meminta saya tautan ke GitHub dengan bootloader yang sudah diperluas, pada akhirnya ternyata apa yang terjadi.
Mulai bekerja
Modifikasi hanya dapat dilakukan pada versi perangkat lunak untuk Windows, versi perangkat lunak lintas platform menolak untuk memperbarui perangkat!
Ada beberapa opsi modifikasi, dan beberapa di antaranya tidak dapat dibuat jika chip tidak cocok (tidak ada cukup memori).
Sebagai contoh, modifikasi STM32 + MSD + VCP hanya dapat dilakukan jika chip STM32F1xxCBxx, namun, ia memiliki analog STM32 + Audio, yang akan memberikan STM32 + VCP (pada prinsipnya, yang kita butuhkan).
Anda akan membutuhkan:
- Besi solder;
- Multimeter dengan pepatah;
- PC dengan Windows (dapat melewati Wine, belum mencoba);
-
Arsipkan dengan perangkat lunak dan bootloader yang diperlukan (LULUS: QWK2tn + fM.EdjX6z).
- Klon Cina ST-Link V2;
- Adaptor USB-UART atau ST-Link kedua.
Kami mengungkapkan ...
Papan dan chip semuanya berbeda Firmware
Ada dua cara - USB-UART (sedikit lebih rumit) atau ST-Link kedua.
USB UART
1) Dengan tombol, kita menemukan resistor yang terhubung ke
BOOT0 .
Kami membuat jumper dari sisi resistor ini yang terhubung ke
BOOT0 ke
3.3v .
PA9 (TX) dapat dihubungkan ke LED atau resistor di sebelahnya, oleh karena itu kami menyebutnya.
Solder
UART ke
PA9 (
TX ) dan
PA10 (
RX ).
Saya melakukannya seperti ini:

Kami juga menyolder makanan.
Mem-flash bootloader Protected-2-1-Bootloader.bin menggunakan
demonstrator loader STM32 Flash .
Setelah flashing, solder jumper,
PA9 dan
PA10 (biarkan
PA10 jika kita ingin output
SWO ).
ST-Link
Ada 4 pin pada papan, dalam beberapa kasus mereka sudah ditandai, jika tidak mereka dipanggil sehubungan dengan
PA13 (
SWDIO ) dan
PA14 (
SWCLK ), disolder oleh
ST-Link kedua.

Kami juga menyolder makanan.
Kami menginstal STM32 ST-LINK Utility V4.3 dari arsip, menghapus proteksi penulisan dan mem-flash bootloader Protected-2-1-Bootloader.bin.
Untuk menghapus perlindungan dalam program
STM32 ST-LINK Utility , klik
Target> Opsi Bytes , alihkan
Read Out Protection ke
Disabled dan klik
Apply .
Perbarui ke ST-Link V2.1
Setelah firmware, kami menghubungkan ST-Link yang dijahit (sudah hampir V2.1) ke PC.
Dalam program
STM32 ST-LINK Utility V4.3, klik
ST-LINK> Pembaruan firmware .
Klik
Device Connect - kami mendapatkan daftar kemungkinan modifikasi:

Kami memilih modifikasi yang Anda butuhkan, dalam kasus saya
STM32 + MSD + VCP , klik
Ya >>>> .
Kami menunggu pembaruan selesai ...

Untung!
Bagian terakhir
Karena SWIM dan RST tidak berfungsi setelah modifikasi seperti itu, saya memotongnya.
Saya juga memotong duplikat 5V dan 3.3V.
Ternyata 4 pin gratis.
Pada mereka saya solder kabel ke chip:
PA10 -> SWO
PB0 -> NRST
PA3 -> RX
PA2 -> TXSaya output semuanya ke konektor utama, ke pin gratis yang tersisa.
Hasilnya seperti pinout:

Perangkat saya setelah modifikasi Jangan lupa untuk mencuci papan setelah menyolder!
Akibatnya, di PC, perangkat didefinisikan sebagai berikut:


Saya tidak tahu berapa volume flash drive virtual (dalam hal ini, F103C8 terhubung ke ST-Link V2.1).
Jika Anda mengunggah file firmware ke dalamnya, programmer akan mem-flash chip tanpa program.
Memeriksa VCP:

Terima kasih atas perhatian anda!
Saat menyalin, silakan tinggalkan tautan ke sumber.
Dengan pertanyaan, silakan hubungi di komentar, yang saya bisa - saya akan membantu.