A program can exit normally at the end of
it can exit prematurely because of an error.
The behavior of the
assert macro depends
on the conditions in operation at the most recent occurrence of
NDEBUGmacro is defined (on the command line or as part of a source file), the
assertmacro has no effect.
NDEBUGmacro is not defined, the
assertexpression (the expression given to the
assertmacro) is evaluated. If the result is
TRUE, that is
!= 0, the
assertmacro has no more effect.
assertexpression evaluates to
assertmacro calls the
If you are creating an application that does not use the library,
if you re-implement
abort() and the
Another solution for retargeting is to re-implement the
itself. The function prototype is:
void __aeabi_assert(const char *
expr, const char *
points to the string representation of the expression that was not
identify the source location of the assertion.
The behavior for
in the ARM C library is to print a message on