SWO (Serial Wire Output)
Eén extra pin op de debugpoort van ARM die tracedata naar buiten streamt terwijl de processor op volle snelheid draait.
SWO vult SWD aan: waar SWD een tweerichtingskanaal is dat stopt, leest en schrijft, is SWO een eenrichtingsuitvoer. Meestal voert hij data van de ITM (Instrumentation Trace Macrocell), die 32 stimuluspoorten biedt waarnaar een programma met één enkele store kan schrijven. De CMSIS-functie ITM_SendChar() geeft dus printf zonder UART en zonder de core te stoppen, anders dan semihosting.
Dezelfde draad kan periodieke programmateller-samples en events van de DWT-eenheid dragen, genoeg voor een primitieve profiler. De addertjes: Cortex-M0 en M0+ hebben geen ITM, de pin wordt vaak gedeeld met TDO van JTAG, en de baudrate moet exact bij de klokfrequentie van de core passen. Wie dat verkeerd doet, krijgt stilte.