libopencm3
A free/libre/open-source firmware library for various ARM Cortex-M3 microcontrollers.
Cortex-M System Control Block

The System Control Block is a section of the System Control Space. More...

Collaboration diagram for Cortex-M System Control Block:

Data Structures

struct  scb_exception_stack_frame
 

Modules

 SCB Registers
 
 SCB_CPUID Values
 
 SCB_ICSR Values
 
 SCB_VTOR Values
 
 SCB_AICR Values
 
 SCB_SCR Values
 
 SCB_CCR Values
 

Macros

#define SCB_SHPR_PRI_4_MEMMANAGE   0
 
#define SCB_SHPR_PRI_5_BUSFAULT   1
 
#define SCB_SHPR_PRI_6_USAGEFAULT   2
 
#define SCB_SHPR_PRI_7_RESERVED   3
 
#define SCB_SHPR_PRI_8_RESERVED   4
 
#define SCB_SHPR_PRI_9_RESERVED   5
 
#define SCB_SHPR_PRI_10_RESERVED   6
 
#define SCB_SHPR_PRI_11_SVCALL   7
 
#define SCB_SHPR_PRI_12_RESERVED   8
 
#define SCB_SHPR_PRI_13_RESERVED   9
 
#define SCB_SHPR_PRI_14_PENDSV   10
 
#define SCB_SHPR_PRI_15_SYSTICK   11
 
#define SCB_SHCSR_SVCALLPENDED   (1 << 15)
 
#define SCB_GET_EXCEPTION_STACK_FRAME(f)
 

Functions

void scb_reset_system (void)
 

Detailed Description

The System Control Block is a section of the System Control Space.

Other members of the SCS are, for instance, DWT, ITM, SYSTICKK. The exact details of the SCB are defined in the "Architecture Reference Manual" for either ARMv7-M or ARMV6-m.

Macro Definition Documentation

◆ SCB_GET_EXCEPTION_STACK_FRAME

#define SCB_GET_EXCEPTION_STACK_FRAME (   f)
Value:
do { \
__asm__ volatile ("mov %[frameptr], sp" \
: [frameptr]"=r" (f)); \
} while (0)

Definition at line 550 of file scb.h.

◆ SCB_SHCSR_SVCALLPENDED

#define SCB_SHCSR_SVCALLPENDED   (1 << 15)

Definition at line 413 of file scb.h.

◆ SCB_SHPR_PRI_10_RESERVED

#define SCB_SHPR_PRI_10_RESERVED   6

Definition at line 390 of file scb.h.

◆ SCB_SHPR_PRI_11_SVCALL

#define SCB_SHPR_PRI_11_SVCALL   7

Definition at line 391 of file scb.h.

◆ SCB_SHPR_PRI_12_RESERVED

#define SCB_SHPR_PRI_12_RESERVED   8

Definition at line 393 of file scb.h.

◆ SCB_SHPR_PRI_13_RESERVED

#define SCB_SHPR_PRI_13_RESERVED   9

Definition at line 394 of file scb.h.

◆ SCB_SHPR_PRI_14_PENDSV

#define SCB_SHPR_PRI_14_PENDSV   10

Definition at line 395 of file scb.h.

◆ SCB_SHPR_PRI_15_SYSTICK

#define SCB_SHPR_PRI_15_SYSTICK   11

Definition at line 396 of file scb.h.

◆ SCB_SHPR_PRI_4_MEMMANAGE

#define SCB_SHPR_PRI_4_MEMMANAGE   0

Definition at line 383 of file scb.h.

◆ SCB_SHPR_PRI_5_BUSFAULT

#define SCB_SHPR_PRI_5_BUSFAULT   1

Definition at line 384 of file scb.h.

◆ SCB_SHPR_PRI_6_USAGEFAULT

#define SCB_SHPR_PRI_6_USAGEFAULT   2

Definition at line 385 of file scb.h.

◆ SCB_SHPR_PRI_7_RESERVED

#define SCB_SHPR_PRI_7_RESERVED   3

Definition at line 386 of file scb.h.

◆ SCB_SHPR_PRI_8_RESERVED

#define SCB_SHPR_PRI_8_RESERVED   4

Definition at line 388 of file scb.h.

◆ SCB_SHPR_PRI_9_RESERVED

#define SCB_SHPR_PRI_9_RESERVED   5

Definition at line 389 of file scb.h.

Function Documentation

◆ scb_reset_system()

void scb_reset_system ( void  )

Definition at line 54 of file scb.c.

References SCB_AIRCR, SCB_AIRCR_SYSRESETREQ, and SCB_AIRCR_VECTKEY.