1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00

Add a mechanism for handling fatal errors (and reboots)

This commit is contained in:
Kévin Roussel 2014-02-12 11:10:38 +01:00
parent bc66ba8439
commit d007207f3e

41
core/include/crash.h Normal file
View File

@ -0,0 +1,41 @@
/*
* Copyright (C) 2014 INRIA
*
* This file is subject to the terms and conditions of the GNU Lesser General
* Public License. See the file LICENSE in the top level directory for more
* details.
*/
/**
* @addtogroup core_util
* @{
*
* @file crash.h
* @brief Crash handling header
*
* Define a panic() function that allows to stop/reboot the system
* when an unrecoverable problem has occured.
*
* @author Kévin Roussel <Kevin.Roussel@inria.fr>
*/
#ifndef __CRASH_H
#define __CRASH_H
#include "kernel.h"
/** Handle an unrecoverable error by halting or rebooting the system.
A numeric code indicating the failure reason can be given
as the ::crash_code parameter.
Detailing the failure is possible using the ::message parameter.
This function should serve a similar purpose than the panic()
function of Unix/Linux kernels.
if DEVELHELP macro is defined, system will be halted;
system will be rebooted otherwise.
WARNING: this function NEVER returns! */
NORETURN void core_panic(int crash_code, const char *message);
/** @} */
#endif /* __CRASH_H */