KETCube
Data Fields
ketCube_MCU_HardFaultRegs_t Struct Reference

HardFault registers should be dumped to investigate reset reason. More...

#include <ketCube_mcu.h>

Data Fields

struct {
   volatile unsigned int   r0
 
   volatile unsigned int   r1
 
   volatile unsigned int   r2
 
   volatile unsigned int   r3
 
   volatile unsigned int   r12
 
   volatile unsigned int   lr
 
   volatile unsigned int   pc
 
   union {
      volatile unsigned int   word
 
      struct {
         unsigned int   IPSR: 8
 
         unsigned int   EPSR: 19
 
         unsigned int   APSR: 5
 
      }   bits
 
   }   psr
 
SavedRegs
 
union {
   volatile unsigned int   word
 
   struct {
      unsigned int   MEMFAULTACT: 1
 
      unsigned int   BUSFAULTACT: 1
 
      unsigned int   UnusedBits1: 1
 
      unsigned int   USGFAULTACT: 1
 
      unsigned int   UnusedBits2: 3
 
      unsigned int   SVCALLACT: 1
 
      unsigned int   MONITORACT: 1
 
      unsigned int   UnusedBits3: 1
 
      unsigned int   PENDSVACT: 1
 
      unsigned int   SYSTICKACT: 1
 
      unsigned int   USGFAULTPENDED: 1
 
      unsigned int   MEMFAULTPENDED: 1
 
      unsigned int   BUSFAULTPENDED: 1
 
      unsigned int   SVCALLPENDED: 1
 
      unsigned int   MEMFAULTENA: 1
 
      unsigned int   BUSFAULTENA: 1
 
      unsigned int   USGFAULTENA: 1
 
   }   bits
 
syshndctrl
 
union {
   volatile unsigned char   word
 
   struct {
      unsigned char   IACCVIOL: 1
 
      unsigned char   DACCVIOL: 1
 
      unsigned char   UnusedBits: 1
 
      unsigned char   MUNSTKERR: 1
 
      unsigned char   MSTKERR: 1
 
      unsigned char   UnusedBits2: 2
 
      unsigned char   MMARVALID: 1
 
   }   bits
 
mfsr
 
union {
   volatile unsigned int   word
 
   struct {
      unsigned int   IBUSERR: 1
 
      unsigned int   PRECISERR: 1
 
      unsigned int   IMPREISERR: 1
 
      unsigned int   UNSTKERR: 1
 
      unsigned int   STKERR: 1
 
      unsigned int   UnusedBits: 2
 
      unsigned int   BFARVALID: 1
 
   }   bits
 
bfsr
 
volatile unsigned int bfar
 
union {
   volatile unsigned short   word
 
   struct {
      unsigned short   UNDEFINSTR: 1
 
      unsigned short   INVSTATE: 1
 
      unsigned short   INVPC: 1
 
      unsigned short   NOCP: 1
 
      unsigned short   UnusedBits: 4
 
      unsigned short   UNALIGNED: 1
 
      unsigned short   DIVBYZERO: 1
 
   }   bits
 
ufsr
 
union {
   volatile unsigned int   word
 
   struct {
      unsigned int   UnusedBits: 1
 
      unsigned int   VECTBL: 1
 
      unsigned int   UnusedBits2: 28
 
      unsigned int   FORCED: 1
 
      unsigned int   DEBUGEVT: 1
 
   }   bits
 
hfsr
 
union {
   volatile unsigned int   word
 
   struct {
      unsigned int   HALTED: 1
 
      unsigned int   BKPT: 1
 
      unsigned int   DWTTRAP: 1
 
      unsigned int   VCATCH: 1
 
