Sebelumnya kami telah memperkenalkan alat debugger perangkat keras / programmer; sekarang mari kita pelajari bersama-sama tentang programmer ST-Link. Dalam artikel ini, Anda akan mempelajari berbagai versi ST-Link, perbedaannya, serta cara menggunakannya untuk memprogram chip Anda.
Versi ST-Link
Saat ini, terdapat tiga versi ST-Link: ST-LINK/V1, ST-LINK/V2, dan ST-LINK/V3. Di sisi lain, papan pengembangan ST juga dilengkapi dengan alat ST-Link-nya sendiri, namun versi ST-Link yang digunakan bervariasi tergantung pada papan pengembangan yang digunakan.
ST-LINK V1
ST-LINK V1 adalah versi paling awal, dan saat ini hanya sedikit orang yang menggunakannya di pasaran.

ST-LINK V2
Versi ST-LINK V2 dapat dibagi menjadi dua: ST-LINK/V2 (versi standar) dan ST-LINK/V2-ISOL (versi terisolasi). Di antara keduanya, versi ISOL (Isolasi) dilengkapi dengan isolasi 1000 V. Versi ini relatif mahal.


ST-LINK V3
STLINK-V3 juga memiliki beberapa kategori:
STLINK-V3SET
STLINK-V3SET adalah seperangkat alat pemrograman unduh yang berfungsi penuh dan tidak bergantung pada papan evaluasi ST, serta merupakan alat STLINK-V3 yang populer. Produk ini dijual seharga $35.

STLINK-3MINI
Pada tahun 2019, ST meluncurkan STLINK-3MINI yang lebih ringkas dan kecil, dengan ukuran hanya 15 x 30 mm, dan harganya saat mulai dijual hanya $9,75.

STLINK-V3MODS
Fungsi STLINK-V3MODS dan STLINK-V3MINI pada dasarnya sama, tetapi skenario penggunaannya berbeda. Anda bisa menganggapnya sebagai "versi mini" dari STLINK-V3MINI.

B-STLINK-VOLT
Papan B-STLINK-VOLT adalah modul tambahan/papan adaptor untuk STLINK-V3SET. Papan ini lebih cocok untuk sistem STM32 bertegangan rendah (seperti 1,8 V).

B-STLINK-ISOL
B-STLINK-ISOL mirip dengan B-STLINK-VOLT dan juga merupakan "papan ekspansi" untuk STLINK-V3SET. Papan ini menyediakan fungsi isolasi galvanik dan konversi tegangan, serta digunakan bersama mikrokontroler dengan tegangan di bawah 3,3 V.

STLINK-V3PWR
STLINK-V3PWR, yang diluncurkan pada Maret 2023, adalah perangkat keras ST-Link yang digunakan untuk memantau dan men-debug arus daya rendah pada STM32. Harga saat peluncuran adalah $93,10.

