BT Sözlüğü › Donanım › Semihosting

Semihosting

Donanım Svenska → Güncellendi: 2026-11-02

Firmware’in hata ayıklama probu üzerinden ana bilgisayarın konsolunu ve dosya sistemini ödünç almasını sağlayan ARM mekanizması; ekranı olmayan bir çipte bile printf çalışır.

Program iki yazmaca bir işlem kodu ve bir gösterici koyar, ardından özel bir kesme noktası komutu çalıştırır (Cortex-M’de BKPT 0xAB). Hata ayıklayıcı çekirdeği durdurur, istenen şeyi okur — bu dizgeyi yazdır, şu dosyayı aç — bunu PC’de yapar, sonucu bir yazmaca bırakır ve işlemciyi yeniden salar. UART yok, ek pin yok.

Ayrıca can sıkıcı derecede yavaştır, çünkü her çağrı CPU’yu durdurur, ve meşhur bir tuzağı vardır: hata ayıklayıcı bağlı değilse kesme noktasını kimse yakalamaz ve bu bir HardFault’a dönüşür. Semihosting’siz yeniden derlemeyi unutursanız yalnızca masanızda çalışan bir ürün göndermiş olursunuz. SWO üzerinden ITM ve Segger’in RTT’si aynı işi çekirdeği durdurmadan yapar.

← Sözlüğe dön