È un esigenza che si verifica molto di frequente quando si lavora con l'hardware, soprattutto se stiamo debuggando qualcosa di asincrono: fermare l'esecuzione del nostro firmware solo se una certa condizione si verifica. In questo caso si parla di breakpoint condizionali. Se state sviluppando su piattaforma STM32 con il framework CMSIS di ARM per i processori Cortex-M, e usate una toolchain basata su GCC e GDB, questa istruzione nel codice
1 2 3 4 5 6 |
#include "cortexm/ExceptionHandlers.h" ... if(condition) { __DEBUG_BKPT(); } ... |
farà fermare l'esecuzione automaticamente a quella riga di programma quando la condizione è verificata. Credetemi, l'utilità di questo semplice costrutto si apprezza solo nel momento del bisogno 🙂
soldering iron ,soldering station soldering iron
http://www.atten.com