VSF Documented
Macros | Functions
partition_CMSDK_ARMv8MML.h File Reference

CMSIS-CORE Initial Setup for Secure / Non-Secure Zones for ARMv8M. More...

Go to the source code of this file.

Macros

#define SAU_INIT_CTRL   1
 
#define SAU_INIT_CTRL_ENABLE   1
 
#define SAU_INIT_CTRL_ALLNS   0
 
#define SAU_REGIONS_MAX   8 /* Max. number of SAU regions */
 
#define SAU_INIT_REGION0   1
 
#define SAU_INIT_START0   0x00000000 /* start address of SAU region 0 */
 
#define SAU_INIT_END0   0x001FFFFF /* end address of SAU region 0 */
 
#define SAU_INIT_NSC0   1
 
#define SAU_INIT_REGION1   1
 
#define SAU_INIT_START1   0x00200000
 
#define SAU_INIT_END1   0x003FFFFF
 
#define SAU_INIT_NSC1   0
 
#define SAU_INIT_REGION2   1
 
#define SAU_INIT_START2   0x20200000
 
#define SAU_INIT_END2   0x203FFFFF
 
#define SAU_INIT_NSC2   0
 
#define SAU_INIT_REGION3   1
 
#define SAU_INIT_START3   0x40000000
 
#define SAU_INIT_END3   0x40040000
 
#define SAU_INIT_NSC3   0
 
#define SAU_INIT_REGION4   0
 
#define SAU_INIT_START4   0x00000000 /* start address of SAU region 4 */
 
#define SAU_INIT_END4   0x00000000 /* end address of SAU region 4 */
 
#define SAU_INIT_NSC4   0
 
#define SAU_INIT_REGION5   0
 
#define SAU_INIT_START5   0x00000000
 
#define SAU_INIT_END5   0x00000000
 
#define SAU_INIT_NSC5   0
 
#define SAU_INIT_REGION6   0
 
#define SAU_INIT_START6   0x00000000
 
#define SAU_INIT_END6   0x00000000
 
#define SAU_INIT_NSC6   0
 
#define SAU_INIT_REGION7   0
 
#define SAU_INIT_START7   0x00000000
 
#define SAU_INIT_END7   0x00000000
 
#define SAU_INIT_NSC7   0
 
#define SCB_CSR_AIRCR_INIT   1
 
#define SCB_CSR_DEEPSLEEPS_VAL   1
 
#define SCB_AIRCR_SYSRESETREQS_VAL   1
 
#define SCB_AIRCR_PRIS_VAL   1
 
#define SCB_AIRCR_BFHFNMINS_VAL   0
 
#define TZ_FPU_NS_USAGE   1
 
#define SCB_NSACR_CP10_11_VAL   3
 
#define FPU_FPCCR_TS_VAL   0
 
#define FPU_FPCCR_CLRONRETS_VAL   0
 
#define FPU_FPCCR_CLRONRET_VAL   1
 
#define NVIC_INIT_ITNS0   1
 
#define NVIC_INIT_ITNS0_VAL   0x0000122B
 
#define NVIC_INIT_ITNS1   1
 
#define NVIC_INIT_ITNS1_VAL   0x00000000
 
#define SAU_INIT_REGION(n)
 

Functions

__STATIC_INLINE void TZ_SAU_Setup (void)
 Setup a SAU Region.
 

Detailed Description

CMSIS-CORE Initial Setup for Secure / Non-Secure Zones for ARMv8M.

Version
V1.1.0
Date
07. December 2016

Macro Definition Documentation

◆ SAU_INIT_CTRL

#define SAU_INIT_CTRL   1

◆ SAU_INIT_CTRL_ENABLE

#define SAU_INIT_CTRL_ENABLE   1

◆ SAU_INIT_CTRL_ALLNS

#define SAU_INIT_CTRL_ALLNS   0

◆ SAU_REGIONS_MAX

#define SAU_REGIONS_MAX   8 /* Max. number of SAU regions */

◆ SAU_INIT_REGION0

#define SAU_INIT_REGION0   1

◆ SAU_INIT_START0

#define SAU_INIT_START0   0x00000000 /* start address of SAU region 0 */

◆ SAU_INIT_END0

#define SAU_INIT_END0   0x001FFFFF /* end address of SAU region 0 */

◆ SAU_INIT_NSC0

#define SAU_INIT_NSC0   1

◆ SAU_INIT_REGION1

#define SAU_INIT_REGION1   1

◆ SAU_INIT_START1

#define SAU_INIT_START1   0x00200000

◆ SAU_INIT_END1

