Skip to content

File syn_fault.c

FileList > src > syntropic > system > syn_fault.c

Go to the source code of this file

CPU Hard Fault / Post-Mortem Diagnostics implementation.

  • #include "../util/syn_assert.h"
  • #include "syn_fault.h"
  • #include <string.h>

Public Static Attributes

Type Name
SYN_FaultDump g_fault_dump SYN_NOINIT
Global fault dump stored in uninitialized RAM.

Public Functions

Type Name
void syn_fault_capture (const SYN_FaultContext * ctx)
Capture a CPU fault register state.
bool syn_fault_check_and_log (SYN_ErrLog * errlog)
Checks if a crash occurred in a previous boot, logs it, and clears the signature.

Macros

Type Name
define SYN_NOINIT

Public Static Attributes Documentation

variable SYN_NOINIT

Global fault dump stored in uninitialized RAM.

SYN_FaultDump g_fault_dump SYN_NOINIT;


Public Functions Documentation

function syn_fault_capture

Capture a CPU fault register state.

void syn_fault_capture (
    const SYN_FaultContext * ctx
) 

Saves register dump to uninitialized RAM and sets the signature. Safe to call from a hard fault handler (no heap, no locks).

Parameters:

  • ctx Pointer to the register context to save (NULL is ignored).

function syn_fault_check_and_log

Checks if a crash occurred in a previous boot, logs it, and clears the signature.

bool syn_fault_check_and_log (
    SYN_ErrLog * errlog
) 

Parameters:

  • errlog Pointer to the active error log.

Returns:

true if a fault was checked, logged, and cleared.


Macro Definition Documentation

define SYN_NOINIT

#define SYN_NOINIT 


The documentation for this class was generated from the following file src/syntropic/system/syn_fault.c