/** * @brief Halts the system. * @details This function is invoked by the operating system when an * unrecoverable error is detected, for example because a programming * error in the application code that triggers an assertion while * in debug mode. * @note Can be invoked from any system state. * * @param[in] reason pointer to an error string * * @special */ void chSysHalt(const char *reason) { port_disable(); #if defined(CH_CFG_SYSTEM_HALT_HOOK) || defined(__DOXYGEN__) CH_CFG_SYSTEM_HALT_HOOK(reason); #endif /* Pointing to the passed message.*/ ch.dbg.panic_msg = reason; /* Harmless infinite loop.*/ while (true) { } }
/** * @brief Halts the system. * @details This function is invoked by the operating system when an * unrecoverable error is detected, for example because a programming * error in the application code that triggers an assertion while * in debug mode. * @note Can be invoked from any system state. * * @param[in] reason pointer to an error string * * @special */ void chSysHalt(const char *reason) { port_disable(); #if NIL_DBG_ENABLED nil.dbg_panic_msg = reason; #else (void)reason; #endif CH_CFG_SYSTEM_HALT_HOOK(reason); /* Harmless infinite loop.*/ while (true) { } }
/** * @brief Halts the system. * @details This function is invoked by the operating system when an * unrecoverable error is detected, for example because a programming * error in the application code that triggers an assertion while * in debug mode. * @note Can be invoked from any system state. * * @param[in] reason pointer to an error string * * @special */ void chSysHalt(const char *reason) { port_disable(); /* Halt hook code, usually empty.*/ CH_CFG_SYSTEM_HALT_HOOK(reason); /* Logging the event.*/ _dbg_trace_halt(reason); /* Pointing to the passed message.*/ ch.dbg.panic_msg = reason; /* Harmless infinite loop.*/ while (true) { } }