25#if defined ( __ICCARM__ )
26 #pragma system_include
27#elif defined (__clang__)
28 #pragma clang system_header
29#elif defined ( __GNUC__ )
30 #pragma GCC diagnostic ignored "-Wpedantic"
33#ifndef __CORE_ARMV8MBL_H_GENERIC
34#define __CORE_ARMV8MBL_H_GENERIC
68#define __ARMv8MBL_CMSIS_VERSION_MAIN (__CM_CMSIS_VERSION_MAIN)
69#define __ARMv8MBL_CMSIS_VERSION_SUB (__CM_CMSIS_VERSION_SUB)
70#define __ARMv8MBL_CMSIS_VERSION ((__ARMv8MBL_CMSIS_VERSION_MAIN << 16U) | \
71 __ARMv8MBL_CMSIS_VERSION_SUB )
73#define __CORTEX_M (2U)
80#if defined ( __CC_ARM )
81 #if defined __TARGET_FPU_VFP
82 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
85#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
87 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
90#elif defined ( __GNUC__ )
91 #if defined (__VFP_FP__) && !defined(__SOFTFP__)
92 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
95#elif defined ( __ICCARM__ )
96 #if defined __ARMVFP__
97 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
100#elif defined ( __TI_ARM__ )
101 #if defined __TI_VFP_SUPPORT__
102 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
105#elif defined ( __TASKING__ )
106 #if defined __FPU_VFP__
107 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
110#elif defined ( __CSMC__ )
111 #if ( __CSMC__ & 0x400U)
112 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
126#ifndef __CMSIS_GENERIC
128#ifndef __CORE_ARMV8MBL_H_DEPENDANT
129#define __CORE_ARMV8MBL_H_DEPENDANT
136#if defined __CHECK_DEVICE_DEFINES
137 #ifndef __ARMv8MBL_REV
138 #define __ARMv8MBL_REV 0x0000U
139 #warning "__ARMv8MBL_REV not defined in device header file; using default!"
142 #ifndef __FPU_PRESENT
143 #define __FPU_PRESENT 0U
144 #warning "__FPU_PRESENT not defined in device header file; using default!"
147 #ifndef __MPU_PRESENT
148 #define __MPU_PRESENT 0U
149 #warning "__MPU_PRESENT not defined in device header file; using default!"
152 #ifndef __SAUREGION_PRESENT
153 #define __SAUREGION_PRESENT 0U
154 #warning "__SAUREGION_PRESENT not defined in device header file; using default!"
157 #ifndef __VTOR_PRESENT
158 #define __VTOR_PRESENT 0U
159 #warning "__VTOR_PRESENT not defined in device header file; using default!"
162 #ifndef __NVIC_PRIO_BITS
163 #define __NVIC_PRIO_BITS 2U
164 #warning "__NVIC_PRIO_BITS not defined in device header file; using default!"
167 #ifndef __Vendor_SysTickConfig
168 #define __Vendor_SysTickConfig 0U
169 #warning "__Vendor_SysTickConfig not defined in device header file; using default!"
172 #ifndef __ETM_PRESENT
173 #define __ETM_PRESENT 0U
174 #warning "__ETM_PRESENT not defined in device header file; using default!"
177 #ifndef __MTB_PRESENT
178 #define __MTB_PRESENT 0U
179 #warning "__MTB_PRESENT not defined in device header file; using default!"
195 #define __I volatile const
201#define __IM volatile const
203#define __IOM volatile
249#define APSR_N_Pos 31U
250#define APSR_N_Msk (1UL << APSR_N_Pos)
252#define APSR_Z_Pos 30U
253#define APSR_Z_Msk (1UL << APSR_Z_Pos)
255#define APSR_C_Pos 29U
256#define APSR_C_Msk (1UL << APSR_C_Pos)
258#define APSR_V_Pos 28U
259#define APSR_V_Msk (1UL << APSR_V_Pos)
276#define IPSR_ISR_Pos 0U
277#define IPSR_ISR_Msk (0x1FFUL )
300#define xPSR_N_Pos 31U
301#define xPSR_N_Msk (1UL << xPSR_N_Pos)
303#define xPSR_Z_Pos 30U
304#define xPSR_Z_Msk (1UL << xPSR_Z_Pos)
306#define xPSR_C_Pos 29U
307#define xPSR_C_Msk (1UL << xPSR_C_Pos)
309#define xPSR_V_Pos 28U
310#define xPSR_V_Msk (1UL << xPSR_V_Pos)
312#define xPSR_T_Pos 24U
313#define xPSR_T_Msk (1UL << xPSR_T_Pos)
315#define xPSR_ISR_Pos 0U
316#define xPSR_ISR_Msk (0x1FFUL )
334#define CONTROL_SPSEL_Pos 1U
335#define CONTROL_SPSEL_Msk (1UL << CONTROL_SPSEL_Pos)
337#define CONTROL_nPRIV_Pos 0U
338#define CONTROL_nPRIV_Msk (1UL )
355 __IOM uint32_t ISER[16U];
356 uint32_t RESERVED0[16U];
357 __IOM uint32_t ICER[16U];
358 uint32_t RSERVED1[16U];
359 __IOM uint32_t ISPR[16U];
360 uint32_t RESERVED2[16U];
361 __IOM uint32_t ICPR[16U];
362 uint32_t RESERVED3[16U];
363 __IOM uint32_t IABR[16U];
364 uint32_t RESERVED4[16U];
365 __IOM uint32_t ITNS[16U];
366 uint32_t RESERVED5[16U];
387#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U)
401#define SCB_CPUID_IMPLEMENTER_Pos 24U
402#define SCB_CPUID_IMPLEMENTER_Msk (0xFFUL << SCB_CPUID_IMPLEMENTER_Pos)
404#define SCB_CPUID_VARIANT_Pos 20U
405#define SCB_CPUID_VARIANT_Msk (0xFUL << SCB_CPUID_VARIANT_Pos)
407#define SCB_CPUID_ARCHITECTURE_Pos 16U
408#define SCB_CPUID_ARCHITECTURE_Msk (0xFUL << SCB_CPUID_ARCHITECTURE_Pos)
410#define SCB_CPUID_PARTNO_Pos 4U
411#define SCB_CPUID_PARTNO_Msk (0xFFFUL << SCB_CPUID_PARTNO_Pos)
413#define SCB_CPUID_REVISION_Pos 0U
414#define SCB_CPUID_REVISION_Msk (0xFUL )
417#define SCB_ICSR_PENDNMISET_Pos 31U
418#define SCB_ICSR_PENDNMISET_Msk (1UL << SCB_ICSR_PENDNMISET_Pos)
420#define SCB_ICSR_NMIPENDSET_Pos SCB_ICSR_PENDNMISET_Pos
421#define SCB_ICSR_NMIPENDSET_Msk SCB_ICSR_PENDNMISET_Msk
423#define SCB_ICSR_PENDNMICLR_Pos 30U
424#define SCB_ICSR_PENDNMICLR_Msk (1UL << SCB_ICSR_PENDNMICLR_Pos)
426#define SCB_ICSR_PENDSVSET_Pos 28U
427#define SCB_ICSR_PENDSVSET_Msk (1UL << SCB_ICSR_PENDSVSET_Pos)
429#define SCB_ICSR_PENDSVCLR_Pos 27U
430#define SCB_ICSR_PENDSVCLR_Msk (1UL << SCB_ICSR_PENDSVCLR_Pos)
432#define SCB_ICSR_PENDSTSET_Pos 26U
433#define SCB_ICSR_PENDSTSET_Msk (1UL << SCB_ICSR_PENDSTSET_Pos)
435#define SCB_ICSR_PENDSTCLR_Pos 25U
436#define SCB_ICSR_PENDSTCLR_Msk (1UL << SCB_ICSR_PENDSTCLR_Pos)
438#define SCB_ICSR_STTNS_Pos 24U
439#define SCB_ICSR_STTNS_Msk (1UL << SCB_ICSR_STTNS_Pos)
441#define SCB_ICSR_ISRPREEMPT_Pos 23U
442#define SCB_ICSR_ISRPREEMPT_Msk (1UL << SCB_ICSR_ISRPREEMPT_Pos)
444#define SCB_ICSR_ISRPENDING_Pos 22U
445#define SCB_ICSR_ISRPENDING_Msk (1UL << SCB_ICSR_ISRPENDING_Pos)
447#define SCB_ICSR_VECTPENDING_Pos 12U
448#define SCB_ICSR_VECTPENDING_Msk (0x1FFUL << SCB_ICSR_VECTPENDING_Pos)
450#define SCB_ICSR_RETTOBASE_Pos 11U
451#define SCB_ICSR_RETTOBASE_Msk (1UL << SCB_ICSR_RETTOBASE_Pos)
453#define SCB_ICSR_VECTACTIVE_Pos 0U
454#define SCB_ICSR_VECTACTIVE_Msk (0x1FFUL )
456#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U)
458#define SCB_VTOR_TBLOFF_Pos 7U
459#define SCB_VTOR_TBLOFF_Msk (0x1FFFFFFUL << SCB_VTOR_TBLOFF_Pos)
463#define SCB_AIRCR_VECTKEY_Pos 16U
464#define SCB_AIRCR_VECTKEY_Msk (0xFFFFUL << SCB_AIRCR_VECTKEY_Pos)
466#define SCB_AIRCR_VECTKEYSTAT_Pos 16U
467#define SCB_AIRCR_VECTKEYSTAT_Msk (0xFFFFUL << SCB_AIRCR_VECTKEYSTAT_Pos)
469#define SCB_AIRCR_ENDIANESS_Pos 15U
470#define SCB_AIRCR_ENDIANESS_Msk (1UL << SCB_AIRCR_ENDIANESS_Pos)
472#define SCB_AIRCR_PRIS_Pos 14U
473#define SCB_AIRCR_PRIS_Msk (1UL << SCB_AIRCR_PRIS_Pos)
475#define SCB_AIRCR_BFHFNMINS_Pos 13U
476#define SCB_AIRCR_BFHFNMINS_Msk (1UL << SCB_AIRCR_BFHFNMINS_Pos)
478#define SCB_AIRCR_SYSRESETREQS_Pos 3U
479#define SCB_AIRCR_SYSRESETREQS_Msk (1UL << SCB_AIRCR_SYSRESETREQS_Pos)
481#define SCB_AIRCR_SYSRESETREQ_Pos 2U
482#define SCB_AIRCR_SYSRESETREQ_Msk (1UL << SCB_AIRCR_SYSRESETREQ_Pos)
484#define SCB_AIRCR_VECTCLRACTIVE_Pos 1U
485#define SCB_AIRCR_VECTCLRACTIVE_Msk (1UL << SCB_AIRCR_VECTCLRACTIVE_Pos)
488#define SCB_SCR_SEVONPEND_Pos 4U
489#define SCB_SCR_SEVONPEND_Msk (1UL << SCB_SCR_SEVONPEND_Pos)
491#define SCB_SCR_SLEEPDEEPS_Pos 3U
492#define SCB_SCR_SLEEPDEEPS_Msk (1UL << SCB_SCR_SLEEPDEEPS_Pos)
494#define SCB_SCR_SLEEPDEEP_Pos 2U
495#define SCB_SCR_SLEEPDEEP_Msk (1UL << SCB_SCR_SLEEPDEEP_Pos)
497#define SCB_SCR_SLEEPONEXIT_Pos 1U
498#define SCB_SCR_SLEEPONEXIT_Msk (1UL << SCB_SCR_SLEEPONEXIT_Pos)
501#define SCB_CCR_BP_Pos 18U
502#define SCB_CCR_BP_Msk (1UL << SCB_CCR_BP_Pos)
504#define SCB_CCR_IC_Pos 17U
505#define SCB_CCR_IC_Msk (1UL << SCB_CCR_IC_Pos)
507#define SCB_CCR_DC_Pos 16U
508#define SCB_CCR_DC_Msk (1UL << SCB_CCR_DC_Pos)
510#define SCB_CCR_STKOFHFNMIGN_Pos 10U
511#define SCB_CCR_STKOFHFNMIGN_Msk (1UL << SCB_CCR_STKOFHFNMIGN_Pos)
513#define SCB_CCR_BFHFNMIGN_Pos 8U
514#define SCB_CCR_BFHFNMIGN_Msk (1UL << SCB_CCR_BFHFNMIGN_Pos)
516#define SCB_CCR_DIV_0_TRP_Pos 4U
517#define SCB_CCR_DIV_0_TRP_Msk (1UL << SCB_CCR_DIV_0_TRP_Pos)
519#define SCB_CCR_UNALIGN_TRP_Pos 3U
520#define SCB_CCR_UNALIGN_TRP_Msk (1UL << SCB_CCR_UNALIGN_TRP_Pos)
522#define SCB_CCR_USERSETMPEND_Pos 1U
523#define SCB_CCR_USERSETMPEND_Msk (1UL << SCB_CCR_USERSETMPEND_Pos)
526#define SCB_SHCSR_HARDFAULTPENDED_Pos 21U
527#define SCB_SHCSR_HARDFAULTPENDED_Msk (1UL << SCB_SHCSR_HARDFAULTPENDED_Pos)
529#define SCB_SHCSR_SVCALLPENDED_Pos 15U
530#define SCB_SHCSR_SVCALLPENDED_Msk (1UL << SCB_SHCSR_SVCALLPENDED_Pos)
532#define SCB_SHCSR_SYSTICKACT_Pos 11U
533#define SCB_SHCSR_SYSTICKACT_Msk (1UL << SCB_SHCSR_SYSTICKACT_Pos)
535#define SCB_SHCSR_PENDSVACT_Pos 10U
536#define SCB_SHCSR_PENDSVACT_Msk (1UL << SCB_SHCSR_PENDSVACT_Pos)
538#define SCB_SHCSR_SVCALLACT_Pos 7U
539#define SCB_SHCSR_SVCALLACT_Msk (1UL << SCB_SHCSR_SVCALLACT_Pos)
541#define SCB_SHCSR_NMIACT_Pos 5U
542#define SCB_SHCSR_NMIACT_Msk (1UL << SCB_SHCSR_NMIACT_Pos)
544#define SCB_SHCSR_HARDFAULTACT_Pos 2U
545#define SCB_SHCSR_HARDFAULTACT_Msk (1UL << SCB_SHCSR_HARDFAULTACT_Pos)
569#define SysTick_CTRL_COUNTFLAG_Pos 16U
570#define SysTick_CTRL_COUNTFLAG_Msk (1UL << SysTick_CTRL_COUNTFLAG_Pos)
572#define SysTick_CTRL_CLKSOURCE_Pos 2U
573#define SysTick_CTRL_CLKSOURCE_Msk (1UL << SysTick_CTRL_CLKSOURCE_Pos)
575#define SysTick_CTRL_TICKINT_Pos 1U
576#define SysTick_CTRL_TICKINT_Msk (1UL << SysTick_CTRL_TICKINT_Pos)
578#define SysTick_CTRL_ENABLE_Pos 0U
579#define SysTick_CTRL_ENABLE_Msk (1UL )
582#define SysTick_LOAD_RELOAD_Pos 0U
583#define SysTick_LOAD_RELOAD_Msk (0xFFFFFFUL )
586#define SysTick_VAL_CURRENT_Pos 0U
587#define SysTick_VAL_CURRENT_Msk (0xFFFFFFUL )
590#define SysTick_CALIB_NOREF_Pos 31U
591#define SysTick_CALIB_NOREF_Msk (1UL << SysTick_CALIB_NOREF_Pos)
593#define SysTick_CALIB_SKEW_Pos 30U
594#define SysTick_CALIB_SKEW_Msk (1UL << SysTick_CALIB_SKEW_Pos)
596#define SysTick_CALIB_TENMS_Pos 0U
597#define SysTick_CALIB_TENMS_Msk (0xFFFFFFUL )
683#define DWT_CTRL_NUMCOMP_Pos 28U
684#define DWT_CTRL_NUMCOMP_Msk (0xFUL << DWT_CTRL_NUMCOMP_Pos)
686#define DWT_CTRL_NOTRCPKT_Pos 27U
687#define DWT_CTRL_NOTRCPKT_Msk (0x1UL << DWT_CTRL_NOTRCPKT_Pos)
689#define DWT_CTRL_NOEXTTRIG_Pos 26U
690#define DWT_CTRL_NOEXTTRIG_Msk (0x1UL << DWT_CTRL_NOEXTTRIG_Pos)
692#define DWT_CTRL_NOCYCCNT_Pos 25U
693#define DWT_CTRL_NOCYCCNT_Msk (0x1UL << DWT_CTRL_NOCYCCNT_Pos)
695#define DWT_CTRL_NOPRFCNT_Pos 24U
696#define DWT_CTRL_NOPRFCNT_Msk (0x1UL << DWT_CTRL_NOPRFCNT_Pos)
699#define DWT_FUNCTION_ID_Pos 27U
700#define DWT_FUNCTION_ID_Msk (0x1FUL << DWT_FUNCTION_ID_Pos)
702#define DWT_FUNCTION_MATCHED_Pos 24U
703#define DWT_FUNCTION_MATCHED_Msk (0x1UL << DWT_FUNCTION_MATCHED_Pos)
705#define DWT_FUNCTION_DATAVSIZE_Pos 10U
706#define DWT_FUNCTION_DATAVSIZE_Msk (0x3UL << DWT_FUNCTION_DATAVSIZE_Pos)
708#define DWT_FUNCTION_ACTION_Pos 4U
709#define DWT_FUNCTION_ACTION_Msk (0x3UL << DWT_FUNCTION_ACTION_Pos)
711#define DWT_FUNCTION_MATCH_Pos 0U
712#define DWT_FUNCTION_MATCH_Msk (0xFUL )
730 __IOM uint32_t CSPSR;
731 uint32_t RESERVED0[2U];
733 uint32_t RESERVED1[55U];
735 uint32_t RESERVED2[131U];
739 uint32_t RESERVED3[809U];
742 uint32_t RESERVED4[4U];
744 __IM uint32_t DEVTYPE;
748#define TPI_ACPR_SWOSCALER_Pos 0U
749#define TPI_ACPR_SWOSCALER_Msk (0xFFFFUL )
752#define TPI_SPPR_TXMODE_Pos 0U
753#define TPI_SPPR_TXMODE_Msk (0x3UL )
756#define TPI_FFSR_FtNonStop_Pos 3U
757#define TPI_FFSR_FtNonStop_Msk (0x1UL << TPI_FFSR_FtNonStop_Pos)
759#define TPI_FFSR_TCPresent_Pos 2U
760#define TPI_FFSR_TCPresent_Msk (0x1UL << TPI_FFSR_TCPresent_Pos)
762#define TPI_FFSR_FtStopped_Pos 1U
763#define TPI_FFSR_FtStopped_Msk (0x1UL << TPI_FFSR_FtStopped_Pos)
765#define TPI_FFSR_FlInProg_Pos 0U
766#define TPI_FFSR_FlInProg_Msk (0x1UL )
769#define TPI_FFCR_TrigIn_Pos 8U
770#define TPI_FFCR_TrigIn_Msk (0x1UL << TPI_FFCR_TrigIn_Pos)
772#define TPI_FFCR_FOnMan_Pos 6U
773#define TPI_FFCR_FOnMan_Msk (0x1UL << TPI_FFCR_FOnMan_Pos)
775#define TPI_FFCR_EnFCont_Pos 1U
776#define TPI_FFCR_EnFCont_Msk (0x1UL << TPI_FFCR_EnFCont_Pos)
779#define TPI_PSCR_PSCount_Pos 0U
780#define TPI_PSCR_PSCount_Msk (0x1FUL )
783#define TPI_LSR_nTT_Pos 1U
784#define TPI_LSR_nTT_Msk (0x1UL << TPI_LSR_nTT_Pos)
786#define TPI_LSR_SLK_Pos 1U
787#define TPI_LSR_SLK_Msk (0x1UL << TPI_LSR_SLK_Pos)
789#define TPI_LSR_SLI_Pos 0U
790#define TPI_LSR_SLI_Msk (0x1UL )
793#define TPI_DEVID_NRZVALID_Pos 11U
794#define TPI_DEVID_NRZVALID_Msk (0x1UL << TPI_DEVID_NRZVALID_Pos)
796#define TPI_DEVID_MANCVALID_Pos 10U
797#define TPI_DEVID_MANCVALID_Msk (0x1UL << TPI_DEVID_MANCVALID_Pos)
799#define TPI_DEVID_PTINVALID_Pos 9U
800#define TPI_DEVID_PTINVALID_Msk (0x1UL << TPI_DEVID_PTINVALID_Pos)
802#define TPI_DEVID_FIFOSZ_Pos 6U
803#define TPI_DEVID_FIFOSZ_Msk (0x7UL << TPI_DEVID_FIFOSZ_Pos)
806#define TPI_DEVTYPE_SubType_Pos 4U
807#define TPI_DEVTYPE_SubType_Msk (0xFUL )
809#define TPI_DEVTYPE_MajorType_Pos 0U
810#define TPI_DEVTYPE_MajorType_Msk (0xFUL << TPI_DEVTYPE_MajorType_Pos)
815#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U)
833 uint32_t RESERVED0[7U];
843#define MPU_TYPE_RALIASES 1U
846#define MPU_TYPE_IREGION_Pos 16U
847#define MPU_TYPE_IREGION_Msk (0xFFUL << MPU_TYPE_IREGION_Pos)
849#define MPU_TYPE_DREGION_Pos 8U
850#define MPU_TYPE_DREGION_Msk (0xFFUL << MPU_TYPE_DREGION_Pos)
852#define MPU_TYPE_SEPARATE_Pos 0U
853#define MPU_TYPE_SEPARATE_Msk (1UL )
856#define MPU_CTRL_PRIVDEFENA_Pos 2U
857#define MPU_CTRL_PRIVDEFENA_Msk (1UL << MPU_CTRL_PRIVDEFENA_Pos)
859#define MPU_CTRL_HFNMIENA_Pos 1U
860#define MPU_CTRL_HFNMIENA_Msk (1UL << MPU_CTRL_HFNMIENA_Pos)
862#define MPU_CTRL_ENABLE_Pos 0U
863#define MPU_CTRL_ENABLE_Msk (1UL )
866#define MPU_RNR_REGION_Pos 0U
867#define MPU_RNR_REGION_Msk (0xFFUL )
870#define MPU_RBAR_BASE_Pos 5U
871#define MPU_RBAR_BASE_Msk (0x7FFFFFFUL << MPU_RBAR_BASE_Pos)
873#define MPU_RBAR_SH_Pos 3U
874#define MPU_RBAR_SH_Msk (0x3UL << MPU_RBAR_SH_Pos)
876#define MPU_RBAR_AP_Pos 1U
877#define MPU_RBAR_AP_Msk (0x3UL << MPU_RBAR_AP_Pos)
879#define MPU_RBAR_XN_Pos 0U
880#define MPU_RBAR_XN_Msk (01UL )
883#define MPU_RLAR_LIMIT_Pos 5U
884#define MPU_RLAR_LIMIT_Msk (0x7FFFFFFUL << MPU_RLAR_LIMIT_Pos)
886#define MPU_RLAR_AttrIndx_Pos 1U
887#define MPU_RLAR_AttrIndx_Msk (0x7UL << MPU_RLAR_AttrIndx_Pos)
889#define MPU_RLAR_EN_Pos 0U
890#define MPU_RLAR_EN_Msk (1UL )
893#define MPU_MAIR0_Attr3_Pos 24U
894#define MPU_MAIR0_Attr3_Msk (0xFFUL << MPU_MAIR0_Attr3_Pos)
896#define MPU_MAIR0_Attr2_Pos 16U
897#define MPU_MAIR0_Attr2_Msk (0xFFUL << MPU_MAIR0_Attr2_Pos)
899#define MPU_MAIR0_Attr1_Pos 8U
900#define MPU_MAIR0_Attr1_Msk (0xFFUL << MPU_MAIR0_Attr1_Pos)
902#define MPU_MAIR0_Attr0_Pos 0U
903#define MPU_MAIR0_Attr0_Msk (0xFFUL )
906#define MPU_MAIR1_Attr7_Pos 24U
907#define MPU_MAIR1_Attr7_Msk (0xFFUL << MPU_MAIR1_Attr7_Pos)
909#define MPU_MAIR1_Attr6_Pos 16U
910#define MPU_MAIR1_Attr6_Msk (0xFFUL << MPU_MAIR1_Attr6_Pos)
912#define MPU_MAIR1_Attr5_Pos 8U
913#define MPU_MAIR1_Attr5_Msk (0xFFUL << MPU_MAIR1_Attr5_Pos)
915#define MPU_MAIR1_Attr4_Pos 0U
916#define MPU_MAIR1_Attr4_Msk (0xFFUL )
922#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
937#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U)
945#define SAU_CTRL_ALLNS_Pos 1U
946#define SAU_CTRL_ALLNS_Msk (1UL << SAU_CTRL_ALLNS_Pos)
948#define SAU_CTRL_ENABLE_Pos 0U
949#define SAU_CTRL_ENABLE_Msk (1UL )
952#define SAU_TYPE_SREGION_Pos 0U
953#define SAU_TYPE_SREGION_Msk (0xFFUL )
955#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U)
957#define SAU_RNR_REGION_Pos 0U
958#define SAU_RNR_REGION_Msk (0xFFUL )
961#define SAU_RBAR_BADDR_Pos 5U
962#define SAU_RBAR_BADDR_Msk (0x7FFFFFFUL << SAU_RBAR_BADDR_Pos)
965#define SAU_RLAR_LADDR_Pos 5U
966#define SAU_RLAR_LADDR_Msk (0x7FFFFFFUL << SAU_RLAR_LADDR_Pos)
968#define SAU_RLAR_NSC_Pos 1U
969#define SAU_RLAR_NSC_Msk (1UL << SAU_RLAR_NSC_Pos)
971#define SAU_RLAR_ENABLE_Pos 0U
972#define SAU_RLAR_ENABLE_Msk (1UL )
993 __IOM uint32_t DHCSR;
995 __IOM uint32_t DCRDR;
996 __IOM uint32_t DEMCR;
1003#define CoreDebug_DHCSR_DBGKEY_Pos 16U
1004#define CoreDebug_DHCSR_DBGKEY_Msk (0xFFFFUL << CoreDebug_DHCSR_DBGKEY_Pos)
1006#define CoreDebug_DHCSR_S_RESTART_ST_Pos 26U
1007#define CoreDebug_DHCSR_S_RESTART_ST_Msk (1UL << CoreDebug_DHCSR_S_RESTART_ST_Pos)
1009#define CoreDebug_DHCSR_S_RESET_ST_Pos 25U
1010#define CoreDebug_DHCSR_S_RESET_ST_Msk (1UL << CoreDebug_DHCSR_S_RESET_ST_Pos)
1012#define CoreDebug_DHCSR_S_RETIRE_ST_Pos 24U
1013#define CoreDebug_DHCSR_S_RETIRE_ST_Msk (1UL << CoreDebug_DHCSR_S_RETIRE_ST_Pos)
1015#define CoreDebug_DHCSR_S_LOCKUP_Pos 19U
1016#define CoreDebug_DHCSR_S_LOCKUP_Msk (1UL << CoreDebug_DHCSR_S_LOCKUP_Pos)
1018#define CoreDebug_DHCSR_S_SLEEP_Pos 18U
1019#define CoreDebug_DHCSR_S_SLEEP_Msk (1UL << CoreDebug_DHCSR_S_SLEEP_Pos)
1021#define CoreDebug_DHCSR_S_HALT_Pos 17U
1022#define CoreDebug_DHCSR_S_HALT_Msk (1UL << CoreDebug_DHCSR_S_HALT_Pos)
1024#define CoreDebug_DHCSR_S_REGRDY_Pos 16U
1025#define CoreDebug_DHCSR_S_REGRDY_Msk (1UL << CoreDebug_DHCSR_S_REGRDY_Pos)
1027#define CoreDebug_DHCSR_C_MASKINTS_Pos 3U
1028#define CoreDebug_DHCSR_C_MASKINTS_Msk (1UL << CoreDebug_DHCSR_C_MASKINTS_Pos)
1030#define CoreDebug_DHCSR_C_STEP_Pos 2U
1031#define CoreDebug_DHCSR_C_STEP_Msk (1UL << CoreDebug_DHCSR_C_STEP_Pos)
1033#define CoreDebug_DHCSR_C_HALT_Pos 1U
1034#define CoreDebug_DHCSR_C_HALT_Msk (1UL << CoreDebug_DHCSR_C_HALT_Pos)
1036#define CoreDebug_DHCSR_C_DEBUGEN_Pos 0U
1037#define CoreDebug_DHCSR_C_DEBUGEN_Msk (1UL )
1040#define CoreDebug_DCRSR_REGWnR_Pos 16U
1041#define CoreDebug_DCRSR_REGWnR_Msk (1UL << CoreDebug_DCRSR_REGWnR_Pos)
1043#define CoreDebug_DCRSR_REGSEL_Pos 0U
1044#define CoreDebug_DCRSR_REGSEL_Msk (0x1FUL )
1047#define CoreDebug_DEMCR_DWTENA_Pos 24U
1048#define CoreDebug_DEMCR_DWTENA_Msk (1UL << CoreDebug_DEMCR_DWTENA_Pos)
1050#define CoreDebug_DEMCR_VC_HARDERR_Pos 10U
1051#define CoreDebug_DEMCR_VC_HARDERR_Msk (1UL << CoreDebug_DEMCR_VC_HARDERR_Pos)
1053#define CoreDebug_DEMCR_VC_CORERESET_Pos 0U
1054#define CoreDebug_DEMCR_VC_CORERESET_Msk (1UL )
1057#define CoreDebug_DAUTHCTRL_INTSPNIDEN_Pos 3U
1058#define CoreDebug_DAUTHCTRL_INTSPNIDEN_Msk (1UL << CoreDebug_DAUTHCTRL_INTSPNIDEN_Pos)
1060#define CoreDebug_DAUTHCTRL_SPNIDENSEL_Pos 2U
1061#define CoreDebug_DAUTHCTRL_SPNIDENSEL_Msk (1UL << CoreDebug_DAUTHCTRL_SPNIDENSEL_Pos)
1063#define CoreDebug_DAUTHCTRL_INTSPIDEN_Pos 1U
1064#define CoreDebug_DAUTHCTRL_INTSPIDEN_Msk (1UL << CoreDebug_DAUTHCTRL_INTSPIDEN_Pos)
1066#define CoreDebug_DAUTHCTRL_SPIDENSEL_Pos 0U
1067#define CoreDebug_DAUTHCTRL_SPIDENSEL_Msk (1UL )
1070#define CoreDebug_DSCSR_CDS_Pos 16U
1071#define CoreDebug_DSCSR_CDS_Msk (1UL << CoreDebug_DSCSR_CDS_Pos)
1073#define CoreDebug_DSCSR_SBRSEL_Pos 1U
1074#define CoreDebug_DSCSR_SBRSEL_Msk (1UL << CoreDebug_DSCSR_SBRSEL_Pos)
1076#define CoreDebug_DSCSR_SBRSELEN_Pos 0U
1077#define CoreDebug_DSCSR_SBRSELEN_Msk (1UL )
1094 __IOM uint32_t DHCSR;
1095 __OM uint32_t DCRSR;
1096 __IOM uint32_t DCRDR;
1097 __IOM uint32_t DEMCR;
1104#define DCB_DHCSR_DBGKEY_Pos 16U
1105#define DCB_DHCSR_DBGKEY_Msk (0xFFFFUL << DCB_DHCSR_DBGKEY_Pos)
1107#define DCB_DHCSR_S_RESTART_ST_Pos 26U
1108#define DCB_DHCSR_S_RESTART_ST_Msk (0x1UL << DCB_DHCSR_S_RESTART_ST_Pos)
1110#define DCB_DHCSR_S_RESET_ST_Pos 25U
1111#define DCB_DHCSR_S_RESET_ST_Msk (0x1UL << DCB_DHCSR_S_RESET_ST_Pos)
1113#define DCB_DHCSR_S_RETIRE_ST_Pos 24U
1114#define DCB_DHCSR_S_RETIRE_ST_Msk (0x1UL << DCB_DHCSR_S_RETIRE_ST_Pos)
1116#define DCB_DHCSR_S_SDE_Pos 20U
1117#define DCB_DHCSR_S_SDE_Msk (0x1UL << DCB_DHCSR_S_SDE_Pos)
1119#define DCB_DHCSR_S_LOCKUP_Pos 19U
1120#define DCB_DHCSR_S_LOCKUP_Msk (0x1UL << DCB_DHCSR_S_LOCKUP_Pos)
1122#define DCB_DHCSR_S_SLEEP_Pos 18U
1123#define DCB_DHCSR_S_SLEEP_Msk (0x1UL << DCB_DHCSR_S_SLEEP_Pos)
1125#define DCB_DHCSR_S_HALT_Pos 17U
1126#define DCB_DHCSR_S_HALT_Msk (0x1UL << DCB_DHCSR_S_HALT_Pos)
1128#define DCB_DHCSR_S_REGRDY_Pos 16U
1129#define DCB_DHCSR_S_REGRDY_Msk (0x1UL << DCB_DHCSR_S_REGRDY_Pos)
1131#define DCB_DHCSR_C_MASKINTS_Pos 3U
1132#define DCB_DHCSR_C_MASKINTS_Msk (0x1UL << DCB_DHCSR_C_MASKINTS_Pos)
1134#define DCB_DHCSR_C_STEP_Pos 2U
1135#define DCB_DHCSR_C_STEP_Msk (0x1UL << DCB_DHCSR_C_STEP_Pos)
1137#define DCB_DHCSR_C_HALT_Pos 1U
1138#define DCB_DHCSR_C_HALT_Msk (0x1UL << DCB_DHCSR_C_HALT_Pos)
1140#define DCB_DHCSR_C_DEBUGEN_Pos 0U
1141#define DCB_DHCSR_C_DEBUGEN_Msk (0x1UL )
1144#define DCB_DCRSR_REGWnR_Pos 16U
1145#define DCB_DCRSR_REGWnR_Msk (0x1UL << DCB_DCRSR_REGWnR_Pos)
1147#define DCB_DCRSR_REGSEL_Pos 0U
1148#define DCB_DCRSR_REGSEL_Msk (0x7FUL )
1151#define DCB_DCRDR_DBGTMP_Pos 0U
1152#define DCB_DCRDR_DBGTMP_Msk (0xFFFFFFFFUL )
1155#define DCB_DEMCR_TRCENA_Pos 24U
1156#define DCB_DEMCR_TRCENA_Msk (0x1UL << DCB_DEMCR_TRCENA_Pos)
1158#define DCB_DEMCR_VC_HARDERR_Pos 10U
1159#define DCB_DEMCR_VC_HARDERR_Msk (0x1UL << DCB_DEMCR_VC_HARDERR_Pos)
1161#define DCB_DEMCR_VC_CORERESET_Pos 0U
1162#define DCB_DEMCR_VC_CORERESET_Msk (0x1UL )
1165#define DCB_DAUTHCTRL_INTSPNIDEN_Pos 3U
1166#define DCB_DAUTHCTRL_INTSPNIDEN_Msk (0x1UL << DCB_DAUTHCTRL_INTSPNIDEN_Pos)
1168#define DCB_DAUTHCTRL_SPNIDENSEL_Pos 2U
1169#define DCB_DAUTHCTRL_SPNIDENSEL_Msk (0x1UL << DCB_DAUTHCTRL_SPNIDENSEL_Pos)
1171#define DCB_DAUTHCTRL_INTSPIDEN_Pos 1U
1172#define DCB_DAUTHCTRL_INTSPIDEN_Msk (0x1UL << DCB_DAUTHCTRL_INTSPIDEN_Pos)
1174#define DCB_DAUTHCTRL_SPIDENSEL_Pos 0U
1175#define DCB_DAUTHCTRL_SPIDENSEL_Msk (0x1UL )
1178#define DCB_DSCSR_CDSKEY_Pos 17U
1179#define DCB_DSCSR_CDSKEY_Msk (0x1UL << DCB_DSCSR_CDSKEY_Pos)
1181#define DCB_DSCSR_CDS_Pos 16U
1182#define DCB_DSCSR_CDS_Msk (0x1UL << DCB_DSCSR_CDS_Pos)
1184#define DCB_DSCSR_SBRSEL_Pos 1U
1185#define DCB_DSCSR_SBRSEL_Msk (0x1UL << DCB_DSCSR_SBRSEL_Pos)
1187#define DCB_DSCSR_SBRSELEN_Pos 0U
1188#define DCB_DSCSR_SBRSELEN_Msk (0x1UL )
1208 __IM uint32_t DAUTHSTATUS;
1209 __IM uint32_t DDEVARCH;
1210 __IM uint32_t DDEVTYPE;
1214#define DIB_DLAR_KEY_Pos 0U
1215#define DIB_DLAR_KEY_Msk (0xFFFFFFFFUL )
1218#define DIB_DLSR_nTT_Pos 2U
1219#define DIB_DLSR_nTT_Msk (0x1UL << DIB_DLSR_nTT_Pos )
1221#define DIB_DLSR_SLK_Pos 1U
1222#define DIB_DLSR_SLK_Msk (0x1UL << DIB_DLSR_SLK_Pos )
1224#define DIB_DLSR_SLI_Pos 0U
1225#define DIB_DLSR_SLI_Msk (0x1UL )
1228#define DIB_DAUTHSTATUS_SNID_Pos 6U
1229#define DIB_DAUTHSTATUS_SNID_Msk (0x3UL << DIB_DAUTHSTATUS_SNID_Pos )
1231#define DIB_DAUTHSTATUS_SID_Pos 4U
1232#define DIB_DAUTHSTATUS_SID_Msk (0x3UL << DIB_DAUTHSTATUS_SID_Pos )
1234#define DIB_DAUTHSTATUS_NSNID_Pos 2U
1235#define DIB_DAUTHSTATUS_NSNID_Msk (0x3UL << DIB_DAUTHSTATUS_NSNID_Pos )
1237#define DIB_DAUTHSTATUS_NSID_Pos 0U
1238#define DIB_DAUTHSTATUS_NSID_Msk (0x3UL )
1241#define DIB_DDEVARCH_ARCHITECT_Pos 21U
1242#define DIB_DDEVARCH_ARCHITECT_Msk (0x7FFUL << DIB_DDEVARCH_ARCHITECT_Pos )
1244#define DIB_DDEVARCH_PRESENT_Pos 20U
1245#define DIB_DDEVARCH_PRESENT_Msk (0x1FUL << DIB_DDEVARCH_PRESENT_Pos )
1247#define DIB_DDEVARCH_REVISION_Pos 16U
1248#define DIB_DDEVARCH_REVISION_Msk (0xFUL << DIB_DDEVARCH_REVISION_Pos )
1250#define DIB_DDEVARCH_ARCHVER_Pos 12U
1251#define DIB_DDEVARCH_ARCHVER_Msk (0xFUL << DIB_DDEVARCH_ARCHVER_Pos )
1253#define DIB_DDEVARCH_ARCHPART_Pos 0U
1254#define DIB_DDEVARCH_ARCHPART_Msk (0xFFFUL )
1257#define DIB_DDEVTYPE_SUB_Pos 4U
1258#define DIB_DDEVTYPE_SUB_Msk (0xFUL << DIB_DDEVTYPE_SUB_Pos )
1260#define DIB_DDEVTYPE_MAJOR_Pos 0U
1261#define DIB_DDEVTYPE_MAJOR_Msk (0xFUL )
1280#define _VAL2FLD(field, value) (((uint32_t)(value) << field ## _Pos) & field ## _Msk)
1288#define _FLD2VAL(field, value) (((uint32_t)(value) & field ## _Msk) >> field ## _Pos)
1301 #define SCS_BASE (0xE000E000UL)
1302 #define DWT_BASE (0xE0001000UL)
1303 #define TPI_BASE (0xE0040000UL)
1304 #define CoreDebug_BASE (0xE000EDF0UL)
1305 #define DCB_BASE (0xE000EDF0UL)
1306 #define DIB_BASE (0xE000EFB0UL)
1307 #define SysTick_BASE (SCS_BASE + 0x0010UL)
1308 #define NVIC_BASE (SCS_BASE + 0x0100UL)
1309 #define SCB_BASE (SCS_BASE + 0x0D00UL)
1312 #define SCB ((SCB_Type *) SCB_BASE )
1313 #define SysTick ((SysTick_Type *) SysTick_BASE )
1314 #define NVIC ((NVIC_Type *) NVIC_BASE )
1315 #define DWT ((DWT_Type *) DWT_BASE )
1316 #define TPI ((TPI_Type *) TPI_BASE )
1317 #define CoreDebug ((CoreDebug_Type *) CoreDebug_BASE )
1318 #define DCB ((DCB_Type *) DCB_BASE )
1319 #define DIB ((DIB_Type *) DIB_BASE )
1321 #if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U)
1322 #define MPU_BASE (SCS_BASE + 0x0D90UL)
1323 #define MPU ((MPU_Type *) MPU_BASE )
1326 #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
1327 #define SAU_BASE (SCS_BASE + 0x0DD0UL)
1328 #define SAU ((SAU_Type *) SAU_BASE )
1331#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
1332 #define SCS_BASE_NS (0xE002E000UL)
1333 #define CoreDebug_BASE_NS (0xE002EDF0UL)
1334 #define DCB_BASE_NS (0xE002EDF0UL)
1335 #define DIB_BASE_NS (0xE002EFB0UL)
1336 #define SysTick_BASE_NS (SCS_BASE_NS + 0x0010UL)
1337 #define NVIC_BASE_NS (SCS_BASE_NS + 0x0100UL)
1338 #define SCB_BASE_NS (SCS_BASE_NS + 0x0D00UL)
1340 #define SCB_NS ((SCB_Type *) SCB_BASE_NS )
1341 #define SysTick_NS ((SysTick_Type *) SysTick_BASE_NS )
1342 #define NVIC_NS ((NVIC_Type *) NVIC_BASE_NS )
1343 #define CoreDebug_NS ((CoreDebug_Type *) CoreDebug_BASE_NS)
1344 #define DCB_NS ((DCB_Type *) DCB_BASE_NS )
1345 #define DIB_NS ((DIB_Type *) DIB_BASE_NS )
1347 #if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U)
1348 #define MPU_BASE_NS (SCS_BASE_NS + 0x0D90UL)
1349 #define MPU_NS ((MPU_Type *) MPU_BASE_NS )
1379#ifdef CMSIS_NVIC_VIRTUAL
1380 #ifndef CMSIS_NVIC_VIRTUAL_HEADER_FILE
1381 #define CMSIS_NVIC_VIRTUAL_HEADER_FILE "cmsis_nvic_virtual.h"
1383 #include CMSIS_NVIC_VIRTUAL_HEADER_FILE
1385 #define NVIC_SetPriorityGrouping __NVIC_SetPriorityGrouping
1386 #define NVIC_GetPriorityGrouping __NVIC_GetPriorityGrouping
1387 #define NVIC_EnableIRQ __NVIC_EnableIRQ
1388 #define NVIC_GetEnableIRQ __NVIC_GetEnableIRQ
1389 #define NVIC_DisableIRQ __NVIC_DisableIRQ
1390 #define NVIC_GetPendingIRQ __NVIC_GetPendingIRQ
1391 #define NVIC_SetPendingIRQ __NVIC_SetPendingIRQ
1392 #define NVIC_ClearPendingIRQ __NVIC_ClearPendingIRQ
1393 #define NVIC_GetActive __NVIC_GetActive
1394 #define NVIC_SetPriority __NVIC_SetPriority
1395 #define NVIC_GetPriority __NVIC_GetPriority
1396 #define NVIC_SystemReset __NVIC_SystemReset
1399#ifdef CMSIS_VECTAB_VIRTUAL
1400 #ifndef CMSIS_VECTAB_VIRTUAL_HEADER_FILE
1401 #define CMSIS_VECTAB_VIRTUAL_HEADER_FILE "cmsis_vectab_virtual.h"
1403 #include CMSIS_VECTAB_VIRTUAL_HEADER_FILE
1405 #define NVIC_SetVector __NVIC_SetVector
1406 #define NVIC_GetVector __NVIC_GetVector
1409#define NVIC_USER_IRQ_OFFSET 16
1415#define FNC_RETURN (0xFEFFFFFFUL)
1418#define EXC_RETURN_PREFIX (0xFF000000UL)
1419#define EXC_RETURN_S (0x00000040UL)
1420#define EXC_RETURN_DCRS (0x00000020UL)
1421#define EXC_RETURN_FTYPE (0x00000010UL)
1422#define EXC_RETURN_MODE (0x00000008UL)
1423#define EXC_RETURN_SPSEL (0x00000004UL)
1424#define EXC_RETURN_ES (0x00000001UL)
1427#if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)
1428#define EXC_INTEGRITY_SIGNATURE (0xFEFA125AUL)
1430#define EXC_INTEGRITY_SIGNATURE (0xFEFA125BUL)
1436#define _BIT_SHIFT(IRQn) ( ((((uint32_t)(int32_t)(IRQn)) ) & 0x03UL) * 8UL)
1437#define _SHP_IDX(IRQn) ( (((((uint32_t)(int32_t)(IRQn)) & 0x0FUL)-8UL) >> 2UL) )
1438#define _IP_IDX(IRQn) ( (((uint32_t)(int32_t)(IRQn)) >> 2UL) )
1440#define __NVIC_SetPriorityGrouping(X) (void)(X)
1441#define __NVIC_GetPriorityGrouping() (0U)
1451 if ((int32_t)(IRQn) >= 0)
1454 NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
1470 if ((int32_t)(IRQn) >= 0)
1472 return((uint32_t)(((
NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
1489 if ((int32_t)(IRQn) >= 0)
1491 NVIC->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
1508 if ((int32_t)(IRQn) >= 0)
1510 return((uint32_t)(((
NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
1527 if ((int32_t)(IRQn) >= 0)
1529 NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
1542 if ((int32_t)(IRQn) >= 0)
1544 NVIC->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
1559 if ((int32_t)(IRQn) >= 0)
1561 return((uint32_t)(((
NVIC->IABR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
1570#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
1581 if ((int32_t)(IRQn) >= 0)
1583 return((uint32_t)(((
NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
1602 if ((int32_t)(IRQn) >= 0)
1604 NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] |= ((uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)));
1605 return((uint32_t)(((
NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
1624 if ((int32_t)(IRQn) >= 0)
1626 NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] &= ~((uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)));
1627 return((uint32_t)(((
NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
1648 if ((int32_t)(IRQn) >= 0)
1673 if ((int32_t)(IRQn) >= 0)
1697 uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL);
1698 uint32_t PreemptPriorityBits;
1699 uint32_t SubPriorityBits;
1702 SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(
__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(
__NVIC_PRIO_BITS));
1705 ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) |
1706 ((SubPriority & (uint32_t)((1UL << (SubPriorityBits )) - 1UL)))
1724 uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL);
1725 uint32_t PreemptPriorityBits;
1726 uint32_t SubPriorityBits;
1729 SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(
__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(
__NVIC_PRIO_BITS));
1731 *pPreemptPriority = (Priority >> SubPriorityBits) & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL);
1732 *pSubPriority = (Priority ) & (uint32_t)((1UL << (SubPriorityBits )) - 1UL);
1748#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U)
1749 uint32_t *vectors = (uint32_t *)
SCB->VTOR;
1751 uint32_t *vectors = (uint32_t *)0x0U;
1768#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U)
1769 uint32_t *vectors = (uint32_t *)
SCB->VTOR;
1771 uint32_t *vectors = (uint32_t *)0x0U;
1795#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
1804 if ((int32_t)(IRQn) >= 0)
1806 NVIC_NS->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
1821 if ((int32_t)(IRQn) >= 0)
1823 return((uint32_t)(((NVIC_NS->ISER[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
1840 if ((int32_t)(IRQn) >= 0)
1842 NVIC_NS->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
1857 if ((int32_t)(IRQn) >= 0)
1859 return((uint32_t)(((NVIC_NS->ISPR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
1876 if ((int32_t)(IRQn) >= 0)
1878 NVIC_NS->ISPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
1891 if ((int32_t)(IRQn) >= 0)
1893 NVIC_NS->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
1908 if ((int32_t)(IRQn) >= 0)
1910 return((uint32_t)(((NVIC_NS->IABR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
1930 if ((int32_t)(IRQn) >= 0)
1954 if ((int32_t)(IRQn) >= 0)
1969#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U)
2009#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
2017 SAU->CTRL |= (SAU_CTRL_ENABLE_Msk);
2028 SAU->CTRL &= ~(SAU_CTRL_ENABLE_Msk);
2069 return (
DCB->DAUTHCTRL);
2073#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
2083 DCB_NS->DAUTHCTRL =
value;
2096 return (DCB_NS->DAUTHCTRL);
2121 return (
DIB->DAUTHSTATUS);
2125#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
2133 return (DIB_NS->DAUTHSTATUS);
2150#if defined (__Vendor_SysTickConfig) && (__Vendor_SysTickConfig == 0U)
2170 SysTick->LOAD = (uint32_t)(ticks - 1UL);
2179#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
2199 SysTick_NS->LOAD = (uint32_t)(ticks - 1UL);
2201 SysTick_NS->VAL = 0UL;
#define __COMPILER_BARRIER()
CMSIS compiler generic header file.
CMSIS Core(M) Version definitions.
#define SysTick_CTRL_ENABLE_Msk
SysTick CTRL: ENABLE Mask.
#define DCB
DCB configuration struct.
#define SysTick_LOAD_RELOAD_Msk
SysTick LOAD: RELOAD Mask.
#define SysTick_CTRL_TICKINT_Msk
SysTick CTRL: TICKINT Mask.
#define SysTick_CTRL_CLKSOURCE_Msk
SysTick CTRL: CLKSOURCE Mask.
#define SCB_AIRCR_VECTKEY_Pos
SCB AIRCR: VECTKEY Position.
#define SCB
SCB configuration struct.
#define DIB
DIB configuration struct.
#define SCB_AIRCR_SYSRESETREQ_Msk
SCB AIRCR: SYSRESETREQ Mask.
#define NVIC
NVIC configuration struct.
#define SysTick
SysTick configuration struct.
#define __DSB()
Data Synchronization Barrier.
#define __ISB()
Instruction Synchronization Barrier.
#define __NOP
No Operation.
__NO_RETURN __STATIC_INLINE void __NVIC_SystemReset(void)
System Reset.
__STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
Set Interrupt Vector.
__STATIC_INLINE uint32_t DIB_GetAuthStatus(void)
Get Debug Authentication Status Register.
__STATIC_INLINE void NVIC_DecodePriority(uint32_t Priority, uint32_t PriorityGroup, uint32_t *const pPreemptPriority, uint32_t *const pSubPriority)
Decode Priority.
__STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn)
Get Interrupt Vector.
__STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
Set Interrupt Priority.
__STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
Clear Pending Interrupt.
__STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn)
Get Pending Interrupt.
__STATIC_INLINE uint32_t SCB_GetFPUType(void)
get FPU type
__STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
Enable Interrupt.
#define NVIC_USER_IRQ_OFFSET
__STATIC_INLINE void DCB_SetAuthCtrl(uint32_t value)
Set Debug Authentication Control Register.
__STATIC_INLINE uint32_t __NVIC_GetActive(IRQn_Type IRQn)
Get Active Interrupt.
__STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
Set Pending Interrupt.
__STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn)
Get Interrupt Enable status.
__STATIC_INLINE uint32_t NVIC_EncodePriority(uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority)
Encode Priority.
__STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn)
Disable Interrupt.
__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
System Tick Configuration.
__STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn)
Get Interrupt Priority.
__STATIC_INLINE uint32_t DCB_GetAuthCtrl(void)
Get Debug Authentication Control Register.
uint32_t N
bit: 31 Negative condition code flag
uint32_t SPSEL
bit: 1 Stack-pointer select
uint32_t _reserved0
bit: 9..23 Reserved
uint32_t Z
bit: 30 Zero condition code flag
uint32_t V
bit: 28 Overflow condition code flag
uint32_t _reserved1
bit: 25..27 Reserved
uint32_t V
bit: 28 Overflow condition code flag
uint32_t C
bit: 29 Carry condition code flag
uint32_t C
bit: 29 Carry condition code flag
uint32_t T
bit: 24 Thumb bit (read 0)
uint32_t _reserved0
bit: 9..31 Reserved
uint32_t _reserved1
bit: 2..31 Reserved
uint32_t _reserved0
bit: 0..27 Reserved
__IOM uint8_t SHPR[12U]
Offset: 0x018 (R/W) System Handlers Priority Registers (4-7, 8-11, 12-15).
uint32_t Z
bit: 30 Zero condition code flag
uint32_t nPRIV
bit: 0 Execution privilege in Thread mode
__IOM uint32_t MAIR0
Offset: 0x030 (R/W) MPU Memory Attribute Indirection Register 0.
uint32_t N
bit: 31 Negative condition code flag
__IOM uint32_t MAIR1
Offset: 0x034 (R/W) MPU Memory Attribute Indirection Register 1.
__IOM uint32_t COMP5
Offset: 0x070 (R/W) Comparator Register 5.
__IOM uint32_t COMP6
Offset: 0x080 (R/W) Comparator Register 6.
__IOM uint32_t DSCSR
Offset: 0x018 (R/W) Debug Security Control and Status Register.
__IOM uint32_t DAUTHCTRL
Offset: 0x014 (R/W) Debug Authentication Control Register.
__IOM uint32_t FUNCTION11
Offset: 0x0D8 (R/W) Function Register 11.
__IOM uint32_t CCR
Offset: 0x014 (R/W) Configuration Control Register.
__IOM uint32_t FUNCTION5
Offset: 0x078 (R/W) Function Register 5.
__IOM uint32_t FUNCTION4
Offset: 0x068 (R/W) Function Register 4.
__IOM uint32_t FUNCTION9
Offset: 0x0B8 (R/W) Function Register 9.
__IOM uint32_t COMP1
Offset: 0x030 (R/W) Comparator Register 1.
__IOM uint32_t SCR
Offset: 0x010 (R/W) System Control Register.
__IOM uint32_t COMP7
Offset: 0x090 (R/W) Comparator Register 7.
__IOM uint32_t FUNCTION12
Offset: 0x0E8 (R/W) Function Register 12.
__IOM uint32_t FUNCTION3
Offset: 0x058 (R/W) Function Register 3.
__IOM uint32_t FUNCTION0
Offset: 0x028 (R/W) Function Register 0.
__IOM uint32_t COMP2
Offset: 0x040 (R/W) Comparator Register 2.
__IOM uint8_t IPR[496U]
Offset: 0x300 (R/W) Interrupt Priority Register (8Bit wide).
__IOM uint32_t COMP0
Offset: 0x020 (R/W) Comparator Register 0.
__IM uint32_t PCSR
Offset: 0x01C (R/ ) Program Counter Sample Register.
__IOM uint32_t FUNCTION10
Offset: 0x0C8 (R/W) Function Register 10.
__IOM uint32_t FUNCTION15
Offset: 0x118 (R/W) Function Register 15.
__IOM uint32_t SHCSR
Offset: 0x024 (R/W) System Handler Control and State Register.
__IOM uint32_t FUNCTION14
Offset: 0x108 (R/W) Function Register 14.
__IOM uint32_t COMP14
Offset: 0x100 (R/W) Comparator Register 14.
__IOM uint32_t COMP3
Offset: 0x050 (R/W) Comparator Register 3.
__IOM uint32_t COMP4
Offset: 0x060 (R/W) Comparator Register 4.
__IOM uint32_t FUNCTION1
Offset: 0x038 (R/W) Function Register 1.
__IOM uint32_t COMP12
Offset: 0x0E0 (R/W) Comparator Register 12.
__IOM uint32_t COMP11
Offset: 0x0D0 (R/W) Comparator Register 11.
__IOM uint32_t COMP15
Offset: 0x110 (R/W) Comparator Register 15.
__IOM uint32_t FUNCTION6
Offset: 0x088 (R/W) Function Register 6.
__IOM uint32_t FUNCTION2
Offset: 0x048 (R/W) Function Register 2.
__IOM uint32_t FUNCTION7
Offset: 0x098 (R/W) Function Register 7.
__IOM uint32_t COMP13
Offset: 0x0F0 (R/W) Comparator Register 13.
__IOM uint32_t COMP9
Offset: 0x0B0 (R/W) Comparator Register 9.
__IOM uint32_t FUNCTION8
Offset: 0x0A8 (R/W) Function Register 8.
__IOM uint32_t DAUTHCTRL
Offset: 0x014 (R/W) Debug Authentication Control Register.
__IOM uint32_t COMP10
Offset: 0x0C0 (R/W) Comparator Register 10.
__IOM uint32_t AIRCR
Offset: 0x00C (R/W) Application Interrupt and Reset Control Register.
__IOM uint32_t DSCSR
Offset: 0x018 (R/W) Debug Security Control and Status Register.
__IOM uint32_t COMP8
Offset: 0x0A0 (R/W) Comparator Register 8.
__IOM uint32_t FUNCTION13
Offset: 0x0F8 (R/W) Function Register 13.
#define __NVIC_PRIO_BITS
CM7 uses 4 Bits for the Priority Levels.
IRQn_Type
STM32H7XX Interrupt Number Definition, according to the selected device in Library_configuration_sect...
@ SysTick_IRQn
15 Cortex-M System Tick Interrupt
*brief create JSON pointer *sa reference_tokens const string_t const string_t & b
Structure type to access the Core Debug Register (CoreDebug).
Structure type to access the Debug Control Block Registers (DCB).
Structure type to access the Debug Identification Block Registers (DIB).
Structure type to access the Data Watchpoint and Trace Register (DWT).
Structure type to access the Memory Protection Unit (MPU).
Structure type to access the Nested Vectored Interrupt Controller (NVIC).
Structure type to access the System Control Block (SCB).
Structure type to access the System Timer (SysTick).
Structure type to access the Trace Port Interface Register (TPI).
Union type to access the Application Program Status Register (APSR).
Union type to access the Control Registers (CONTROL).
Union type to access the Interrupt Program Status Register (IPSR).
Union type to access the Special-Purpose Program Status Registers (xPSR).