Bisakah saya memprogram semua jenis chip yang dapat diprogram SWD (ARM-MCUs) dengan ST-Link?
Bisakah saya memprogram semua jenis chip yang dapat diprogram SWD (ARM-MCUs) dengan ST-Link?
Jawaban:
Anda juga dapat mem-flash st-link dan mengubahnya menjadi Black Magic Probe . Gambar yang sama juga akan mengonversi Pil Biru menjadi BMP.
Saya sudah melakukan keduanya. Blue Pill memiliki keuntungan bahwa usb-rs232 menjembatani ekspor BMP mudah tersedia.
BMP mendukung berbagai chip untuk dimasukkan tetapi tidak terbatas pada:
ST Mikroelektronika STM32F0, STM32F1, STM32F3, STM32F2, STM32F4, STM32L0, STM32L1, STM32L4
Atmel SAM3N, SAM3X, SAM3S, DAM4, SAM4, SAM4, SAM4, SAM4, SAM4, SAM4, SAM4, SAM4, SAM4
Nordic nRF51, nRF52 (Inilah sebabnya saya menggunakan BMP)
BMP adalah open source, dapat digunakan untuk pemrograman komersial dan perangkat kerasnya bisa murah (The "real" BMP harganya sekitar $ 60, pil biru 5 bungkus dari amazon kurang dari $ 20 dikirimkan).
Untuk menambah jawaban yang ada; beberapa chip diketahui tidak berfungsi dengan baik dengan ST-LINK dan OpenOCD.
Khususnya, jika target Anda berasal dari keluarga Atmel SAMD21 MCU, Anda cenderung mengalami masalah aneh, di mana prosesor terdeteksi, tetapi segala upaya untuk menghapus sektor flash gagal dengan kesalahan.
Alasannya agak terlibat , mengutip:
AFAIK masalahnya adalah dalam setengah kata (16-bit) tulis ke NVMCTRL-> CTRLA register. STLink tidak menerapkan akses memori setengah kata dan meniru OpenOCD sebagai operasi dua byte. Sayangnya register CTRLA terdiri dari kunci dan perintah dan harus ditulis secara atom. Jika STLink menulis dua byte, pengontrol NVM menetapkan bit PROGE dalam STATUS: "Perintah yang tidak valid dan / atau kata kunci yang buruk telah / ditulis dalam register Perintah NVM"
Solusinya melibatkan kompilasi ulang OpenOCD dengan patch kode. Tidak menyenangkan.
Namun, jika Anda tidak keberatan mem-flash ST-Link Anda (melalui ST-Link lain), Anda dapat mengonversinya menjadi adaptor CMSIS-DAP , yang berfungsi baik dengan SAMD dan juga harus bekerja dengan STM32 dan Cortex-M lainnya. keripik.
Ya saya percaya ini mungkin, walaupun saya belum mencobanya. Anda kemungkinan akan melanggar perjanjian Lisensi ST, jika Anda mencoba perangkat pemrograman selain dari ST
Sebagai contoh Segger (Salah satu pemimpin pasar dalam debugger dan programmer) mendukung konversi ST-Link Anda ke J-link (pada dasarnya menimpa chip ST-Link dengan kode Segger). Ini juga dapat dibalik, jadi jika Anda ingin mengembalikan perangkat ST-link Anda kembali ke bentuk aslinya, Anda bisa.
Namun ada beberapa versi ST-Link. Lihatlah tautan berikut yang memberikan info lebih lanjut dan panduan tentang cara melakukan ini.
https://www.segger.com/jlink-st-link.html
https://www.segger.com/jlink-ob.html
Iya itu mungkin. saya menggunakan stlink v2 (asli, serta klon tipe stick usb Cina) dengan Coocox IDE. Coocox juga memiliki aplikasi programmer mandiri - CoFlash , Yang dapat digunakan untuk memprogram banyak chip. Saya memiliki pengalaman dengan hanya dua seri: LPC176x dan LPC175x, melalui antarmuka SWD. Dan saya tidak punya masalah dengan chip tersebut. Saya juga belum membuat perubahan atau pembaruan khusus untuk programmer (kecuali bahwa tautan st asli memerlukan level tegangan tinggi di TVCC (PIN1), jika tidak, itu tidak memungkinkan untuk memprogram chip, jadi saya terhubung langsung menyematkan 19 (3.3vcc) untuk menyematkan 1 pada stlink v2).
STLink V2 / V2.1 atau V3 dengan firmware terkini juga dapat digunakan dengan platform PC-Hosted Blackmagic pc-stlinkv2. Kompilasi dengan "make PROBE_HOST = pc-stlinkv2", mulai server debug dengan "blackmagic_stlinkv2" dan sambungkan ke: 2000 di gdb atau langsung muat binari dengan "blackmagic_stlinkv2". Ini bekerja dengan semua target yang diketahui BMP. Namun V3 secara aktif membantah bekerja pada target non-ST, sementara V2 tidak peduli.