forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
738 B
30 lines
738 B
3 years ago
|
/* System Control Block */
|
||
|
struct SCB
|
||
|
{
|
||
|
volatile uint32_t CPUID;
|
||
|
volatile uint32_t ICSR;
|
||
|
volatile uint32_t VTOR;
|
||
|
volatile uint32_t AIRCR;
|
||
|
volatile uint32_t SCR;
|
||
|
volatile uint32_t CCR;
|
||
|
volatile uint8_t SHP[12];
|
||
|
volatile uint32_t SHCSR;
|
||
|
volatile uint32_t CFSR;
|
||
|
volatile uint32_t HFSR;
|
||
|
volatile uint32_t DFSR;
|
||
|
volatile uint32_t MMAR;
|
||
|
volatile uint32_t BFAR;
|
||
|
volatile uint32_t AFSR;
|
||
|
volatile uint32_t PFR[2];
|
||
|
volatile uint32_t DFR;
|
||
|
volatile uint32_t AFR;
|
||
|
volatile uint32_t MMFR[4];
|
||
|
volatile uint32_t ISAR[5];
|
||
|
};
|
||
|
|
||
|
#define SCS_BASE 0xE000E000
|
||
|
#define SCB_BASE (SCS_BASE + 0x0D00)
|
||
|
static struct SCB *const SCB = (struct SCB *)SCB_BASE;
|
||
|
#define SCB_SCR_SLEEPDEEP (1 << 2)
|
||
|
#define SCB_AIRCR_SYSRESETREQ 0x04
|