Berbagai Antarmuka ST-LINK
Antarmuka SWIM
Antarmuka SWIM digunakan untuk melakukan debug dan mengunduh data pada STM8. Antarmuka ini hanya memiliki empat kabel dan didefinisikan sebagai berikut:
| ST-LINK Port | STM8 Target Board | Function |
|---|---|---|
| VDD | MCU VCC | Connects to STM8's power supply VCC |
| DATA | MCU SWIM PIN | Connects to STM8's SWIM pin |
| GND | GND | Connects to STM8's GND |
| RESET | MCU RESET PIN | Connects to STM8's reset pin |
Antarmuka JTAG/SWD
Antarmuka ST-Link/V2 JTAG/SWD didefinisikan sebagai berikut:
| Pin | ST-LINK Port | Target STM32 (JTAG) | Target STM32 (SWD) |
|---|---|---|---|
| 1 | TVCC | MCU VDD | MCU VDD |
| 2 | TVCC | MCU VDD | MCU VDD |
| 3 | TRST | JNTRST | GND |
| 4 | GND | GND | GND |
| 5 | TDI | JTDI | GND |
| 6 | GND | GND | GND |
| 7 | TMS_SWDIO | JTMS | SWDIO |
| 8 | GND | GND | GND |
| 9 | TCK_SWCLK | JTCK | SWCLK |
| 10 | GND | GND | GND |
| 11 | NC | NC | NC |
| 12 | GND | GND | GND |
| 13 | TDO_SWO | JTDO | TRACESWO (for SWV) |
| 14 | GND | GND | GND |
| 15 | NRST | NRST | NRST |
| 16 | GND | GND | GND |
| 17 | NC | NC | NC |
| 18 | GND | GND | GND |
| 19 | VDD | NC | NC |
| 20 | GND | GND | GND |
Alat Pemrograman ST-LINK
Salah satu fitur umum ST-LINK adalah penggunaannya untuk pemrograman (mengunduh program). Alat pemrograman yang tersedia antara lain: STVP, STM32 ST-LINK Utility, dan STM32CubeProgrammer.
- STVP: Alat yang dapat digunakan untuk pemrograman STM8 dan STM32.
- ST-LINK Utility: Alat yang terbatas pada pemrograman STM32.
- STM32CubeProg: Alat yang dapat digunakan untuk pemrograman STM8 dan STM32.
Contoh Pemrograman ST-LINK dengan Keil 5
Di sini kami akan menjelaskan cara menggunakan ST-Link v2 di Keil 5 untuk mengunduh dan men-debug program pada papan pengembangan ARM. Termasuk cara menghubungkan ST-Link, konfigurasi ST-Link di Keil, proses debugging di Keil, dan sebagainya.
Keil 5 Konfigurasi
Klik ikon tongkat sihir di bilah alat Keil untuk membuka kotak dialog konfigurasi seperti yang ditunjukkan di bawah ini:


Centang "Reset dan Jalankan", program akan secara otomatis di-reset dan dijalankan setelah diunduh ke mikrokontroler.

Pemeriksaan Kesalahan
Masuk ke Mode Debug
Klik tombol ini untuk masuk atau keluar dari mode debug:

Operasi Debugging Umum
Atur ulang
Atur ulang program ke posisi semula.

Debugging Satu Langkah
Artinya, setiap kali tombol tersebut diklik, program akan berjalan satu langkah. Saat menemukan fungsi yang dipanggil, program akan masuk ke dalam fungsi tersebut. Klik tombol ikon, atau tekan tombol pintas F11.

Debugging Langkah demi Langkah
Artinya, proses debugging dilakukan baris per baris; artinya, setiap kali tombol tersebut diklik, program akan menjalankan satu baris kode. Jika menemui sebuah fungsi, program tidak akan masuk ke dalam fungsi tersebut. Klik ikon tombol, atau tekan tombol pintas F10.

Keluar dari Mode Debug
berarti keluar dari proses debugging fungsi, yaitu setiap kali tombol tersebut diklik, program akan keluar dari suatu fungsi hingga mencapai fungsi terluar (fungsi utama). Klik tombol ikon tersebut, atau tekan tombol pintas Ctrl + F11.

Jalankan program ke posisi tertentu
Jika Anda mengklik tombol tersebut (atau menekan Ctrl + F11), program akan berhenti saat mencapai posisi kursor (dengan syarat program dapat dijalankan hingga posisi kursor).

Lompat ke Posisi Jeda pada Program Keil
Fungsi ini berguna ketika program berhenti berjalan dan dapat membantu kita menemukan titik di mana program tersebut terhenti.

Jendela Debug
Menu jendela debugging hanya aktif selama proses debugging, dan berbeda dengan jendela pada kondisi pengeditan normal.

Jendela Memori atau Variabel
Pilih sebuah variabel, klik kanan mouse, lalu pilih "Tambahkan 'Nama Variabel' ke…" untuk menambahkannya ke jendela pengamatan yang ditentukan.

Jendela Periferal Sistem
Artinya, jendela tampilan nilai register periferal.




