23.4. Directives¶
This section details the directives of the Fatal Error Manager. A subsection is dedicated to each of this manager’s directives and lists the calling sequence, parameters, description, return values, and notes of the directive.
23.4.1. rtems_fatal()¶
Invokes the fatal error handler.
CALLING SEQUENCE:
void rtems_fatal(
rtems_fatal_source fatal_source,
rtems_fatal_code fatal_code
);
PARAMETERS:
fatal_source
This parameter is the fatal source.
fatal_code
This parameter is the fatal code.
DESCRIPTION:
This directive processes fatal errors. The fatal source is set to the value of
the fatal_source
parameter. The fatal code is set to the value of the
fatal_code
parameter.
CONSTRAINTS:
The following constraints apply to this directive:
The directive may be called from within any runtime context.
The directive will not return to the caller.
The directive invokes the fatal error extensions in extension forward order.
The directive does not invoke handlers registered by
atexit()
oron_exit()
.The directive may terminate the system.
23.4.2. rtems_panic()¶
Prints the message and invokes the fatal error handler.
CALLING SEQUENCE:
void rtems_panic( const char *fmt, ... );
PARAMETERS:
fmt
This parameter is the message format.
...
This parameter is a list of optional parameters required by the message format.
DESCRIPTION:
This directive prints a message via printk() specified by the
fmt
parameter and optional parameters and then invokes the fatal error
handler. The fatal source is set to RTEMS_FATAL_SOURCE_PANIC
. The
fatal code is set to the value of the fmt
parameter value.
CONSTRAINTS:
The following constraints apply to this directive:
The directive may be called from within any runtime context.
The directive will not return to the caller.
The directive invokes the fatal error extensions in extension forward order.
The directive does not invoke handlers registered by
atexit()
oron_exit()
.The directive may terminate the system.
23.4.3. rtems_shutdown_executive()¶
Invokes the fatal error handler.
CALLING SEQUENCE:
void rtems_shutdown_executive( uint32_t fatal_code );
PARAMETERS:
fatal_code
This parameter is the fatal code.
DESCRIPTION:
This directive processes fatal errors. The fatal source is set to
RTEMS_FATAL_SOURCE_EXIT
. The fatal code is set to the value of the
fatal_code
parameter.
CONSTRAINTS:
The following constraints apply to this directive:
The directive may be called from within any runtime context.
The directive will not return to the caller.
The directive invokes the fatal error extensions in extension forward order.
The directive does not invoke handlers registered by
atexit()
oron_exit()
.The directive may terminate the system.
23.4.4. rtems_exception_frame_print()¶
Prints the exception frame.
CALLING SEQUENCE:
void rtems_exception_frame_print( const rtems_exception_frame *frame );
PARAMETERS:
frame
This parameter is the reference to the exception frame to print.
DESCRIPTION:
The exception frame is printed in an architecture-dependent format using printk().
23.4.5. rtems_fatal_source_text()¶
Returns a descriptive text for the fatal source.
CALLING SEQUENCE:
const char *rtems_fatal_source_text( rtems_fatal_source fatal_source );
PARAMETERS:
fatal_source
This parameter is the fatal source.
RETURN VALUES:
- “?”
The
fatal_source
parameter value was not a fatal source.
Returns a descriptive text for the fatal source. The text for the fatal source is the enumerator constant name.
CONSTRAINTS:
The following constraints apply to this directive:
The directive may be called from within any runtime context.
23.4.6. rtems_internal_error_text()¶
Returns a descriptive text for the internal error code.
CALLING SEQUENCE:
const char *rtems_internal_error_text( rtems_fatal_code internal_error_code );
PARAMETERS:
internal_error_code
This parameter is the internal error code.
RETURN VALUES:
- “?”
The
internal_error_code
parameter value was not an internal error code.
Returns a descriptive text for the internal error code. The text for the internal error code is the enumerator constant name.
CONSTRAINTS:
The following constraints apply to this directive:
The directive may be called from within any runtime context.
23.4.7. rtems_fatal_error_occurred()¶
Invokes the fatal error handler.
CALLING SEQUENCE:
void rtems_fatal_error_occurred( uint32_t fatal_code );
PARAMETERS:
fatal_code
This parameter is the fatal code.
DESCRIPTION:
This directive processes fatal errors. The fatal source is set to
INTERNAL_ERROR_RTEMS_API
. The fatal code is set to the value of the
fatal_code
parameter.
NOTES:
This directive is deprecated and should not be used in new code. It is recommended to not use this directive since error locations cannot be uniquely identified. A recommended alternative directive is rtems_fatal().
CONSTRAINTS:
The following constraints apply to this directive:
The directive may be called from within any runtime context.
The directive will not return to the caller.
The directive invokes the fatal error extensions in extension forward order.
The directive does not invoke handlers registered by
atexit()
oron_exit()
.The directive may terminate the system.