pyOCD
Narzędzie w Pythonie do debugowania i flashowania układów Cortex-M, z obsługą układów pobieraną wprost z paczek CMSIS producentów.
pyOCD powstał w zespole mbed w Arm, który potrzebował wieloplatformowego sposobu wgrywania i debugowania płytek rozwojowych z sondami CMSIS-DAP. Jest wydawany na licencji Apache 2.0 i działa zarówno z wiersza poleceń, jak i jako biblioteka Pythona, co czyni go ulubieńcem stanowisk testowych, gdzie jeden skrypt ma wgrać, uruchomić i odczytać wyniki w jednej pętli.
Główna różnica względem OpenOCD to miejsce, w którym mieszka wiedza o układach. Zamiast ręcznie utrzymywanych plików konfiguracyjnych pyOCD pobiera pliki CMSIS-Pack, w których sam producent opisuje mapę pamięci i algorytm flashowania. Daje to obsługę tysięcy wariantów Cortex-M i zero dla innych architektur. Sondami mogą być CMSIS-DAP, ST-Link lub J-Link, a wbudowany serwer GDB zadowala resztę toolchainu.