Leksykon IT › Sprzęt › Semihosting

Semihosting

Sprzęt Svenska → Zaktualizowano: 2026-11-02

Mechanizm ARM, który pozwala firmware'owi pożyczyć konsolę i system plików komputera-hosta przez sondę debugującą, dzięki czemu printf działa na układzie bez ekranu.

Program wkłada kod operacji i wskaźnik do dwóch rejestrów i wykonuje specjalną instrukcję punktu przerwania (BKPT 0xAB w Cortex-M). Debugger zatrzymuje rdzeń, odczytuje, o co prosi program — wypisz ten napis, otwórz ten plik — robi to na PC, wkłada wynik do rejestru i puszcza procesor dalej. Bez UART-a, bez dodatkowych pinów.

Jest też boleśnie wolny, bo każde wywołanie zatrzymuje CPU, i ma słynną pułapkę: bez podłączonego debuggera nikt nie obsłuży punktu przerwania, który zamienia się w HardFault. Zapomnij przebudować bez semihostingu, a wypuścisz produkt działający tylko na twoim biurku. ITM przez SWO i RTT od Seggera robią to samo bez zatrzymywania rdzenia.

← Wróć do leksykonu