#define SAU_INIT_END1   0x003FFFFF

◆ SAU_INIT_NSC1

#define SAU_INIT_NSC1   0

◆ SAU_INIT_REGION2

#define SAU_INIT_REGION2   1

◆ SAU_INIT_START2

#define SAU_INIT_START2   0x20200000

◆ SAU_INIT_END2

#define SAU_INIT_END2   0x203FFFFF

◆ SAU_INIT_NSC2

#define SAU_INIT_NSC2   0

◆ SAU_INIT_REGION3

#define SAU_INIT_REGION3   1

◆ SAU_INIT_START3

#define SAU_INIT_START3   0x40000000

◆ SAU_INIT_END3

#define SAU_INIT_END3   0x40040000

◆ SAU_INIT_NSC3

#define SAU_INIT_NSC3   0

◆ SAU_INIT_REGION4

#define SAU_INIT_REGION4   0

◆ SAU_INIT_START4

#define SAU_INIT_START4   0x00000000 /* start address of SAU region 4 */

◆ SAU_INIT_END4

#define SAU_INIT_END4   0x00000000 /* end address of SAU region 4 */

◆ SAU_INIT_NSC4

#define SAU_INIT_NSC4   0

◆ SAU_INIT_REGION5

#define SAU_INIT_REGION5   0

◆ SAU_INIT_START5

#define SAU_INIT_START5   0x00000000

◆ SAU_INIT_END5

#define SAU_INIT_END5   0x00000000

◆ SAU_INIT_NSC5

#define SAU_INIT_NSC5   0

◆ SAU_INIT_REGION6

#define SAU_INIT_REGION6   0

◆ SAU_INIT_START6

#define SAU_INIT_START6   0x00000000

◆ SAU_INIT_END6

#define SAU_INIT_END6   0x00000000

◆ SAU_INIT_NSC6

#define SAU_INIT_NSC6   0

◆ SAU_INIT_REGION7

#define SAU_INIT_REGION7   0

◆ SAU_INIT_START7

#define SAU_INIT_START7   0x00000000

◆ SAU_INIT_END7

#define SAU_INIT_END7   0x00000000

◆ SAU_INIT_NSC7

#define SAU_INIT_NSC7   0

◆ SCB_CSR_AIRCR_INIT

#define SCB_CSR_AIRCR_INIT   1

◆ SCB_CSR_DEEPSLEEPS_VAL

#define SCB_CSR_DEEPSLEEPS_VAL   1

◆ SCB_AIRCR_SYSRESETREQS_VAL

#define SCB_AIRCR_SYSRESETREQS_VAL   1

◆ SCB_AIRCR_PRIS_VAL

#define SCB_AIRCR_PRIS_VAL   1

◆ SCB_AIRCR_BFHFNMINS_VAL

#define SCB_AIRCR_BFHFNMINS_VAL   0

◆ TZ_FPU_NS_USAGE

#define TZ_FPU_NS_USAGE   1

◆ SCB_NSACR_CP10_11_VAL

#define SCB_NSACR_CP10_11_VAL   3

◆ FPU_FPCCR_TS_VAL

#define FPU_FPCCR_TS_VAL   0

◆ FPU_FPCCR_CLRONRETS_VAL

#define FPU_FPCCR_CLRONRETS_VAL   0

◆ FPU_FPCCR_CLRONRET_VAL

#define FPU_FPCCR_CLRONRET_VAL   1

◆ NVIC_INIT_ITNS0

#define NVIC_INIT_ITNS0   1

◆ NVIC_INIT_ITNS0_VAL

#define NVIC_INIT_ITNS0_VAL   0x0000122B

◆ NVIC_INIT_ITNS1

#define NVIC_INIT_ITNS1   1

◆ NVIC_INIT_ITNS1_VAL

#define NVIC_INIT_ITNS1_VAL   0x00000000

◆ SAU_INIT_REGION

#define SAU_INIT_REGION (   n)
Value:
SAU->RNR = (n & SAU_RNR_REGION_Msk); \
SAU->RBAR = (SAU_INIT_START##n & SAU_RBAR_BADDR_Msk); \
SAU->RLAR = (SAU_INIT_END##n & SAU_RLAR_LADDR_Msk) | \
((SAU_INIT_NSC##n << SAU_RLAR_NSC_Pos) & SAU_RLAR_NSC_Msk) | 1U

Function Documentation

◆ TZ_SAU_Setup()

__STATIC_INLINE void TZ_SAU_Setup ( void  )

Setup a SAU Region.

Writes the region information contained in SAU_Region to the registers SAU_RNR, SAU_RBAR, and SAU_RLAR