
Hai Geektimes!
Hari ini saya ingin berbicara tentang penyelesaian ST-Link Cina v2 dengan besi solder. Anda dapat menambahkan output SWO untuk menerima informasi debug dan kaki kontrol Reset untuk mikrokontroler STM32 (kaki Reset yang sudah ada untuk STM8). Mungkin bagi banyak orang ini bukan penemuan, tetapi biarkan ada informasi untuk pemula. Siapa yang peduli, tolong, di bawah kucing.
Mengapa itu dibutuhkan?Antarmuka SWD yang digunakan untuk debugging mikrokontroler STM32 mendukung transfer informasi debug melalui output SWO secara real time, yang sangat nyaman. Yah, kaki Reset diperlukan agar flash controller bisa lebih nyaman jika antarmuka SWD dinonaktifkan. Alasannya tentu saja tidak masuk akal, karena untuk firmware Anda selalu dapat menekan tombol Reset dengan gagangnya, tetapi biarkan saja. Sebagai contoh, pada awal perkenalan saya dengan STM32, saya menerima papan debug dari China dengan program demo yang berkedip dengan LED yang berkedip dan SWD yang dinonaktifkan, saya tidak segera mengerti bagaimana menghubungkannya.
Revisi sendiri
Kami membutuhkan pisau bedah, besi solder dan beberapa sentimeter dari kawat yang sangat tipis, saya memilikinya MGTF * beberapa * di sana. Pada programmer ini, konektor dibagi menjadi dua bagian: yang kiri untuk STM8 dan yang kanan untuk STM32, sehingga Reset yang ada tidak cocok untuk STM32, kami akan lakukan sendiri.
Pertama-tama, potong trek menuju pin yang tidak perlu. Pada programmer modifikasi pertama saya, saya memotong kaki Reset dan SWIM, karena saya tidak berencana untuk bekerja dengan STM8, tapi sekarang saya akan menggunakan pin 3,3 dan 5 V tambahan (mereka digandakan pada konektor), agar tidak merusak fungsi programmer, itu akan berguna.
Kabel harus disolder ke kaki mikrokontroler 18 (Reset) dan 31 (SWO). Itu pelajaran lain, tetapi dengan beberapa keterampilan Anda bisa melakukannya. Kabel saya masuk ke lubang di papan, yang memberikan fiksasi tambahan. Secara umum, dengan cara yang baik, Anda harus segera memperbaikinya dengan lem pada mikrokontroler. Solder ujung bebas melalui resistor kecil (biarkan 22 Ohm) ke pin yang baru dipotong.
Anda dapat menutup kasing dan menandatangani kesimpulan baru, jadi jangan lupa di mana yang mana.
Periksa SWO

Untuk menggunakan
SWO Anda harus:
- aktifkan
SWD ;
- aktifkan output yang sesuai (untuk mikrokontroler STM32F103C adalah PB3) di
TRACESWO ;
- pastikan bahwa
SWO termasuk dalam lingkungan pemrograman, dan tidak
semihosting ;
- di header program, sambungkan perpustakaan
#include "stdio.h" ;
- gunakan
printf dalam kode program
("Hello STM32 world! \ R \ n") ;
Anda dapat melihat pesan-pesan ini melalui terminal dalam program STM32 ST-LINK Utility, atau langsung selama debugging di lingkungan saya (saya menggunakan IAR).
Setel Ulang PemeriksaanMisalkan, karena suatu alasan, SWD dinonaktifkan pada mikrokontroler: Anda lupa menyalakannya selama inisialisasi, atau papan baru datang dengan program demo berkabel. Tentu saja, Anda dapat mem-flash dengan menarik kaki Reset ke tanah (biasanya ada tombol pada papan debug), tetapi ini tidak selalu nyaman. Anda cukup menghubungkan kontak dari programmer dan menjahit secara otomatis.
Di program STM32 ST-LINK Utility yang sama, pilih "Connect under reset" dan sambungkan untuk mem-flash atau menghapus memori mikrokontroler.
Atau di IDE Anda, pilih item yang sesuai:
Ini akan memungkinkan Anda untuk mem-flash dan masuk ke mode debug, tetapi begitu Anda mencapai inisialisasi periferal, SWD akan memutuskan koneksi dan koneksi dengan controller akan hilang.
Terima kasih atas perhatian Anda, saya harap ada yang berguna.