Debug with semf
General
Having errors in a source code is always a pain. Debugging is time consuming, but most of the time leads to the goal.
To have simple debugging messages available and make it more efficient we added a method to semf where you easily can get messages from the semf library if an error in the target hardware or in the library occurrres.
Initialization
First define USE_SEMF_ASSERT. The best way to do that is to add it as a Symbol in the project settings (e.g. Project -> Properties -> C/C++ General -> Paths and Symbols -> Symbols in Eclipse based IDEs).
Second implement the assertFaild function in your project, for example in the cppmain.cpp file.
#include "Core/debug.h" void semf::assertFailed(DebugId debugId) { // Option 1: End here if an error occurres and check the debugId while(1); // Option 2: Use printf to send the debugIds through e.g. SWD or UART to the computer printf("%i\n",debugId); }
printf
Often for debugging it is helpful to have a printf functionallity available through e.g. UART or SWD.