      unsigned int   EXTERNAL: 1
 
   }   bits
 
dfsr
 
volatile unsigned int afsr
 

Detailed Description

HardFault registers should be dumped to investigate reset reason.

Note
The Segger's appnote https://www.segger.com/downloads/application-notes/AN00016 has been used to define dbg struct for HardFault reasoning

Field Documentation

◆ afsr

volatile unsigned int ketCube_MCU_HardFaultRegs_t::afsr

◆ APSR

unsigned int ketCube_MCU_HardFaultRegs_t::APSR

◆ bfar

volatile unsigned int ketCube_MCU_HardFaultRegs_t::bfar

◆ BFARVALID

unsigned int ketCube_MCU_HardFaultRegs_t::BFARVALID

◆ bfsr

union { ... } ketCube_MCU_HardFaultRegs_t::bfsr

◆ bits [1/7]

struct { ... } ketCube_MCU_HardFaultRegs_t::bits

◆ bits [2/7]

struct { ... } ketCube_MCU_HardFaultRegs_t::bits

◆ bits [3/7]

struct { ... } ketCube_MCU_HardFaultRegs_t::bits

◆ bits [4/7]

struct { ... } ketCube_MCU_HardFaultRegs_t::bits

◆ bits [5/7]

struct { ... } ketCube_MCU_HardFaultRegs_t::bits

◆ bits [6/7]

struct { ... } ketCube_MCU_HardFaultRegs_t::bits

◆ bits [7/7]

struct { ... } ketCube_MCU_HardFaultRegs_t::bits

◆ BKPT

unsigned int ketCube_MCU_HardFaultRegs_t::BKPT

◆ BUSFAULTACT

unsigned int ketCube_MCU_HardFaultRegs_t::BUSFAULTACT

◆ BUSFAULTENA

unsigned int ketCube_MCU_HardFaultRegs_t::BUSFAULTENA

◆ BUSFAULTPENDED

unsigned int ketCube_MCU_HardFaultRegs_t::BUSFAULTPENDED

◆ DACCVIOL

unsigned char ketCube_MCU_HardFaultRegs_t::DACCVIOL

◆ DEBUGEVT

unsigned int ketCube_MCU_HardFaultRegs_t::DEBUGEVT

◆ dfsr

union { ... } ketCube_MCU_HardFaultRegs_t::dfsr

◆ DIVBYZERO

unsigned short ketCube_MCU_HardFaultRegs_t::DIVBYZERO

◆ DWTTRAP

unsigned int ketCube_MCU_HardFaultRegs_t::DWTTRAP

◆ EPSR

unsigned int ketCube_MCU_HardFaultRegs_t::EPSR

◆ EXTERNAL

unsigned int ketCube_MCU_HardFaultRegs_t::EXTERNAL

◆ FORCED

unsigned int ketCube_MCU_HardFaultRegs_t::FORCED

◆ HALTED

unsigned int ketCube_MCU_HardFaultRegs_t::HALTED

◆ hfsr

union { ... } ketCube_MCU_HardFaultRegs_t::hfsr

◆ IACCVIOL

unsigned char ketCube_MCU_HardFaultRegs_t::IACCVIOL

◆ IBUSERR

unsigned int ketCube_MCU_HardFaultRegs_t::IBUSERR

◆ IMPREISERR

unsigned int ketCube_MCU_HardFaultRegs_t::IMPREISERR

◆ INVPC

unsigned short ketCube_MCU_HardFaultRegs_t::INVPC

◆ INVSTATE

unsigned short ketCube_MCU_HardFaultRegs_t::INVSTATE

◆ IPSR

unsigned int ketCube_MCU_HardFaultRegs_t::IPSR

◆ lr

volatile unsigned int ketCube_MCU_HardFaultRegs_t::lr

◆ MEMFAULTACT

unsigned int ketCube_MCU_HardFaultRegs_t::MEMFAULTACT

◆ MEMFAULTENA

unsigned int ketCube_MCU_HardFaultRegs_t::MEMFAULTENA

◆ MEMFAULTPENDED

unsigned int ketCube_MCU_HardFaultRegs_t::MEMFAULTPENDED

◆ mfsr

union { ... } ketCube_MCU_HardFaultRegs_t::mfsr

◆ MMARVALID

unsigned char ketCube_MCU_HardFaultRegs_t::MMARVALID

◆ MONITORACT

unsigned int ketCube_MCU_HardFaultRegs_t::MONITORACT

◆ MSTKERR

unsigned char ketCube_MCU_HardFaultRegs_t::MSTKERR

◆ MUNSTKERR

unsigned char ketCube_MCU_HardFaultRegs_t::MUNSTKERR

◆ NOCP

unsigned short ketCube_MCU_HardFaultRegs_t::NOCP

◆ pc

volatile unsigned int ketCube_MCU_HardFaultRegs_t::pc

◆ PENDSVACT

unsigned int ketCube_MCU_HardFaultRegs_t::PENDSVACT

◆ PRECISERR

unsigned int ketCube_MCU_HardFaultRegs_t::PRECISERR

◆ psr

union { ... } ketCube_MCU_HardFaultRegs_t::psr

◆ r0

volatile unsigned int ketCube_MCU_HardFaultRegs_t::r0

◆ r1

volatile unsigned int ketCube_MCU_HardFaultRegs_t::r1

◆ r12

volatile unsigned int ketCube_MCU_HardFaultRegs_t::r12

◆ r2

volatile unsigned int ketCube_MCU_HardFaultRegs_t::r2

◆ r3

volatile unsigned int ketCube_MCU_HardFaultRegs_t::r3

◆ SavedRegs

struct { ... } ketCube_MCU_HardFaultRegs_t::SavedRegs

◆ STKERR

unsigned int ketCube_MCU_HardFaultRegs_t::STKERR

◆ SVCALLACT

unsigned int ketCube_MCU_HardFaultRegs_t::SVCALLACT

◆ SVCALLPENDED

unsigned int ketCube_MCU_HardFaultRegs_t::SVCALLPENDED

◆ syshndctrl

union { ... } ketCube_MCU_HardFaultRegs_t::syshndctrl

◆ SYSTICKACT

unsigned int ketCube_MCU_HardFaultRegs_t::SYSTICKACT

◆ ufsr

union { ... } ketCube_MCU_HardFaultRegs_t::ufsr

◆ UNALIGNED

unsigned short ketCube_MCU_HardFaultRegs_t::UNALIGNED

◆ UNDEFINSTR

unsigned short ketCube_MCU_HardFaultRegs_t::UNDEFINSTR

◆ UNSTKERR

unsigned int ketCube_MCU_HardFaultRegs_t::UNSTKERR

◆ UnusedBits [1/3]

unsigned char ketCube_MCU_HardFaultRegs_t::UnusedBits

◆ UnusedBits [2/3]

unsigned int ketCube_MCU_HardFaultRegs_t::UnusedBits

◆ UnusedBits [3/3]

unsigned short ketCube_MCU_HardFaultRegs_t::UnusedBits

◆ UnusedBits1

unsigned int ketCube_MCU_HardFaultRegs_t::UnusedBits1

◆ UnusedBits2 [1/2]

unsigned int ketCube_MCU_HardFaultRegs_t::UnusedBits2

◆ UnusedBits2 [2/2]

unsigned char ketCube_MCU_HardFaultRegs_t::UnusedBits2

◆ UnusedBits3

unsigned int ketCube_MCU_HardFaultRegs_t::UnusedBits3

◆ USGFAULTACT

unsigned int ketCube_MCU_HardFaultRegs_t::USGFAULTACT

◆ USGFAULTENA

unsigned int ketCube_MCU_HardFaultRegs_t::USGFAULTENA

◆ USGFAULTPENDED

unsigned int ketCube_MCU_HardFaultRegs_t::USGFAULTPENDED

◆ VCATCH

unsigned int ketCube_MCU_HardFaultRegs_t::VCATCH

◆ VECTBL

unsigned int ketCube_MCU_HardFaultRegs_t::VECTBL

◆ word [1/3]

volatile unsigned int ketCube_MCU_HardFaultRegs_t::word

◆ word [2/3]

volatile unsigned char ketCube_MCU_HardFaultRegs_t::word

◆ word [3/3]

volatile unsigned short ketCube_MCU_HardFaultRegs_t::word

The documentation for this struct was generated from the following file: