Studio veya Commander ile EFR32MG21 Nasıl Programlanır?
Simplicity Studio veya Simplicity Commander aracılığıyla EFR32MG21 yazılım yüklemesi, uygulamayı SWD üzerinden (WSTK/J-Link ile) Flash belleğe aktardığınızda, başarısız bir yazılım yüklemeden sonra cihazı kurtardığınızda veya tekrarlanabilir bir senaryo (betikler/üretim) hazırladığınızda gereklidir. Çoğu durumda şu adımlar yeterlidir: SWD bağlantısı kur → gerekirse sil → .hex/.s37 dosyasını yükle → doğrula → resetle.
Pratik kural: Studio, "tek seferlik manuel işlemler" için daha kullanışlıdır; Commander ise tekrarlanabilirlik, teşhis ve otomasyon (CLI) önemli olduğunda tercih edilir.
İçindekiler
Studio/Commander ile yazılım yüklemenin gerçekten ne zaman gerekli olduğu
-
"Temiz" bir çip/kartın ilk programlanması
Özel bir karttaki yeni EFR32MG21 veyamass erasesonrası bir cihaz genellikle doğrudan SWD üzerinden programlanır: bu en doğrudan ve öngörülebilir yoldur. -
"Kilitlenme" sonrası kurtarma
Kod başlamıyorsa, cihaz arayüzlerde "sessiz" kalıyorsa veya yanlış imaj yüklendiyse; Commander,erase → flash → verify → resetzincirini hızlıca gerçekleştirerek hatanın nerede olduğunu gösterdiği için kullanışlıdır. -
Bootloader yükleme ve OTA/güncellemelere hazırlık
Gecko Bootloader üzerinden güncellemeler oluşturuyorsanız, önce genellikle bootloader'ın kendisini SWD üzerinden yüklemeniz gerekir; ardından güncelleme formatlarını/prosedürlerini kullanabilirsiniz. -
Otomasyon (betikler, test tezgahları, üretim)
Commander CLI, bat/sh betiklerine kolayca entegre edilebilir ve süreci farklı PC'lerde ve cihaz partileri için tutarlı hale getirir.
Yazılım formatları: EFR32MG21 için hangisini seçmeli
Göreve göre hızlı format seçimi
| Format | Ne zaman uygun | Akılda tutulması gerekenler |
|---|---|---|
.hex | Uygulamanın doğrudan Flash'a yüklenmesi | SWD yazılım yüklemesi için genellikle en sorunsuz seçenek |
.s37 | Uygulamanın/bootloader'ın doğrudan yüklenmesi (derleme ayarlarına bağlı olarak) | Bu da "adresli" bir formattır; projenizin ürettiği formatı kullanın |
.bin | "Ham" binary dosyanız olduğunda | Genellikle yükleme adresini (--address) açıkça belirtmeniz gerekir |
.gbl | Bootloader üzerinden güncelleme (UART/OTA/vb.) | Bu bir güncelleme paketidir, "0x0 adresine düz yazılım yüklemesi" değildir |
Sık yapılan hata: .gbl dosyasını SWD üzerinden Flash başlangıcına "uygulama gibi" yüklemeye çalışmak. Doğrudan yükleme için genellikle .hex veya .s37 kullanın; .gbl dosyasını ise zaten bir bootloader'ın bulunduğu senaryolarda uygulayın.
SWD üzerinden temel yazılım yükleme senaryosu (Studio ve Commander)
Donanım için minimum hazırlık
Herhangi bir işlem yapmadan önce şunları kontrol edin:
- SWDIO, SWCLK, GND hatları doğru şekilde bağlı;
- Hata ayıklayıcı VTARGET/Vref değerini algılıyor (kart gerçekten güç alıyor);
- Mümkünse nRESET bağlı olmalı (her zaman zorunlu değildir ancak başlatma sorunlarında yardımcı olur).
Seçenek A: Simplicity Studio (GUI)
- WSTK/J-Link'i USB üzerinden bağlayın ve Studio'yu açın.
- Yazılım yükleme araçlarında (Flash Programmer/benzeri) adaptörü ve hedef EFR32MG21 çipini seçin.
.hexveya.s37dosyasını belirtin.- Geliştirme için önerilen seçenekler: Erase (emin değilseniz) → Verify → Reset after flash.
- Sonucu kontrol edin: LED/UART logu/hata ayıklama oturumunun başlaması.
Seçenek B: Simplicity Commander (CLI)
- Bağlı hata ayıklayıcıyı bulun:
commander adapter list
- Hedefin okunup okunmadığını kontrol edin (güç/SWD teşhisi için faydalı):
commander device info --serialno <SERIAL>
- Gerekirse tam temizleme yapın (çipteki veriler silinecektir):
commander device erase --serialno <SERIAL>
- Uygulama imajını yükleyin:
commander flash firmware.hex --serialno <SERIAL>
Elinizde .bin dosyası varsa, genellikle bir adres gerekir (düzeninize göre doğrulayın):
commander flash firmware.bin --address 0x0 --serialno <SERIAL>
- Gerekirse ayrı bir reset işlemi:
commander device reset --serialno <SERIAL>
Tekrarlanabilir bir "çalışma" döngüsü için tek bir senaryo izleyin: device info → (isteğe bağlı) device erase → flash → device reset → davranışı kontrol etme (UART/LED).
Sık karşılaşılan hatalar
- "No target voltage / cannot connect": Hedefte güç yok, VTARGET/Vref bağlı değil, ortak GND yok, SWDIO/SWCLK karışmış.
- Yüklendi ama başlamıyor: Kartınıza/yapılandırmanıza uygun olmayan imaj yüklendi, bellek düzeni çakışması (özellikle bootloader varlığında), yanlış saat/pin ayarları.
- "Device locked / debug access denied": Koruma mekanizmaları etkinleştirilmiş. Genellikle yalnızca
mass eraseyardımcı olur (yazılım ve veriler kaybedilir) — bunu ürün cihazları için önceden planlayın.
SSS
Bootloader her zaman gerekli mi?
Hayır. Eğer saha güncellemesi/OTA gerekmiyorsa, uygulama doğrudan SWD üzerinden yüklenebilir.
İlk kez için hangisini seçmeli: Studio mu Commander mı?
Studio — anlamak daha hızlıdır. Commander — aynı komutlar, loglama ve otomasyon önemli olduğunda daha iyidir.
SWD olmadan yapılabilir mi?
İlk yazılım yüklemesi için genellikle hayır: SWD erişimi gerekir. SWD olmadan ancak önceden bir bootloader kurulmuş ve güncelleme mekanizması yapılandırılmışsa güncelleme yapılabilir.