26#if defined ( __ICCARM__ )
27 #pragma system_include
28#elif defined (__clang__)
29 #pragma clang system_header
30#elif defined ( __GNUC__ )
31 #pragma GCC diagnostic ignored "-Wpedantic"
34#ifndef __CORE_STAR_H_GENERIC
35#define __CORE_STAR_H_GENERIC
74#if defined ( __CC_ARM )
75 #if defined (__TARGET_FPU_VFP)
76 #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)
79 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
86 #if defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1U)
87 #if defined (__DSP_PRESENT) && (__DSP_PRESENT == 1U)
90 #error "Compiler generates DSP (SIMD) instructions for a devices without DSP extensions (check __DSP_PRESENT)"
97#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
98 #if defined (__ARM_FP)
99 #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)
100 #define __FPU_USED 1U
102 #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
103 #define __FPU_USED 0U
106 #define __FPU_USED 0U
109 #if defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1U)
110 #if defined (__DSP_PRESENT) && (__DSP_PRESENT == 1U)
111 #define __DSP_USED 1U
113 #error "Compiler generates DSP (SIMD) instructions for a devices without DSP extensions (check __DSP_PRESENT)"
114 #define __DSP_USED 0U
117 #define __DSP_USED 0U
120#elif defined ( __GNUC__ )
121 #if defined (__VFP_FP__) && !defined(__SOFTFP__)
122 #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)
123 #define __FPU_USED 1U
125 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
126 #define __FPU_USED 0U
129 #define __FPU_USED 0U
132 #if defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1U)
133 #if defined (__DSP_PRESENT) && (__DSP_PRESENT == 1U)
134 #define __DSP_USED 1U
136 #error "Compiler generates DSP (SIMD) instructions for a devices without DSP extensions (check __DSP_PRESENT)"
137 #define __DSP_USED 0U
140 #define __DSP_USED 0U
143#elif defined ( __ICCARM__ )
144 #if defined (__ARMVFP__)
145 #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)
146 #define __FPU_USED 1U
148 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
149 #define __FPU_USED 0U
152 #define __FPU_USED 0U
155 #if defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1U)
156 #if defined (__DSP_PRESENT) && (__DSP_PRESENT == 1U)
157 #define __DSP_USED 1U
159 #error "Compiler generates DSP (SIMD) instructions for a devices without DSP extensions (check __DSP_PRESENT)"
160 #define __DSP_USED 0U
163 #define __DSP_USED 0U
166#elif defined ( __TI_ARM__ )
167 #if defined (__TI_VFP_SUPPORT__)
168 #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)
169 #define __FPU_USED 1U
171 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
172 #define __FPU_USED 0U
175 #define __FPU_USED 0U
178#elif defined ( __TASKING__ )
179 #if defined (__FPU_VFP__)
180 #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)
181 #define __FPU_USED 1U
183 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
184 #define __FPU_USED 0U
187 #define __FPU_USED 0U
190#elif defined ( __CSMC__ )
191 #if ( __CSMC__ & 0x400U)
192 #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)
193 #define __FPU_USED 1U
195 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
196 #define __FPU_USED 0U
199 #define __FPU_USED 0U
213#ifndef __CMSIS_GENERIC
215#ifndef __CORE_STAR_H_DEPENDANT
216#define __CORE_STAR_H_DEPENDANT
223#if defined __CHECK_DEVICE_DEFINES
225 #define __STAR_REV 0x0000U
226 #warning "__STAR_REV not defined in device header file; using default!"
229 #ifndef __FPU_PRESENT
230 #define __FPU_PRESENT 0U
231 #warning "__FPU_PRESENT not defined in device header file; using default!"
234 #ifndef __MPU_PRESENT
235 #define __MPU_PRESENT 0U
236 #warning "__MPU_PRESENT not defined in device header file; using default!"
239 #ifndef __SAUREGION_PRESENT
240 #define __SAUREGION_PRESENT 0U
241 #warning "__SAUREGION_PRESENT not defined in device header file; using default!"
244 #ifndef __DSP_PRESENT
245 #define __DSP_PRESENT 0U
246 #warning "__DSP_PRESENT not defined in device header file; using default!"
249 #ifndef __ICACHE_PRESENT
250 #define __ICACHE_PRESENT 0U
251 #warning "__ICACHE_PRESENT not defined in device header file; using default!"
254 #ifndef __DCACHE_PRESENT
255 #define __DCACHE_PRESENT 0U
256 #warning "__DCACHE_PRESENT not defined in device header file; using default!"
259 #ifndef __DTCM_PRESENT
260 #define __DTCM_PRESENT 0U
261 #warning "__DTCM_PRESENT not defined in device header file; using default!"
264 #ifndef __NVIC_PRIO_BITS
265 #define __NVIC_PRIO_BITS 3U
266 #warning "__NVIC_PRIO_BITS not defined in device header file; using default!"
269 #ifndef __Vendor_SysTickConfig
270 #define __Vendor_SysTickConfig 0U
271 #warning "__Vendor_SysTickConfig not defined in device header file; using default!"
286 #define __I volatile const
292#define __IM volatile const
294#define __IOM volatile
344#define APSR_N_Pos 31U
345#define APSR_N_Msk (1UL << APSR_N_Pos)
347#define APSR_Z_Pos 30U
348#define APSR_Z_Msk (1UL << APSR_Z_Pos)
350#define APSR_C_Pos 29U
351#define APSR_C_Msk (1UL << APSR_C_Pos)
353#define APSR_V_Pos 28U
354#define APSR_V_Msk (1UL << APSR_V_Pos)
356#define APSR_Q_Pos 27U
357#define APSR_Q_Msk (1UL << APSR_Q_Pos)
359#define APSR_GE_Pos 16U
360#define APSR_GE_Msk (0xFUL << APSR_GE_Pos)
377#define IPSR_ISR_Pos 0U
378#define IPSR_ISR_Msk (0x1FFUL )
404#define xPSR_N_Pos 31U
405#define xPSR_N_Msk (1UL << xPSR_N_Pos)
407#define xPSR_Z_Pos 30U
408#define xPSR_Z_Msk (1UL << xPSR_Z_Pos)
410#define xPSR_C_Pos 29U
411#define xPSR_C_Msk (1UL << xPSR_C_Pos)
413#define xPSR_V_Pos 28U
414#define xPSR_V_Msk (1UL << xPSR_V_Pos)
416#define xPSR_Q_Pos 27U
417#define xPSR_Q_Msk (1UL << xPSR_Q_Pos)
419#define xPSR_IT_Pos 25U
420#define xPSR_IT_Msk (3UL << xPSR_IT_Pos)
422#define xPSR_T_Pos 24U
423#define xPSR_T_Msk (1UL << xPSR_T_Pos)
425#define xPSR_GE_Pos 16U
426#define xPSR_GE_Msk (0xFUL << xPSR_GE_Pos)
428#define xPSR_ISR_Pos 0U
429#define xPSR_ISR_Msk (0x1FFUL )
449#define CONTROL_SFPA_Pos 3U
450#define CONTROL_SFPA_Msk (1UL << CONTROL_SFPA_Pos)
452#define CONTROL_FPCA_Pos 2U
453#define CONTROL_FPCA_Msk (1UL << CONTROL_FPCA_Pos)
455#define CONTROL_SPSEL_Pos 1U
456#define CONTROL_SPSEL_Msk (1UL << CONTROL_SPSEL_Pos)
458#define CONTROL_nPRIV_Pos 0U
459#define CONTROL_nPRIV_Msk (1UL )
476 __IOM uint32_t ISER[16U];
477 uint32_t RESERVED0[16U];
478 __IOM uint32_t ICER[16U];
479 uint32_t RSERVED1[16U];
480 __IOM uint32_t ISPR[16U];
481 uint32_t RESERVED2[16U];
482 __IOM uint32_t ICPR[16U];
483 uint32_t RESERVED3[16U];
484 __IOM uint32_t IABR[16U];
485 uint32_t RESERVED4[16U];
486 __IOM uint32_t ITNS[16U];
487 uint32_t RESERVED5[16U];
488 __IOM uint8_t IPR[496U];
489 uint32_t RESERVED6[580U];
494#define NVIC_STIR_INTID_Pos 0U
495#define NVIC_STIR_INTID_Msk (0x1FFUL )
515 __IOM uint32_t AIRCR;
518 __IOM uint8_t SHPR[12U];
519 __IOM uint32_t SHCSR;
523 __IOM uint32_t MMFAR;
526 __IM uint32_t ID_PFR[2U];
527 __IM uint32_t ID_DFR;
528 __IM uint32_t ID_AFR;
529 __IM uint32_t ID_MMFR[4U];
530 __IM uint32_t ID_ISAR[5U];
531 uint32_t RESERVED0[1U];
534 __IM uint32_t CCSIDR;
535 __IOM uint32_t CSSELR;
536 __IOM uint32_t CPACR;
537 __IOM uint32_t NSACR;
568#define SCB_CPUID_IMPLEMENTER_Pos 24U
569#define SCB_CPUID_IMPLEMENTER_Msk (0xFFUL << SCB_CPUID_IMPLEMENTER_Pos)
571#define SCB_CPUID_VARIANT_Pos 20U
572#define SCB_CPUID_VARIANT_Msk (0xFUL << SCB_CPUID_VARIANT_Pos)
574#define SCB_CPUID_ARCHITECTURE_Pos 16U
575#define SCB_CPUID_ARCHITECTURE_Msk (0xFUL << SCB_CPUID_ARCHITECTURE_Pos)
577#define SCB_CPUID_PARTNO_Pos 4U
578#define SCB_CPUID_PARTNO_Msk (0xFFFUL << SCB_CPUID_PARTNO_Pos)
580#define SCB_CPUID_REVISION_Pos 0U
581#define SCB_CPUID_REVISION_Msk (0xFUL )
584#define SCB_ICSR_PENDNMISET_Pos 31U
585#define SCB_ICSR_PENDNMISET_Msk (1UL << SCB_ICSR_PENDNMISET_Pos)
587#define SCB_ICSR_NMIPENDSET_Pos SCB_ICSR_PENDNMISET_Pos
588#define SCB_ICSR_NMIPENDSET_Msk SCB_ICSR_PENDNMISET_Msk
590#define SCB_ICSR_PENDNMICLR_Pos 30U
591#define SCB_ICSR_PENDNMICLR_Msk (1UL << SCB_ICSR_PENDNMICLR_Pos)
593#define SCB_ICSR_PENDSVSET_Pos 28U
594#define SCB_ICSR_PENDSVSET_Msk (1UL << SCB_ICSR_PENDSVSET_Pos)
596#define SCB_ICSR_PENDSVCLR_Pos 27U
597#define SCB_ICSR_PENDSVCLR_Msk (1UL << SCB_ICSR_PENDSVCLR_Pos)
599#define SCB_ICSR_PENDSTSET_Pos 26U
600#define SCB_ICSR_PENDSTSET_Msk (1UL << SCB_ICSR_PENDSTSET_Pos)
602#define SCB_ICSR_PENDSTCLR_Pos 25U
603#define SCB_ICSR_PENDSTCLR_Msk (1UL << SCB_ICSR_PENDSTCLR_Pos)
605#define SCB_ICSR_STTNS_Pos 24U
606#define SCB_ICSR_STTNS_Msk (1UL << SCB_ICSR_STTNS_Pos)
608#define SCB_ICSR_ISRPREEMPT_Pos 23U
609#define SCB_ICSR_ISRPREEMPT_Msk (1UL << SCB_ICSR_ISRPREEMPT_Pos)
611#define SCB_ICSR_ISRPENDING_Pos 22U
612#define SCB_ICSR_ISRPENDING_Msk (1UL << SCB_ICSR_ISRPENDING_Pos)
614#define SCB_ICSR_VECTPENDING_Pos 12U
615#define SCB_ICSR_VECTPENDING_Msk (0x1FFUL << SCB_ICSR_VECTPENDING_Pos)
617#define SCB_ICSR_RETTOBASE_Pos 11U
618#define SCB_ICSR_RETTOBASE_Msk (1UL << SCB_ICSR_RETTOBASE_Pos)
620#define SCB_ICSR_VECTACTIVE_Pos 0U
621#define SCB_ICSR_VECTACTIVE_Msk (0x1FFUL )
624#define SCB_VTOR_TBLOFF_Pos 7U
625#define SCB_VTOR_TBLOFF_Msk (0x1FFFFFFUL << SCB_VTOR_TBLOFF_Pos)
628#define SCB_AIRCR_VECTKEY_Pos 16U
629#define SCB_AIRCR_VECTKEY_Msk (0xFFFFUL << SCB_AIRCR_VECTKEY_Pos)
631#define SCB_AIRCR_VECTKEYSTAT_Pos 16U
632#define SCB_AIRCR_VECTKEYSTAT_Msk (0xFFFFUL << SCB_AIRCR_VECTKEYSTAT_Pos)
634#define SCB_AIRCR_ENDIANESS_Pos 15U
635#define SCB_AIRCR_ENDIANESS_Msk (1UL << SCB_AIRCR_ENDIANESS_Pos)
637#define SCB_AIRCR_PRIS_Pos 14U
638#define SCB_AIRCR_PRIS_Msk (1UL << SCB_AIRCR_PRIS_Pos)
640#define SCB_AIRCR_BFHFNMINS_Pos 13U
641#define SCB_AIRCR_BFHFNMINS_Msk (1UL << SCB_AIRCR_BFHFNMINS_Pos)
643#define SCB_AIRCR_PRIGROUP_Pos 8U
644#define SCB_AIRCR_PRIGROUP_Msk (7UL << SCB_AIRCR_PRIGROUP_Pos)
646#define SCB_AIRCR_SYSRESETREQS_Pos 3U
647#define SCB_AIRCR_SYSRESETREQS_Msk (1UL << SCB_AIRCR_SYSRESETREQS_Pos)
649#define SCB_AIRCR_SYSRESETREQ_Pos 2U
650#define SCB_AIRCR_SYSRESETREQ_Msk (1UL << SCB_AIRCR_SYSRESETREQ_Pos)
652#define SCB_AIRCR_VECTCLRACTIVE_Pos 1U
653#define SCB_AIRCR_VECTCLRACTIVE_Msk (1UL << SCB_AIRCR_VECTCLRACTIVE_Pos)
656#define SCB_SCR_SEVONPEND_Pos 4U
657#define SCB_SCR_SEVONPEND_Msk (1UL << SCB_SCR_SEVONPEND_Pos)
659#define SCB_SCR_SLEEPDEEPS_Pos 3U
660#define SCB_SCR_SLEEPDEEPS_Msk (1UL << SCB_SCR_SLEEPDEEPS_Pos)
662#define SCB_SCR_SLEEPDEEP_Pos 2U
663#define SCB_SCR_SLEEPDEEP_Msk (1UL << SCB_SCR_SLEEPDEEP_Pos)
665#define SCB_SCR_SLEEPONEXIT_Pos 1U
666#define SCB_SCR_SLEEPONEXIT_Msk (1UL << SCB_SCR_SLEEPONEXIT_Pos)
669#define SCB_CCR_BP_Pos 18U
670#define SCB_CCR_BP_Msk (1UL << SCB_CCR_BP_Pos)
672#define SCB_CCR_IC_Pos 17U
673#define SCB_CCR_IC_Msk (1UL << SCB_CCR_IC_Pos)
675#define SCB_CCR_DC_Pos 16U
676#define SCB_CCR_DC_Msk (1UL << SCB_CCR_DC_Pos)
678#define SCB_CCR_STKOFHFNMIGN_Pos 10U
679#define SCB_CCR_STKOFHFNMIGN_Msk (1UL << SCB_CCR_STKOFHFNMIGN_Pos)
681#define SCB_CCR_BFHFNMIGN_Pos 8U
682#define SCB_CCR_BFHFNMIGN_Msk (1UL << SCB_CCR_BFHFNMIGN_Pos)
684#define SCB_CCR_DIV_0_TRP_Pos 4U
685#define SCB_CCR_DIV_0_TRP_Msk (1UL << SCB_CCR_DIV_0_TRP_Pos)
687#define SCB_CCR_UNALIGN_TRP_Pos 3U
688#define SCB_CCR_UNALIGN_TRP_Msk (1UL << SCB_CCR_UNALIGN_TRP_Pos)
690#define SCB_CCR_USERSETMPEND_Pos 1U
691#define SCB_CCR_USERSETMPEND_Msk (1UL << SCB_CCR_USERSETMPEND_Pos)
694#define SCB_SHCSR_HARDFAULTPENDED_Pos 21U
695#define SCB_SHCSR_HARDFAULTPENDED_Msk (1UL << SCB_SHCSR_HARDFAULTPENDED_Pos)
697#define SCB_SHCSR_SECUREFAULTPENDED_Pos 20U
698#define SCB_SHCSR_SECUREFAULTPENDED_Msk (1UL << SCB_SHCSR_SECUREFAULTPENDED_Pos)
700#define SCB_SHCSR_SECUREFAULTENA_Pos 19U
701#define SCB_SHCSR_SECUREFAULTENA_Msk (1UL << SCB_SHCSR_SECUREFAULTENA_Pos)
703#define SCB_SHCSR_USGFAULTENA_Pos 18U
704#define SCB_SHCSR_USGFAULTENA_Msk (1UL << SCB_SHCSR_USGFAULTENA_Pos)
706#define SCB_SHCSR_BUSFAULTENA_Pos 17U
707#define SCB_SHCSR_BUSFAULTENA_Msk (1UL << SCB_SHCSR_BUSFAULTENA_Pos)
709#define SCB_SHCSR_MEMFAULTENA_Pos 16U
710#define SCB_SHCSR_MEMFAULTENA_Msk (1UL << SCB_SHCSR_MEMFAULTENA_Pos)
712#define SCB_SHCSR_SVCALLPENDED_Pos 15U
713#define SCB_SHCSR_SVCALLPENDED_Msk (1UL << SCB_SHCSR_SVCALLPENDED_Pos)
715#define SCB_SHCSR_BUSFAULTPENDED_Pos 14U
716#define SCB_SHCSR_BUSFAULTPENDED_Msk (1UL << SCB_SHCSR_BUSFAULTPENDED_Pos)
718#define SCB_SHCSR_MEMFAULTPENDED_Pos 13U
719#define SCB_SHCSR_MEMFAULTPENDED_Msk (1UL << SCB_SHCSR_MEMFAULTPENDED_Pos)
721#define SCB_SHCSR_USGFAULTPENDED_Pos 12U
722#define SCB_SHCSR_USGFAULTPENDED_Msk (1UL << SCB_SHCSR_USGFAULTPENDED_Pos)
724#define SCB_SHCSR_SYSTICKACT_Pos 11U
725#define SCB_SHCSR_SYSTICKACT_Msk (1UL << SCB_SHCSR_SYSTICKACT_Pos)
727#define SCB_SHCSR_PENDSVACT_Pos 10U
728#define SCB_SHCSR_PENDSVACT_Msk (1UL << SCB_SHCSR_PENDSVACT_Pos)
730#define SCB_SHCSR_MONITORACT_Pos 8U
731#define SCB_SHCSR_MONITORACT_Msk (1UL << SCB_SHCSR_MONITORACT_Pos)
733#define SCB_SHCSR_SVCALLACT_Pos 7U
734#define SCB_SHCSR_SVCALLACT_Msk (1UL << SCB_SHCSR_SVCALLACT_Pos)
736#define SCB_SHCSR_NMIACT_Pos 5U
737#define SCB_SHCSR_NMIACT_Msk (1UL << SCB_SHCSR_NMIACT_Pos)
739#define SCB_SHCSR_SECUREFAULTACT_Pos 4U
740#define SCB_SHCSR_SECUREFAULTACT_Msk (1UL << SCB_SHCSR_SECUREFAULTACT_Pos)
742#define SCB_SHCSR_USGFAULTACT_Pos 3U
743#define SCB_SHCSR_USGFAULTACT_Msk (1UL << SCB_SHCSR_USGFAULTACT_Pos)
745#define SCB_SHCSR_HARDFAULTACT_Pos 2U
746#define SCB_SHCSR_HARDFAULTACT_Msk (1UL << SCB_SHCSR_HARDFAULTACT_Pos)
748#define SCB_SHCSR_BUSFAULTACT_Pos 1U
749#define SCB_SHCSR_BUSFAULTACT_Msk (1UL << SCB_SHCSR_BUSFAULTACT_Pos)
751#define SCB_SHCSR_MEMFAULTACT_Pos 0U
752#define SCB_SHCSR_MEMFAULTACT_Msk (1UL )
755#define SCB_CFSR_USGFAULTSR_Pos 16U
756#define SCB_CFSR_USGFAULTSR_Msk (0xFFFFUL << SCB_CFSR_USGFAULTSR_Pos)
758#define SCB_CFSR_BUSFAULTSR_Pos 8U
759#define SCB_CFSR_BUSFAULTSR_Msk (0xFFUL << SCB_CFSR_BUSFAULTSR_Pos)
761#define SCB_CFSR_MEMFAULTSR_Pos 0U
762#define SCB_CFSR_MEMFAULTSR_Msk (0xFFUL )
765#define SCB_CFSR_MMARVALID_Pos (SCB_CFSR_MEMFAULTSR_Pos + 7U)
766#define SCB_CFSR_MMARVALID_Msk (1UL << SCB_CFSR_MMARVALID_Pos)
768#define SCB_CFSR_MLSPERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 5U)
769#define SCB_CFSR_MLSPERR_Msk (1UL << SCB_CFSR_MLSPERR_Pos)
771#define SCB_CFSR_MSTKERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 4U)
772#define SCB_CFSR_MSTKERR_Msk (1UL << SCB_CFSR_MSTKERR_Pos)
774#define SCB_CFSR_MUNSTKERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 3U)
775#define SCB_CFSR_MUNSTKERR_Msk (1UL << SCB_CFSR_MUNSTKERR_Pos)
777#define SCB_CFSR_DACCVIOL_Pos (SCB_CFSR_MEMFAULTSR_Pos + 1U)
778#define SCB_CFSR_DACCVIOL_Msk (1UL << SCB_CFSR_DACCVIOL_Pos)
780#define SCB_CFSR_IACCVIOL_Pos (SCB_CFSR_MEMFAULTSR_Pos + 0U)
781#define SCB_CFSR_IACCVIOL_Msk (1UL )
784#define SCB_CFSR_BFARVALID_Pos (SCB_CFSR_BUSFAULTSR_Pos + 7U)
785#define SCB_CFSR_BFARVALID_Msk (1UL << SCB_CFSR_BFARVALID_Pos)
787#define SCB_CFSR_LSPERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 5U)
788#define SCB_CFSR_LSPERR_Msk (1UL << SCB_CFSR_LSPERR_Pos)
790#define SCB_CFSR_STKERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 4U)
791#define SCB_CFSR_STKERR_Msk (1UL << SCB_CFSR_STKERR_Pos)
793#define SCB_CFSR_UNSTKERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 3U)
794#define SCB_CFSR_UNSTKERR_Msk (1UL << SCB_CFSR_UNSTKERR_Pos)
796#define SCB_CFSR_IMPRECISERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 2U)
797#define SCB_CFSR_IMPRECISERR_Msk (1UL << SCB_CFSR_IMPRECISERR_Pos)
799#define SCB_CFSR_PRECISERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 1U)
800#define SCB_CFSR_PRECISERR_Msk (1UL << SCB_CFSR_PRECISERR_Pos)
802#define SCB_CFSR_IBUSERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 0U)
803#define SCB_CFSR_IBUSERR_Msk (1UL << SCB_CFSR_IBUSERR_Pos)
806#define SCB_CFSR_DIVBYZERO_Pos (SCB_CFSR_USGFAULTSR_Pos + 9U)
807#define SCB_CFSR_DIVBYZERO_Msk (1UL << SCB_CFSR_DIVBYZERO_Pos)
809#define SCB_CFSR_UNALIGNED_Pos (SCB_CFSR_USGFAULTSR_Pos + 8U)
810#define SCB_CFSR_UNALIGNED_Msk (1UL << SCB_CFSR_UNALIGNED_Pos)
812#define SCB_CFSR_STKOF_Pos (SCB_CFSR_USGFAULTSR_Pos + 4U)
813#define SCB_CFSR_STKOF_Msk (1UL << SCB_CFSR_STKOF_Pos)
815#define SCB_CFSR_NOCP_Pos (SCB_CFSR_USGFAULTSR_Pos + 3U)
816#define SCB_CFSR_NOCP_Msk (1UL << SCB_CFSR_NOCP_Pos)
818#define SCB_CFSR_INVPC_Pos (SCB_CFSR_USGFAULTSR_Pos + 2U)
819#define SCB_CFSR_INVPC_Msk (1UL << SCB_CFSR_INVPC_Pos)
821#define SCB_CFSR_INVSTATE_Pos (SCB_CFSR_USGFAULTSR_Pos + 1U)
822#define SCB_CFSR_INVSTATE_Msk (1UL << SCB_CFSR_INVSTATE_Pos)
824#define SCB_CFSR_UNDEFINSTR_Pos (SCB_CFSR_USGFAULTSR_Pos + 0U)
825#define SCB_CFSR_UNDEFINSTR_Msk (1UL << SCB_CFSR_UNDEFINSTR_Pos)
828#define SCB_HFSR_DEBUGEVT_Pos 31U
829#define SCB_HFSR_DEBUGEVT_Msk (1UL << SCB_HFSR_DEBUGEVT_Pos)
831#define SCB_HFSR_FORCED_Pos 30U
832#define SCB_HFSR_FORCED_Msk (1UL << SCB_HFSR_FORCED_Pos)
834#define SCB_HFSR_VECTTBL_Pos 1U
835#define SCB_HFSR_VECTTBL_Msk (1UL << SCB_HFSR_VECTTBL_Pos)
838#define SCB_DFSR_EXTERNAL_Pos 4U
839#define SCB_DFSR_EXTERNAL_Msk (1UL << SCB_DFSR_EXTERNAL_Pos)
841#define SCB_DFSR_VCATCH_Pos 3U
842#define SCB_DFSR_VCATCH_Msk (1UL << SCB_DFSR_VCATCH_Pos)
844#define SCB_DFSR_DWTTRAP_Pos 2U
845#define SCB_DFSR_DWTTRAP_Msk (1UL << SCB_DFSR_DWTTRAP_Pos)
847#define SCB_DFSR_BKPT_Pos 1U
848#define SCB_DFSR_BKPT_Msk (1UL << SCB_DFSR_BKPT_Pos)
850#define SCB_DFSR_HALTED_Pos 0U
851#define SCB_DFSR_HALTED_Msk (1UL )
854#define SCB_NSACR_CP11_Pos 11U
855#define SCB_NSACR_CP11_Msk (1UL << SCB_NSACR_CP11_Pos)
857#define SCB_NSACR_CP10_Pos 10U
858#define SCB_NSACR_CP10_Msk (1UL << SCB_NSACR_CP10_Pos)
860#define SCB_NSACR_CPn_Pos 0U
861#define SCB_NSACR_CPn_Msk (1UL )
864#define SCB_CLIDR_LOUU_Pos 27U
865#define SCB_CLIDR_LOUU_Msk (7UL << SCB_CLIDR_LOUU_Pos)
867#define SCB_CLIDR_LOC_Pos 24U
868#define SCB_CLIDR_LOC_Msk (7UL << SCB_CLIDR_LOC_Pos)
870#define SCB_CLIDR_IC_Pos 0U
871#define SCB_CLIDR_IC_Msk (1UL << SCB_CLIDR_IC_Pos)
873#define SCB_CLIDR_DC_Pos 1U
874#define SCB_CLIDR_DC_Msk (1UL << SCB_CLIDR_DC_Pos)
879#define SCB_CTR_FORMAT_Pos 29U
880#define SCB_CTR_FORMAT_Msk (7UL << SCB_CTR_FORMAT_Pos)
882#define SCB_CTR_CWG_Pos 24U
883#define SCB_CTR_CWG_Msk (0xFUL << SCB_CTR_CWG_Pos)
885#define SCB_CTR_ERG_Pos 20U
886#define SCB_CTR_ERG_Msk (0xFUL << SCB_CTR_ERG_Pos)
888#define SCB_CTR_DMINLINE_Pos 16U
889#define SCB_CTR_DMINLINE_Msk (0xFUL << SCB_CTR_DMINLINE_Pos)
891#define SCB_CTR_IMINLINE_Pos 0U
892#define SCB_CTR_IMINLINE_Msk (0xFUL )
895#define SCB_CCSIDR_WT_Pos 31U
896#define SCB_CCSIDR_WT_Msk (1UL << SCB_CCSIDR_WT_Pos)
898#define SCB_CCSIDR_WB_Pos 30U
899#define SCB_CCSIDR_WB_Msk (1UL << SCB_CCSIDR_WB_Pos)
901#define SCB_CCSIDR_RA_Pos 29U
902#define SCB_CCSIDR_RA_Msk (1UL << SCB_CCSIDR_RA_Pos)
904#define SCB_CCSIDR_WA_Pos 28U
905#define SCB_CCSIDR_WA_Msk (1UL << SCB_CCSIDR_WA_Pos)
907#define SCB_CCSIDR_NUMSETS_Pos 13U
908#define SCB_CCSIDR_NUMSETS_Msk (0x7FFFUL << SCB_CCSIDR_NUMSETS_Pos)
910#define SCB_CCSIDR_ASSOCIATIVITY_Pos 3U
911#define SCB_CCSIDR_ASSOCIATIVITY_Msk (0x3FFUL << SCB_CCSIDR_ASSOCIATIVITY_Pos)
913#define SCB_CCSIDR_LINESIZE_Pos 0U
914#define SCB_CCSIDR_LINESIZE_Msk (7UL )
917#define SCB_CSSELR_LEVEL_Pos 1U
918#define SCB_CSSELR_LEVEL_Msk (7UL << SCB_CSSELR_LEVEL_Pos)
920#define SCB_CSSELR_IND_Pos 0U
921#define SCB_CSSELR_IND_Msk (1UL )
924#define SCB_STIR_INTID_Pos 0U
925#define SCB_STIR_INTID_Msk (0x1FFUL )
928#define SCB_DCISW_LEVEL_Pos 1U
929#define SCB_DCISW_LEVEL_Msk (7UL << SCB_DCISW_LEVEL_Pos)
931#define SCB_DCISW_WAY_Pos 30U
932#define SCB_DCISW_WAY_Msk (3UL << SCB_DCISW_WAY_Pos)
934#define SCB_DCISW_SET_Pos 5U
935#define SCB_DCISW_SET_Msk (0xFFUL << SCB_DCISW_SET_Pos)
938#define SCB_DCCSW_LEVEL_Pos 1U
939#define SCB_DCCSW_LEVEL_Msk (7UL << SCB_DCCSW_LEVEL_Pos)
941#define SCB_DCCSW_WAY_Pos 30U
942#define SCB_DCCSW_WAY_Msk (3UL << SCB_DCCSW_WAY_Pos)
944#define SCB_DCCSW_SET_Pos 5U
945#define SCB_DCCSW_SET_Msk (0xFFUL << SCB_DCCSW_SET_Pos)
948#define SCB_DCCISW_LEVEL_Pos 1U
949#define SCB_DCCISW_LEVEL_Msk (7UL << SCB_DCCISW_LEVEL_Pos)
951#define SCB_DCCISW_WAY_Pos 30U
952#define SCB_DCCISW_WAY_Msk (3UL << SCB_DCCISW_WAY_Pos)
954#define SCB_DCCISW_SET_Pos 5U
955#define SCB_DCCISW_SET_Msk (0xFFUL << SCB_DCCISW_SET_Pos)
959#define SCB_ITCMCR_SZ_Pos 3U
960#define SCB_ITCMCR_SZ_Msk (0xFUL << SCB_ITCMCR_SZ_Pos)
962#define SCB_ITCMCR_EN_Pos 0U
963#define SCB_ITCMCR_EN_Msk (1UL )
966#define SCB_DTCMCR_SZ_Pos 3U
967#define SCB_DTCMCR_SZ_Msk (0xFUL << SCB_DTCMCR_SZ_Pos)
969#define SCB_DTCMCR_EN_Pos 0U
970#define SCB_DTCMCR_EN_Msk (1UL )
973#define SCB_CACR_DCCLEAN_Pos 16U
974#define SCB_CACR_DCCLEAN_Msk (1UL << SCB_CACR_FORCEWT_Pos)
976#define SCB_CACR_ICACTIVE_Pos 13U
977#define SCB_CACR_ICACTIVE_Msk (1UL << SCB_CACR_FORCEWT_Pos)
979#define SCB_CACR_DCACTIVE_Pos 12U
980#define SCB_CACR_DCACTIVE_Msk (1UL << SCB_CACR_FORCEWT_Pos)
982#define SCB_CACR_FORCEWT_Pos 2U
983#define SCB_CACR_FORCEWT_Msk (1UL << SCB_CACR_FORCEWT_Pos)
1000 uint32_t RESERVED0[1U];
1002 __IOM uint32_t ACTLR;
1003 __IOM uint32_t CPPWR;
1007#define SCnSCB_ICTR_INTLINESNUM_Pos 0U
1008#define SCnSCB_ICTR_INTLINESNUM_Msk (0xFUL )
1025 __IOM uint32_t CTRL;
1026 __IOM uint32_t LOAD;
1028 __IM uint32_t CALIB;
1032#define SysTick_CTRL_COUNTFLAG_Pos 16U
1033#define SysTick_CTRL_COUNTFLAG_Msk (1UL << SysTick_CTRL_COUNTFLAG_Pos)
1035#define SysTick_CTRL_CLKSOURCE_Pos 2U
1036#define SysTick_CTRL_CLKSOURCE_Msk (1UL << SysTick_CTRL_CLKSOURCE_Pos)
1038#define SysTick_CTRL_TICKINT_Pos 1U
1039#define SysTick_CTRL_TICKINT_Msk (1UL << SysTick_CTRL_TICKINT_Pos)
1041#define SysTick_CTRL_ENABLE_Pos 0U
1042#define SysTick_CTRL_ENABLE_Msk (1UL )
1045#define SysTick_LOAD_RELOAD_Pos 0U
1046#define SysTick_LOAD_RELOAD_Msk (0xFFFFFFUL )
1049#define SysTick_VAL_CURRENT_Pos 0U
1050#define SysTick_VAL_CURRENT_Msk (0xFFFFFFUL )
1053#define SysTick_CALIB_NOREF_Pos 31U
1054#define SysTick_CALIB_NOREF_Msk (1UL << SysTick_CALIB_NOREF_Pos)
1056#define SysTick_CALIB_SKEW_Pos 30U
1057#define SysTick_CALIB_SKEW_Msk (1UL << SysTick_CALIB_SKEW_Pos)
1059#define SysTick_CALIB_TENMS_Pos 0U
1060#define SysTick_CALIB_TENMS_Msk (0xFFFFFFUL )
1083 uint32_t RESERVED0[864U];
1085 uint32_t RESERVED1[15U];
1087 uint32_t RESERVED2[15U];
1089 uint32_t RESERVED3[32U];
1090 uint32_t RESERVED4[43U];
1093 uint32_t RESERVED5[1U];
1094 __IM uint32_t DEVARCH;
1095 uint32_t RESERVED6[4U];
1111#define ITM_STIM_DISABLED_Pos 1U
1112#define ITM_STIM_DISABLED_Msk (0x1UL << ITM_STIM_DISABLED_Pos)
1114#define ITM_STIM_FIFOREADY_Pos 0U
1115#define ITM_STIM_FIFOREADY_Msk (0x1UL )
1118#define ITM_TPR_PRIVMASK_Pos 0U
1119#define ITM_TPR_PRIVMASK_Msk (0xFFFFFFFFUL )
1122#define ITM_TCR_BUSY_Pos 23U
1123#define ITM_TCR_BUSY_Msk (1UL << ITM_TCR_BUSY_Pos)
1125#define ITM_TCR_TRACEBUSID_Pos 16U
1126#define ITM_TCR_TRACEBUSID_Msk (0x7FUL << ITM_TCR_TRACEBUSID_Pos)
1128#define ITM_TCR_GTSFREQ_Pos 10U
1129#define ITM_TCR_GTSFREQ_Msk (3UL << ITM_TCR_GTSFREQ_Pos)
1131#define ITM_TCR_TSPRESCALE_Pos 8U
1132#define ITM_TCR_TSPRESCALE_Msk (3UL << ITM_TCR_TSPRESCALE_Pos)
1134#define ITM_TCR_STALLENA_Pos 5U
1135#define ITM_TCR_STALLENA_Msk (1UL << ITM_TCR_STALLENA_Pos)
1137#define ITM_TCR_SWOENA_Pos 4U
1138#define ITM_TCR_SWOENA_Msk (1UL << ITM_TCR_SWOENA_Pos)
1140#define ITM_TCR_DWTENA_Pos 3U
1141#define ITM_TCR_DWTENA_Msk (1UL << ITM_TCR_DWTENA_Pos)
1143#define ITM_TCR_SYNCENA_Pos 2U
1144#define ITM_TCR_SYNCENA_Msk (1UL << ITM_TCR_SYNCENA_Pos)
1146#define ITM_TCR_TSENA_Pos 1U
1147#define ITM_TCR_TSENA_Msk (1UL << ITM_TCR_TSENA_Pos)
1149#define ITM_TCR_ITMENA_Pos 0U
1150#define ITM_TCR_ITMENA_Msk (1UL )
1153#define ITM_LSR_ByteAcc_Pos 2U
1154#define ITM_LSR_ByteAcc_Msk (1UL << ITM_LSR_ByteAcc_Pos)
1156#define ITM_LSR_Access_Pos 1U
1157#define ITM_LSR_Access_Msk (1UL << ITM_LSR_Access_Pos)
1159#define ITM_LSR_Present_Pos 0U
1160#define ITM_LSR_Present_Msk (1UL )
1177 __IOM uint32_t CTRL;
1178 __IOM uint32_t CYCCNT;
1179 __IOM uint32_t CPICNT;
1180 __IOM uint32_t EXCCNT;
1181 __IOM uint32_t SLEEPCNT;
1182 __IOM uint32_t LSUCNT;
1183 __IOM uint32_t FOLDCNT;
1185 __IOM uint32_t COMP0;
1186 uint32_t RESERVED1[1U];
1187 __IOM uint32_t FUNCTION0;
1188 uint32_t RESERVED2[1U];
1190 uint32_t RESERVED3[1U];
1191 __IOM uint32_t FUNCTION1;
1192 uint32_t RESERVED4[1U];
1194 uint32_t RESERVED5[1U];
1195 __IOM uint32_t FUNCTION2;
1196 uint32_t RESERVED6[1U];
1197 __IOM uint32_t COMP3;
1198 uint32_t RESERVED7[1U];
1199 __IOM uint32_t FUNCTION3;
1200 uint32_t RESERVED8[1U];
1201 __IOM uint32_t COMP4;
1202 uint32_t RESERVED9[1U];
1203 __IOM uint32_t FUNCTION4;
1204 uint32_t RESERVED10[1U];
1205 __IOM uint32_t COMP5;
1206 uint32_t RESERVED11[1U];
1207 __IOM uint32_t FUNCTION5;
1208 uint32_t RESERVED12[1U];
1209 __IOM uint32_t COMP6;
1210 uint32_t RESERVED13[1U];
1211 __IOM uint32_t FUNCTION6;
1212 uint32_t RESERVED14[1U];
1213 __IOM uint32_t COMP7;
1214 uint32_t RESERVED15[1U];
1215 __IOM uint32_t FUNCTION7;
1216 uint32_t RESERVED16[1U];
1217 __IOM uint32_t COMP8;
1218 uint32_t RESERVED17[1U];
1219 __IOM uint32_t FUNCTION8;
1220 uint32_t RESERVED18[1U];
1221 __IOM uint32_t COMP9;
1222 uint32_t RESERVED19[1U];
1223 __IOM uint32_t FUNCTION9;
1224 uint32_t RESERVED20[1U];
1225 __IOM uint32_t COMP10;
1226 uint32_t RESERVED21[1U];
1227 __IOM uint32_t FUNCTION10;
1228 uint32_t RESERVED22[1U];
1229 __IOM uint32_t COMP11;
1230 uint32_t RESERVED23[1U];
1231 __IOM uint32_t FUNCTION11;
1232 uint32_t RESERVED24[1U];
1234 uint32_t RESERVED25[1U];
1235 __IOM uint32_t FUNCTION12;
1236 uint32_t RESERVED26[1U];
1237 __IOM uint32_t COMP13;
1238 uint32_t RESERVED27[1U];
1239 __IOM uint32_t FUNCTION13;
1240 uint32_t RESERVED28[1U];
1241 __IOM uint32_t COMP14;
1242 uint32_t RESERVED29[1U];
1243 __IOM uint32_t FUNCTION14;
1244 uint32_t RESERVED30[1U];
1245 __IOM uint32_t COMP15;
1246 uint32_t RESERVED31[1U];
1247 __IOM uint32_t FUNCTION15;
1248 uint32_t RESERVED32[934U];
1250 uint32_t RESERVED33[1U];
1251 __IM uint32_t DEVARCH;
1255#define DWT_CTRL_NUMCOMP_Pos 28U
1256#define DWT_CTRL_NUMCOMP_Msk (0xFUL << DWT_CTRL_NUMCOMP_Pos)
1258#define DWT_CTRL_NOTRCPKT_Pos 27U
1259#define DWT_CTRL_NOTRCPKT_Msk (0x1UL << DWT_CTRL_NOTRCPKT_Pos)
1261#define DWT_CTRL_NOEXTTRIG_Pos 26U
1262#define DWT_CTRL_NOEXTTRIG_Msk (0x1UL << DWT_CTRL_NOEXTTRIG_Pos)
1264#define DWT_CTRL_NOCYCCNT_Pos 25U
1265#define DWT_CTRL_NOCYCCNT_Msk (0x1UL << DWT_CTRL_NOCYCCNT_Pos)
1267#define DWT_CTRL_NOPRFCNT_Pos 24U
1268#define DWT_CTRL_NOPRFCNT_Msk (0x1UL << DWT_CTRL_NOPRFCNT_Pos)
1270#define DWT_CTRL_CYCDISS_Pos 23U
1271#define DWT_CTRL_CYCDISS_Msk (0x1UL << DWT_CTRL_CYCDISS_Pos)
1273#define DWT_CTRL_CYCEVTENA_Pos 22U
1274#define DWT_CTRL_CYCEVTENA_Msk (0x1UL << DWT_CTRL_CYCEVTENA_Pos)
1276#define DWT_CTRL_FOLDEVTENA_Pos 21U
1277#define DWT_CTRL_FOLDEVTENA_Msk (0x1UL << DWT_CTRL_FOLDEVTENA_Pos)
1279#define DWT_CTRL_LSUEVTENA_Pos 20U
1280#define DWT_CTRL_LSUEVTENA_Msk (0x1UL << DWT_CTRL_LSUEVTENA_Pos)
1282#define DWT_CTRL_SLEEPEVTENA_Pos 19U
1283#define DWT_CTRL_SLEEPEVTENA_Msk (0x1UL << DWT_CTRL_SLEEPEVTENA_Pos)
1285#define DWT_CTRL_EXCEVTENA_Pos 18U
1286#define DWT_CTRL_EXCEVTENA_Msk (0x1UL << DWT_CTRL_EXCEVTENA_Pos)
1288#define DWT_CTRL_CPIEVTENA_Pos 17U
1289#define DWT_CTRL_CPIEVTENA_Msk (0x1UL << DWT_CTRL_CPIEVTENA_Pos)
1291#define DWT_CTRL_EXCTRCENA_Pos 16U
1292#define DWT_CTRL_EXCTRCENA_Msk (0x1UL << DWT_CTRL_EXCTRCENA_Pos)
1294#define DWT_CTRL_PCSAMPLENA_Pos 12U
1295#define DWT_CTRL_PCSAMPLENA_Msk (0x1UL << DWT_CTRL_PCSAMPLENA_Pos)
1297#define DWT_CTRL_SYNCTAP_Pos 10U
1298#define DWT_CTRL_SYNCTAP_Msk (0x3UL << DWT_CTRL_SYNCTAP_Pos)
1300#define DWT_CTRL_CYCTAP_Pos 9U
1301#define DWT_CTRL_CYCTAP_Msk (0x1UL << DWT_CTRL_CYCTAP_Pos)
1303#define DWT_CTRL_POSTINIT_Pos 5U
1304#define DWT_CTRL_POSTINIT_Msk (0xFUL << DWT_CTRL_POSTINIT_Pos)
1306#define DWT_CTRL_POSTPRESET_Pos 1U
1307#define DWT_CTRL_POSTPRESET_Msk (0xFUL << DWT_CTRL_POSTPRESET_Pos)
1309#define DWT_CTRL_CYCCNTENA_Pos 0U
1310#define DWT_CTRL_CYCCNTENA_Msk (0x1UL )
1313#define DWT_CPICNT_CPICNT_Pos 0U
1314#define DWT_CPICNT_CPICNT_Msk (0xFFUL )
1317#define DWT_EXCCNT_EXCCNT_Pos 0U
1318#define DWT_EXCCNT_EXCCNT_Msk (0xFFUL )
1321#define DWT_SLEEPCNT_SLEEPCNT_Pos 0U
1322#define DWT_SLEEPCNT_SLEEPCNT_Msk (0xFFUL )
1325#define DWT_LSUCNT_LSUCNT_Pos 0U
1326#define DWT_LSUCNT_LSUCNT_Msk (0xFFUL )
1329#define DWT_FOLDCNT_FOLDCNT_Pos 0U
1330#define DWT_FOLDCNT_FOLDCNT_Msk (0xFFUL )
1333#define DWT_FUNCTION_ID_Pos 27U
1334#define DWT_FUNCTION_ID_Msk (0x1FUL << DWT_FUNCTION_ID_Pos)
1336#define DWT_FUNCTION_MATCHED_Pos 24U
1337#define DWT_FUNCTION_MATCHED_Msk (0x1UL << DWT_FUNCTION_MATCHED_Pos)
1339#define DWT_FUNCTION_DATAVSIZE_Pos 10U
1340#define DWT_FUNCTION_DATAVSIZE_Msk (0x3UL << DWT_FUNCTION_DATAVSIZE_Pos)
1342#define DWT_FUNCTION_ACTION_Pos 4U
1343#define DWT_FUNCTION_ACTION_Msk (0x1UL << DWT_FUNCTION_ACTION_Pos)
1345#define DWT_FUNCTION_MATCH_Pos 0U
1346#define DWT_FUNCTION_MATCH_Msk (0xFUL )
1363 __IM uint32_t SSPSR;
1364 __IOM uint32_t CSPSR;
1365 uint32_t RESERVED0[2U];
1366 __IOM uint32_t ACPR;
1367 uint32_t RESERVED1[55U];
1368 __IOM uint32_t SPPR;
1369 uint32_t RESERVED2[131U];
1371 __IOM uint32_t FFCR;
1372 __IOM uint32_t PSCR;
1373 uint32_t RESERVED3[759U];
1374 __IM uint32_t TRIGGER;
1375 __IM uint32_t ITFTTD0;
1376 __IOM uint32_t ITATBCTR2;
1377 uint32_t RESERVED4[1U];
1378 __IM uint32_t ITATBCTR0;
1379 __IM uint32_t ITFTTD1;
1380 __IOM uint32_t ITCTRL;
1381 uint32_t RESERVED5[39U];
1382 __IOM uint32_t CLAIMSET;
1383 __IOM uint32_t CLAIMCLR;
1384 uint32_t RESERVED7[8U];
1385 __IM uint32_t DEVID;
1386 __IM uint32_t DEVTYPE;
1390#define TPI_ACPR_PRESCALER_Pos 0U
1391#define TPI_ACPR_PRESCALER_Msk (0x1FFFUL )
1394#define TPI_SPPR_TXMODE_Pos 0U
1395#define TPI_SPPR_TXMODE_Msk (0x3UL )
1398#define TPI_FFSR_FtNonStop_Pos 3U
1399#define TPI_FFSR_FtNonStop_Msk (0x1UL << TPI_FFSR_FtNonStop_Pos)
1401#define TPI_FFSR_TCPresent_Pos 2U
1402#define TPI_FFSR_TCPresent_Msk (0x1UL << TPI_FFSR_TCPresent_Pos)
1404#define TPI_FFSR_FtStopped_Pos 1U
1405#define TPI_FFSR_FtStopped_Msk (0x1UL << TPI_FFSR_FtStopped_Pos)
1407#define TPI_FFSR_FlInProg_Pos 0U
1408#define TPI_FFSR_FlInProg_Msk (0x1UL )
1411#define TPI_FFCR_TrigIn_Pos 8U
1412#define TPI_FFCR_TrigIn_Msk (0x1UL << TPI_FFCR_TrigIn_Pos)
1414#define TPI_FFCR_FOnMan_Pos 6U
1415#define TPI_FFCR_FOnMan_Msk (0x1UL << TPI_FFCR_FOnMan_Pos)
1417#define TPI_FFCR_EnFCont_Pos 1U
1418#define TPI_FFCR_EnFCont_Msk (0x1UL << TPI_FFCR_EnFCont_Pos)
1421#define TPI_TRIGGER_TRIGGER_Pos 0U
1422#define TPI_TRIGGER_TRIGGER_Msk (0x1UL )
1425#define TPI_ITFTTD0_ATB_IF2_ATVALID_Pos 29U
1426#define TPI_ITFTTD0_ATB_IF2_ATVALID_Msk (0x3UL << TPI_ITFTTD0_ATB_IF2_ATVALID_Pos)
1428#define TPI_ITFTTD0_ATB_IF2_bytecount_Pos 27U
1429#define TPI_ITFTTD0_ATB_IF2_bytecount_Msk (0x3UL << TPI_ITFTTD0_ATB_IF2_bytecount_Pos)
1431#define TPI_ITFTTD0_ATB_IF1_ATVALID_Pos 26U
1432#define TPI_ITFTTD0_ATB_IF1_ATVALID_Msk (0x3UL << TPI_ITFTTD0_ATB_IF1_ATVALID_Pos)
1434#define TPI_ITFTTD0_ATB_IF1_bytecount_Pos 24U
1435#define TPI_ITFTTD0_ATB_IF1_bytecount_Msk (0x3UL << TPI_ITFTTD0_ATB_IF1_bytecount_Pos)
1437#define TPI_ITFTTD0_ATB_IF1_data2_Pos 16U
1438#define TPI_ITFTTD0_ATB_IF1_data2_Msk (0xFFUL << TPI_ITFTTD0_ATB_IF1_data1_Pos)
1440#define TPI_ITFTTD0_ATB_IF1_data1_Pos 8U
1441#define TPI_ITFTTD0_ATB_IF1_data1_Msk (0xFFUL << TPI_ITFTTD0_ATB_IF1_data1_Pos)
1443#define TPI_ITFTTD0_ATB_IF1_data0_Pos 0U
1444#define TPI_ITFTTD0_ATB_IF1_data0_Msk (0xFFUL )
1447#define TPI_ITATBCTR2_AFVALID2S_Pos 1U
1448#define TPI_ITATBCTR2_AFVALID2S_Msk (0x1UL << TPI_ITATBCTR2_AFVALID2S_Pos)
1450#define TPI_ITATBCTR2_AFVALID1S_Pos 1U
1451#define TPI_ITATBCTR2_AFVALID1S_Msk (0x1UL << TPI_ITATBCTR2_AFVALID1S_Pos)
1453#define TPI_ITATBCTR2_ATREADY2S_Pos 0U
1454#define TPI_ITATBCTR2_ATREADY2S_Msk (0x1UL )
1456#define TPI_ITATBCTR2_ATREADY1S_Pos 0U
1457#define TPI_ITATBCTR2_ATREADY1S_Msk (0x1UL )
1460#define TPI_ITFTTD1_ATB_IF2_ATVALID_Pos 29U
1461#define TPI_ITFTTD1_ATB_IF2_ATVALID_Msk (0x3UL << TPI_ITFTTD1_ATB_IF2_ATVALID_Pos)
1463#define TPI_ITFTTD1_ATB_IF2_bytecount_Pos 27U
1464#define TPI_ITFTTD1_ATB_IF2_bytecount_Msk (0x3UL << TPI_ITFTTD1_ATB_IF2_bytecount_Pos)
1466#define TPI_ITFTTD1_ATB_IF1_ATVALID_Pos 26U
1467#define TPI_ITFTTD1_ATB_IF1_ATVALID_Msk (0x3UL << TPI_ITFTTD1_ATB_IF1_ATVALID_Pos)
1469#define TPI_ITFTTD1_ATB_IF1_bytecount_Pos 24U
1470#define TPI_ITFTTD1_ATB_IF1_bytecount_Msk (0x3UL << TPI_ITFTTD1_ATB_IF1_bytecount_Pos)
1472#define TPI_ITFTTD1_ATB_IF2_data2_Pos 16U
1473#define TPI_ITFTTD1_ATB_IF2_data2_Msk (0xFFUL << TPI_ITFTTD1_ATB_IF2_data1_Pos)
1475#define TPI_ITFTTD1_ATB_IF2_data1_Pos 8U
1476#define TPI_ITFTTD1_ATB_IF2_data1_Msk (0xFFUL << TPI_ITFTTD1_ATB_IF2_data1_Pos)
1478#define TPI_ITFTTD1_ATB_IF2_data0_Pos 0U
1479#define TPI_ITFTTD1_ATB_IF2_data0_Msk (0xFFUL )
1482#define TPI_ITATBCTR0_AFVALID2S_Pos 1U
1483#define TPI_ITATBCTR0_AFVALID2S_Msk (0x1UL << TPI_ITATBCTR0_AFVALID2S_Pos)
1485#define TPI_ITATBCTR0_AFVALID1S_Pos 1U
1486#define TPI_ITATBCTR0_AFVALID1S_Msk (0x1UL << TPI_ITATBCTR0_AFVALID1S_Pos)
1488#define TPI_ITATBCTR0_ATREADY2S_Pos 0U
1489#define TPI_ITATBCTR0_ATREADY2S_Msk (0x1UL )
1491#define TPI_ITATBCTR0_ATREADY1S_Pos 0U
1492#define TPI_ITATBCTR0_ATREADY1S_Msk (0x1UL )
1495#define TPI_ITCTRL_Mode_Pos 0U
1496#define TPI_ITCTRL_Mode_Msk (0x3UL )
1499#define TPI_DEVID_NRZVALID_Pos 11U
1500#define TPI_DEVID_NRZVALID_Msk (0x1UL << TPI_DEVID_NRZVALID_Pos)
1502#define TPI_DEVID_MANCVALID_Pos 10U
1503#define TPI_DEVID_MANCVALID_Msk (0x1UL << TPI_DEVID_MANCVALID_Pos)
1505#define TPI_DEVID_PTINVALID_Pos 9U
1506#define TPI_DEVID_PTINVALID_Msk (0x1UL << TPI_DEVID_PTINVALID_Pos)
1508#define TPI_DEVID_FIFOSZ_Pos 6U
1509#define TPI_DEVID_FIFOSZ_Msk (0x7UL << TPI_DEVID_FIFOSZ_Pos)
1511#define TPI_DEVID_NrTraceInput_Pos 0U
1512#define TPI_DEVID_NrTraceInput_Msk (0x3FUL )
1515#define TPI_DEVTYPE_SubType_Pos 4U
1516#define TPI_DEVTYPE_SubType_Msk (0xFUL )
1518#define TPI_DEVTYPE_MajorType_Pos 0U
1519#define TPI_DEVTYPE_MajorType_Msk (0xFUL << TPI_DEVTYPE_MajorType_Pos)
1524#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U)
1538 __IOM uint32_t CTRL;
1540 __IOM uint32_t RBAR;
1541 __IOM uint32_t RLAR;
1542 __IOM uint32_t RBAR_A1;
1543 __IOM uint32_t RLAR_A1;
1544 __IOM uint32_t RBAR_A2;
1545 __IOM uint32_t RLAR_A2;
1546 __IOM uint32_t RBAR_A3;
1547 __IOM uint32_t RLAR_A3;
1548 uint32_t RESERVED0[1];
1558#define MPU_TYPE_RALIASES 4U
1561#define MPU_TYPE_IREGION_Pos 16U
1562#define MPU_TYPE_IREGION_Msk (0xFFUL << MPU_TYPE_IREGION_Pos)
1564#define MPU_TYPE_DREGION_Pos 8U
1565#define MPU_TYPE_DREGION_Msk (0xFFUL << MPU_TYPE_DREGION_Pos)
1567#define MPU_TYPE_SEPARATE_Pos 0U
1568#define MPU_TYPE_SEPARATE_Msk (1UL )
1571#define MPU_CTRL_PRIVDEFENA_Pos 2U
1572#define MPU_CTRL_PRIVDEFENA_Msk (1UL << MPU_CTRL_PRIVDEFENA_Pos)
1574#define MPU_CTRL_HFNMIENA_Pos 1U
1575#define MPU_CTRL_HFNMIENA_Msk (1UL << MPU_CTRL_HFNMIENA_Pos)
1577#define MPU_CTRL_ENABLE_Pos 0U
1578#define MPU_CTRL_ENABLE_Msk (1UL )
1581#define MPU_RNR_REGION_Pos 0U
1582#define MPU_RNR_REGION_Msk (0xFFUL )
1585#define MPU_RBAR_BASE_Pos 5U
1586#define MPU_RBAR_BASE_Msk (0x7FFFFFFUL << MPU_RBAR_BASE_Pos)
1588#define MPU_RBAR_SH_Pos 3U
1589#define MPU_RBAR_SH_Msk (0x3UL << MPU_RBAR_SH_Pos)
1591#define MPU_RBAR_AP_Pos 1U
1592#define MPU_RBAR_AP_Msk (0x3UL << MPU_RBAR_AP_Pos)
1594#define MPU_RBAR_XN_Pos 0U
1595#define MPU_RBAR_XN_Msk (01UL )
1598#define MPU_RLAR_LIMIT_Pos 5U
1599#define MPU_RLAR_LIMIT_Msk (0x7FFFFFFUL << MPU_RLAR_LIMIT_Pos)
1601#define MPU_RLAR_AttrIndx_Pos 1U
1602#define MPU_RLAR_AttrIndx_Msk (0x7UL << MPU_RLAR_AttrIndx_Pos)
1604#define MPU_RLAR_EN_Pos 0U
1605#define MPU_RLAR_EN_Msk (1UL )
1608#define MPU_MAIR0_Attr3_Pos 24U
1609#define MPU_MAIR0_Attr3_Msk (0xFFUL << MPU_MAIR0_Attr3_Pos)
1611#define MPU_MAIR0_Attr2_Pos 16U
1612#define MPU_MAIR0_Attr2_Msk (0xFFUL << MPU_MAIR0_Attr2_Pos)
1614#define MPU_MAIR0_Attr1_Pos 8U
1615#define MPU_MAIR0_Attr1_Msk (0xFFUL << MPU_MAIR0_Attr1_Pos)
1617#define MPU_MAIR0_Attr0_Pos 0U
1618#define MPU_MAIR0_Attr0_Msk (0xFFUL )
1621#define MPU_MAIR1_Attr7_Pos 24U
1622#define MPU_MAIR1_Attr7_Msk (0xFFUL << MPU_MAIR1_Attr7_Pos)
1624#define MPU_MAIR1_Attr6_Pos 16U
1625#define MPU_MAIR1_Attr6_Msk (0xFFUL << MPU_MAIR1_Attr6_Pos)
1627#define MPU_MAIR1_Attr5_Pos 8U
1628#define MPU_MAIR1_Attr5_Msk (0xFFUL << MPU_MAIR1_Attr5_Pos)
1630#define MPU_MAIR1_Attr4_Pos 0U
1631#define MPU_MAIR1_Attr4_Msk (0xFFUL )
1637#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
1650 __IOM uint32_t CTRL;
1652#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U)
1654 __IOM uint32_t RBAR;
1655 __IOM uint32_t RLAR;
1657 uint32_t RESERVED0[3];
1659 __IOM uint32_t SFSR;
1660 __IOM uint32_t SFAR;
1664#define SAU_CTRL_ALLNS_Pos 1U
1665#define SAU_CTRL_ALLNS_Msk (1UL << SAU_CTRL_ALLNS_Pos)
1667#define SAU_CTRL_ENABLE_Pos 0U
1668#define SAU_CTRL_ENABLE_Msk (1UL )
1671#define SAU_TYPE_SREGION_Pos 0U
1672#define SAU_TYPE_SREGION_Msk (0xFFUL )
1674#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U)
1676#define SAU_RNR_REGION_Pos 0U
1677#define SAU_RNR_REGION_Msk (0xFFUL )
1680#define SAU_RBAR_BADDR_Pos 5U
1681#define SAU_RBAR_BADDR_Msk (0x7FFFFFFUL << SAU_RBAR_BADDR_Pos)
1684#define SAU_RLAR_LADDR_Pos 5U
1685#define SAU_RLAR_LADDR_Msk (0x7FFFFFFUL << SAU_RLAR_LADDR_Pos)
1687#define SAU_RLAR_NSC_Pos 1U
1688#define SAU_RLAR_NSC_Msk (1UL << SAU_RLAR_NSC_Pos)
1690#define SAU_RLAR_ENABLE_Pos 0U
1691#define SAU_RLAR_ENABLE_Msk (1UL )
1696#define SAU_SFSR_LSERR_Pos 7U
1697#define SAU_SFSR_LSERR_Msk (1UL << SAU_SFSR_LSERR_Pos)
1699#define SAU_SFSR_SFARVALID_Pos 6U
1700#define SAU_SFSR_SFARVALID_Msk (1UL << SAU_SFSR_SFARVALID_Pos)
1702#define SAU_SFSR_LSPERR_Pos 5U
1703#define SAU_SFSR_LSPERR_Msk (1UL << SAU_SFSR_LSPERR_Pos)
1705#define SAU_SFSR_INVTRAN_Pos 4U
1706#define SAU_SFSR_INVTRAN_Msk (1UL << SAU_SFSR_INVTRAN_Pos)
1708#define SAU_SFSR_AUVIOL_Pos 3U
1709#define SAU_SFSR_AUVIOL_Msk (1UL << SAU_SFSR_AUVIOL_Pos)
1711#define SAU_SFSR_INVER_Pos 2U
1712#define SAU_SFSR_INVER_Msk (1UL << SAU_SFSR_INVER_Pos)
1714#define SAU_SFSR_INVIS_Pos 1U
1715#define SAU_SFSR_INVIS_Msk (1UL << SAU_SFSR_INVIS_Pos)
1717#define SAU_SFSR_INVEP_Pos 0U
1718#define SAU_SFSR_INVEP_Msk (1UL )
1736 uint32_t RESERVED0[1U];
1737 __IOM uint32_t FPCCR;
1738 __IOM uint32_t FPCAR;
1739 __IOM uint32_t FPDSCR;
1740 __IM uint32_t MVFR0;
1741 __IM uint32_t MVFR1;
1742 __IM uint32_t MVFR2;
1746#define FPU_FPCCR_ASPEN_Pos 31U
1747#define FPU_FPCCR_ASPEN_Msk (1UL << FPU_FPCCR_ASPEN_Pos)
1749#define FPU_FPCCR_LSPEN_Pos 30U
1750#define FPU_FPCCR_LSPEN_Msk (1UL << FPU_FPCCR_LSPEN_Pos)
1752#define FPU_FPCCR_LSPENS_Pos 29U
1753#define FPU_FPCCR_LSPENS_Msk (1UL << FPU_FPCCR_LSPENS_Pos)
1755#define FPU_FPCCR_CLRONRET_Pos 28U
1756#define FPU_FPCCR_CLRONRET_Msk (1UL << FPU_FPCCR_CLRONRET_Pos)
1758#define FPU_FPCCR_CLRONRETS_Pos 27U
1759#define FPU_FPCCR_CLRONRETS_Msk (1UL << FPU_FPCCR_CLRONRETS_Pos)
1761#define FPU_FPCCR_TS_Pos 26U
1762#define FPU_FPCCR_TS_Msk (1UL << FPU_FPCCR_TS_Pos)
1764#define FPU_FPCCR_UFRDY_Pos 10U
1765#define FPU_FPCCR_UFRDY_Msk (1UL << FPU_FPCCR_UFRDY_Pos)
1767#define FPU_FPCCR_SPLIMVIOL_Pos 9U
1768#define FPU_FPCCR_SPLIMVIOL_Msk (1UL << FPU_FPCCR_SPLIMVIOL_Pos)
1770#define FPU_FPCCR_MONRDY_Pos 8U
1771#define FPU_FPCCR_MONRDY_Msk (1UL << FPU_FPCCR_MONRDY_Pos)
1773#define FPU_FPCCR_SFRDY_Pos 7U
1774#define FPU_FPCCR_SFRDY_Msk (1UL << FPU_FPCCR_SFRDY_Pos)
1776#define FPU_FPCCR_BFRDY_Pos 6U
1777#define FPU_FPCCR_BFRDY_Msk (1UL << FPU_FPCCR_BFRDY_Pos)
1779#define FPU_FPCCR_MMRDY_Pos 5U
1780#define FPU_FPCCR_MMRDY_Msk (1UL << FPU_FPCCR_MMRDY_Pos)
1782#define FPU_FPCCR_HFRDY_Pos 4U
1783#define FPU_FPCCR_HFRDY_Msk (1UL << FPU_FPCCR_HFRDY_Pos)
1785#define FPU_FPCCR_THREAD_Pos 3U
1786#define FPU_FPCCR_THREAD_Msk (1UL << FPU_FPCCR_THREAD_Pos)
1788#define FPU_FPCCR_S_Pos 2U
1789#define FPU_FPCCR_S_Msk (1UL << FPU_FPCCR_S_Pos)
1791#define FPU_FPCCR_USER_Pos 1U
1792#define FPU_FPCCR_USER_Msk (1UL << FPU_FPCCR_USER_Pos)
1794#define FPU_FPCCR_LSPACT_Pos 0U
1795#define FPU_FPCCR_LSPACT_Msk (1UL )
1798#define FPU_FPCAR_ADDRESS_Pos 3U
1799#define FPU_FPCAR_ADDRESS_Msk (0x1FFFFFFFUL << FPU_FPCAR_ADDRESS_Pos)
1802#define FPU_FPDSCR_AHP_Pos 26U
1803#define FPU_FPDSCR_AHP_Msk (1UL << FPU_FPDSCR_AHP_Pos)
1805#define FPU_FPDSCR_DN_Pos 25U
1806#define FPU_FPDSCR_DN_Msk (1UL << FPU_FPDSCR_DN_Pos)
1808#define FPU_FPDSCR_FZ_Pos 24U
1809#define FPU_FPDSCR_FZ_Msk (1UL << FPU_FPDSCR_FZ_Pos)
1811#define FPU_FPDSCR_RMode_Pos 22U
1812#define FPU_FPDSCR_RMode_Msk (3UL << FPU_FPDSCR_RMode_Pos)
1815#define FPU_MVFR0_FP_rounding_modes_Pos 28U
1816#define FPU_MVFR0_FP_rounding_modes_Msk (0xFUL << FPU_MVFR0_FP_rounding_modes_Pos)
1818#define FPU_MVFR0_Short_vectors_Pos 24U
1819#define FPU_MVFR0_Short_vectors_Msk (0xFUL << FPU_MVFR0_Short_vectors_Pos)
1821#define FPU_MVFR0_Square_root_Pos 20U
1822#define FPU_MVFR0_Square_root_Msk (0xFUL << FPU_MVFR0_Square_root_Pos)
1824#define FPU_MVFR0_Divide_Pos 16U
1825#define FPU_MVFR0_Divide_Msk (0xFUL << FPU_MVFR0_Divide_Pos)
1827#define FPU_MVFR0_FP_excep_trapping_Pos 12U
1828#define FPU_MVFR0_FP_excep_trapping_Msk (0xFUL << FPU_MVFR0_FP_excep_trapping_Pos)
1830#define FPU_MVFR0_Double_precision_Pos 8U
1831#define FPU_MVFR0_Double_precision_Msk (0xFUL << FPU_MVFR0_Double_precision_Pos)
1833#define FPU_MVFR0_Single_precision_Pos 4U
1834#define FPU_MVFR0_Single_precision_Msk (0xFUL << FPU_MVFR0_Single_precision_Pos)
1836#define FPU_MVFR0_A_SIMD_registers_Pos 0U
1837#define FPU_MVFR0_A_SIMD_registers_Msk (0xFUL )
1840#define FPU_MVFR1_FP_fused_MAC_Pos 28U
1841#define FPU_MVFR1_FP_fused_MAC_Msk (0xFUL << FPU_MVFR1_FP_fused_MAC_Pos)
1843#define FPU_MVFR1_FP_HPFP_Pos 24U
1844#define FPU_MVFR1_FP_HPFP_Msk (0xFUL << FPU_MVFR1_FP_HPFP_Pos)
1846#define FPU_MVFR1_D_NaN_mode_Pos 4U
1847#define FPU_MVFR1_D_NaN_mode_Msk (0xFUL << FPU_MVFR1_D_NaN_mode_Pos)
1849#define FPU_MVFR1_FtZ_mode_Pos 0U
1850#define FPU_MVFR1_FtZ_mode_Msk (0xFUL )
1853#define FPU_MVFR2_FPMisc_Pos 4U
1854#define FPU_MVFR2_FPMisc_Msk (0xFUL << FPU_MVFR2_FPMisc_Pos)
1874 __IOM uint32_t DHCSR;
1875 __OM uint32_t DCRSR;
1876 __IOM uint32_t DCRDR;
1877 __IOM uint32_t DEMCR;
1878 uint32_t RESERVED0[1U];
1879 __IOM uint32_t DAUTHCTRL;
1880 __IOM uint32_t DSCSR;
1884#define DCB_DHCSR_DBGKEY_Pos 16U
1885#define DCB_DHCSR_DBGKEY_Msk (0xFFFFUL << DCB_DHCSR_DBGKEY_Pos)
1887#define DCB_DHCSR_S_RESTART_ST_Pos 26U
1888#define DCB_DHCSR_S_RESTART_ST_Msk (0x1UL << DCB_DHCSR_S_RESTART_ST_Pos)
1890#define DCB_DHCSR_S_RESET_ST_Pos 25U
1891#define DCB_DHCSR_S_RESET_ST_Msk (0x1UL << DCB_DHCSR_S_RESET_ST_Pos)
1893#define DCB_DHCSR_S_RETIRE_ST_Pos 24U
1894#define DCB_DHCSR_S_RETIRE_ST_Msk (0x1UL << DCB_DHCSR_S_RETIRE_ST_Pos)
1896#define DCB_DHCSR_S_SDE_Pos 20U
1897#define DCB_DHCSR_S_SDE_Msk (0x1UL << DCB_DHCSR_S_SDE_Pos)
1899#define DCB_DHCSR_S_LOCKUP_Pos 19U
1900#define DCB_DHCSR_S_LOCKUP_Msk (0x1UL << DCB_DHCSR_S_LOCKUP_Pos)
1902#define DCB_DHCSR_S_SLEEP_Pos 18U
1903#define DCB_DHCSR_S_SLEEP_Msk (0x1UL << DCB_DHCSR_S_SLEEP_Pos)
1905#define DCB_DHCSR_S_HALT_Pos 17U
1906#define DCB_DHCSR_S_HALT_Msk (0x1UL << DCB_DHCSR_S_HALT_Pos)
1908#define DCB_DHCSR_S_REGRDY_Pos 16U
1909#define DCB_DHCSR_S_REGRDY_Msk (0x1UL << DCB_DHCSR_S_REGRDY_Pos)
1911#define DCB_DHCSR_C_SNAPSTALL_Pos 5U
1912#define DCB_DHCSR_C_SNAPSTALL_Msk (0x1UL << DCB_DHCSR_C_SNAPSTALL_Pos)
1914#define DCB_DHCSR_C_MASKINTS_Pos 3U
1915#define DCB_DHCSR_C_MASKINTS_Msk (0x1UL << DCB_DHCSR_C_MASKINTS_Pos)
1917#define DCB_DHCSR_C_STEP_Pos 2U
1918#define DCB_DHCSR_C_STEP_Msk (0x1UL << DCB_DHCSR_C_STEP_Pos)
1920#define DCB_DHCSR_C_HALT_Pos 1U
1921#define DCB_DHCSR_C_HALT_Msk (0x1UL << DCB_DHCSR_C_HALT_Pos)
1923#define DCB_DHCSR_C_DEBUGEN_Pos 0U
1924#define DCB_DHCSR_C_DEBUGEN_Msk (0x1UL )
1927#define DCB_DCRSR_REGWnR_Pos 16U
1928#define DCB_DCRSR_REGWnR_Msk (0x1UL << DCB_DCRSR_REGWnR_Pos)
1930#define DCB_DCRSR_REGSEL_Pos 0U
1931#define DCB_DCRSR_REGSEL_Msk (0x7FUL )
1934#define DCB_DCRDR_DBGTMP_Pos 0U
1935#define DCB_DCRDR_DBGTMP_Msk (0xFFFFFFFFUL )
1938#define DCB_DEMCR_TRCENA_Pos 24U
1939#define DCB_DEMCR_TRCENA_Msk (0x1UL << DCB_DEMCR_TRCENA_Pos)
1941#define DCB_DEMCR_MONPRKEY_Pos 23U
1942#define DCB_DEMCR_MONPRKEY_Msk (0x1UL << DCB_DEMCR_MONPRKEY_Pos)
1944#define DCB_DEMCR_UMON_EN_Pos 21U
1945#define DCB_DEMCR_UMON_EN_Msk (0x1UL << DCB_DEMCR_UMON_EN_Pos)
1947#define DCB_DEMCR_SDME_Pos 20U
1948#define DCB_DEMCR_SDME_Msk (0x1UL << DCB_DEMCR_SDME_Pos)
1950#define DCB_DEMCR_MON_REQ_Pos 19U
1951#define DCB_DEMCR_MON_REQ_Msk (0x1UL << DCB_DEMCR_MON_REQ_Pos)
1953#define DCB_DEMCR_MON_STEP_Pos 18U
1954#define DCB_DEMCR_MON_STEP_Msk (0x1UL << DCB_DEMCR_MON_STEP_Pos)
1956#define DCB_DEMCR_MON_PEND_Pos 17U
1957#define DCB_DEMCR_MON_PEND_Msk (0x1UL << DCB_DEMCR_MON_PEND_Pos)
1959#define DCB_DEMCR_MON_EN_Pos 16U
1960#define DCB_DEMCR_MON_EN_Msk (0x1UL << DCB_DEMCR_MON_EN_Pos)
1962#define DCB_DEMCR_VC_SFERR_Pos 11U
1963#define DCB_DEMCR_VC_SFERR_Msk (0x1UL << DCB_DEMCR_VC_SFERR_Pos)
1965#define DCB_DEMCR_VC_HARDERR_Pos 10U
1966#define DCB_DEMCR_VC_HARDERR_Msk (0x1UL << DCB_DEMCR_VC_HARDERR_Pos)
1968#define DCB_DEMCR_VC_INTERR_Pos 9U
1969#define DCB_DEMCR_VC_INTERR_Msk (0x1UL << DCB_DEMCR_VC_INTERR_Pos)
1971#define DCB_DEMCR_VC_BUSERR_Pos 8U
1972#define DCB_DEMCR_VC_BUSERR_Msk (0x1UL << DCB_DEMCR_VC_BUSERR_Pos)
1974#define DCB_DEMCR_VC_STATERR_Pos 7U
1975#define DCB_DEMCR_VC_STATERR_Msk (0x1UL << DCB_DEMCR_VC_STATERR_Pos)
1977#define DCB_DEMCR_VC_CHKERR_Pos 6U
1978#define DCB_DEMCR_VC_CHKERR_Msk (0x1UL << DCB_DEMCR_VC_CHKERR_Pos)
1980#define DCB_DEMCR_VC_NOCPERR_Pos 5U
1981#define DCB_DEMCR_VC_NOCPERR_Msk (0x1UL << DCB_DEMCR_VC_NOCPERR_Pos)
1983#define DCB_DEMCR_VC_MMERR_Pos 4U
1984#define DCB_DEMCR_VC_MMERR_Msk (0x1UL << DCB_DEMCR_VC_MMERR_Pos)
1986#define DCB_DEMCR_VC_CORERESET_Pos 0U
1987#define DCB_DEMCR_VC_CORERESET_Msk (0x1UL )
1990#define DCB_DAUTHCTRL_INTSPNIDEN_Pos 3U
1991#define DCB_DAUTHCTRL_INTSPNIDEN_Msk (0x1UL << DCB_DAUTHCTRL_INTSPNIDEN_Pos)
1993#define DCB_DAUTHCTRL_SPNIDENSEL_Pos 2U
1994#define DCB_DAUTHCTRL_SPNIDENSEL_Msk (0x1UL << DCB_DAUTHCTRL_SPNIDENSEL_Pos)
1996#define DCB_DAUTHCTRL_INTSPIDEN_Pos 1U
1997#define DCB_DAUTHCTRL_INTSPIDEN_Msk (0x1UL << DCB_DAUTHCTRL_INTSPIDEN_Pos)
1999#define DCB_DAUTHCTRL_SPIDENSEL_Pos 0U
2000#define DCB_DAUTHCTRL_SPIDENSEL_Msk (0x1UL )
2003#define DCB_DSCSR_CDSKEY_Pos 17U
2004#define DCB_DSCSR_CDSKEY_Msk (0x1UL << DCB_DSCSR_CDSKEY_Pos)
2006#define DCB_DSCSR_CDS_Pos 16U
2007#define DCB_DSCSR_CDS_Msk (0x1UL << DCB_DSCSR_CDS_Pos)
2009#define DCB_DSCSR_SBRSEL_Pos 1U
2010#define DCB_DSCSR_SBRSEL_Msk (0x1UL << DCB_DSCSR_SBRSEL_Pos)
2012#define DCB_DSCSR_SBRSELEN_Pos 0U
2013#define DCB_DSCSR_SBRSELEN_Msk (0x1UL )
2033 __IM uint32_t DAUTHSTATUS;
2034 __IM uint32_t DDEVARCH;
2035 __IM uint32_t DDEVTYPE;
2039#define DIB_DLAR_KEY_Pos 0U
2040#define DIB_DLAR_KEY_Msk (0xFFFFFFFFUL )
2043#define DIB_DLSR_nTT_Pos 2U
2044#define DIB_DLSR_nTT_Msk (0x1UL << DIB_DLSR_nTT_Pos )
2046#define DIB_DLSR_SLK_Pos 1U
2047#define DIB_DLSR_SLK_Msk (0x1UL << DIB_DLSR_SLK_Pos )
2049#define DIB_DLSR_SLI_Pos 0U
2050#define DIB_DLSR_SLI_Msk (0x1UL )
2053#define DIB_DAUTHSTATUS_SNID_Pos 6U
2054#define DIB_DAUTHSTATUS_SNID_Msk (0x3UL << DIB_DAUTHSTATUS_SNID_Pos )
2056#define DIB_DAUTHSTATUS_SID_Pos 4U
2057#define DIB_DAUTHSTATUS_SID_Msk (0x3UL << DIB_DAUTHSTATUS_SID_Pos )
2059#define DIB_DAUTHSTATUS_NSNID_Pos 2U
2060#define DIB_DAUTHSTATUS_NSNID_Msk (0x3UL << DIB_DAUTHSTATUS_NSNID_Pos )
2062#define DIB_DAUTHSTATUS_NSID_Pos 0U
2063#define DIB_DAUTHSTATUS_NSID_Msk (0x3UL )
2066#define DIB_DDEVARCH_ARCHITECT_Pos 21U
2067#define DIB_DDEVARCH_ARCHITECT_Msk (0x7FFUL << DIB_DDEVARCH_ARCHITECT_Pos )
2069#define DIB_DDEVARCH_PRESENT_Pos 20U
2070#define DIB_DDEVARCH_PRESENT_Msk (0x1FUL << DIB_DDEVARCH_PRESENT_Pos )
2072#define DIB_DDEVARCH_REVISION_Pos 16U
2073#define DIB_DDEVARCH_REVISION_Msk (0xFUL << DIB_DDEVARCH_REVISION_Pos )
2075#define DIB_DDEVARCH_ARCHVER_Pos 12U
2076#define DIB_DDEVARCH_ARCHVER_Msk (0xFUL << DIB_DDEVARCH_ARCHVER_Pos )
2078#define DIB_DDEVARCH_ARCHPART_Pos 0U
2079#define DIB_DDEVARCH_ARCHPART_Msk (0xFFFUL )
2082#define DIB_DDEVTYPE_SUB_Pos 4U
2083#define DIB_DDEVTYPE_SUB_Msk (0xFUL << DIB_DDEVTYPE_SUB_Pos )
2085#define DIB_DDEVTYPE_MAJOR_Pos 0U
2086#define DIB_DDEVTYPE_MAJOR_Msk (0xFUL )
2105#define _VAL2FLD(field, value) (((uint32_t)(value) << field ## _Pos) & field ## _Msk)
2113#define _FLD2VAL(field, value) (((uint32_t)(value) & field ## _Msk) >> field ## _Pos)
2126 #define SCS_BASE (0xE000E000UL)
2127 #define ITM_BASE (0xE0000000UL)
2128 #define DWT_BASE (0xE0001000UL)
2129 #define TPI_BASE (0xE0040000UL)
2130 #define DCB_BASE (0xE000EDF0UL)
2131 #define DIB_BASE (0xE000EFB0UL)
2132 #define EMSS_BASE (0xE001E000UL)
2134 #define SysTick_BASE (SCS_BASE + 0x0010UL)
2135 #define NVIC_BASE (SCS_BASE + 0x0100UL)
2136 #define SCB_BASE (SCS_BASE + 0x0D00UL)
2138 #define SCnSCB ((SCnSCB_Type *) SCS_BASE )
2139 #define SCB ((SCB_Type *) SCB_BASE )
2140 #define SysTick ((SysTick_Type *) SysTick_BASE )
2141 #define NVIC ((NVIC_Type *) NVIC_BASE )
2142 #define ITM ((ITM_Type *) ITM_BASE )
2143 #define DWT ((DWT_Type *) DWT_BASE )
2144 #define TPI ((TPI_Type *) TPI_BASE )
2145 #define DCB ((DCB_Type *) DCB_BASE )
2146 #define DIB ((DIB_Type *) DIB_BASE )
2147 #define EMSS ((EMSS_Type *) EMSS_BASE )
2149 #if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U)
2150 #define MPU_BASE (SCS_BASE + 0x0D90UL)
2151 #define MPU ((MPU_Type *) MPU_BASE )
2154 #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
2155 #define SAU_BASE (SCS_BASE + 0x0DD0UL)
2156 #define SAU ((SAU_Type *) SAU_BASE )
2159 #define FPU_BASE (SCS_BASE + 0x0F30UL)
2160 #define FPU ((FPU_Type *) FPU_BASE )
2162#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
2163 #define SCS_BASE_NS (0xE002E000UL)
2165 #define DCB_BASE_NS (0xE002EDF0UL)
2166 #define DIB_BASE_NS (0xE002EFB0UL)
2167 #define SysTick_BASE_NS (SCS_BASE_NS + 0x0010UL)
2168 #define NVIC_BASE_NS (SCS_BASE_NS + 0x0100UL)
2169 #define SCB_BASE_NS (SCS_BASE_NS + 0x0D00UL)
2171 #define SCnSCB_NS ((SCnSCB_Type *) SCS_BASE_NS )
2172 #define SCB_NS ((SCB_Type *) SCB_BASE_NS )
2173 #define SysTick_NS ((SysTick_Type *) SysTick_BASE_NS )
2174 #define NVIC_NS ((NVIC_Type *) NVIC_BASE_NS )
2175 #define DCB_NS ((DCB_Type *) DCB_BASE_NS )
2176 #define DIB_NS ((DIB_Type *) DIB_BASE_NS )
2178 #if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U)
2179 #define MPU_BASE_NS (SCS_BASE_NS + 0x0D90UL)
2180 #define MPU_NS ((MPU_Type *) MPU_BASE_NS )
2183 #define FPU_BASE_NS (SCS_BASE_NS + 0x0F30UL)
2184 #define FPU_NS ((FPU_Type *) FPU_BASE_NS )
2213#ifdef CMSIS_NVIC_VIRTUAL
2214 #ifndef CMSIS_NVIC_VIRTUAL_HEADER_FILE
2215 #define CMSIS_NVIC_VIRTUAL_HEADER_FILE "cmsis_nvic_virtual.h"
2217 #include CMSIS_NVIC_VIRTUAL_HEADER_FILE
2219 #define NVIC_SetPriorityGrouping __NVIC_SetPriorityGrouping
2220 #define NVIC_GetPriorityGrouping __NVIC_GetPriorityGrouping
2221 #define NVIC_EnableIRQ __NVIC_EnableIRQ
2222 #define NVIC_GetEnableIRQ __NVIC_GetEnableIRQ
2223 #define NVIC_DisableIRQ __NVIC_DisableIRQ
2224 #define NVIC_GetPendingIRQ __NVIC_GetPendingIRQ
2225 #define NVIC_SetPendingIRQ __NVIC_SetPendingIRQ
2226 #define NVIC_ClearPendingIRQ __NVIC_ClearPendingIRQ
2227 #define NVIC_GetActive __NVIC_GetActive
2228 #define NVIC_SetPriority __NVIC_SetPriority
2229 #define NVIC_GetPriority __NVIC_GetPriority
2230 #define NVIC_SystemReset __NVIC_SystemReset
2231 #define SW_SystemReset __SW_SystemReset
2234#ifdef CMSIS_VECTAB_VIRTUAL
2235 #ifndef CMSIS_VECTAB_VIRTUAL_HEADER_FILE
2236 #define CMSIS_VECTAB_VIRTUAL_HEADER_FILE "cmsis_vectab_virtual.h"
2238 #include CMSIS_VECTAB_VIRTUAL_HEADER_FILE
2240 #define NVIC_SetVector __NVIC_SetVector
2241 #define NVIC_GetVector __NVIC_GetVector
2244#define NVIC_USER_IRQ_OFFSET 16
2250#define FNC_RETURN (0xFEFFFFFFUL)
2253#define EXC_RETURN_PREFIX (0xFF000000UL)
2254#define EXC_RETURN_S (0x00000040UL)
2255#define EXC_RETURN_DCRS (0x00000020UL)
2256#define EXC_RETURN_FTYPE (0x00000010UL)
2257#define EXC_RETURN_MODE (0x00000008UL)
2258#define EXC_RETURN_SPSEL (0x00000004UL)
2259#define EXC_RETURN_ES (0x00000001UL)
2262#if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)
2263#define EXC_INTEGRITY_SIGNATURE (0xFEFA125AUL)
2265#define EXC_INTEGRITY_SIGNATURE (0xFEFA125BUL)
2281 uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL);
2283 reg_value =
SCB->AIRCR;
2285 reg_value = (reg_value |
2288 SCB->AIRCR = reg_value;
2311 if ((int32_t)(IRQn) >= 0)
2314 NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
2330 if ((int32_t)(IRQn) >= 0)
2332 return((uint32_t)(((
NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
2349 if ((int32_t)(IRQn) >= 0)
2351 NVIC->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
2368 if ((int32_t)(IRQn) >= 0)
2370 return((uint32_t)(((
NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
2387 if ((int32_t)(IRQn) >= 0)
2389 NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
2402 if ((int32_t)(IRQn) >= 0)
2404 NVIC->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
2419 if ((int32_t)(IRQn) >= 0)
2421 return((uint32_t)(((
NVIC->IABR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
2430#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
2441 if ((int32_t)(IRQn) >= 0)
2443 return((uint32_t)(((
NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
2462 if ((int32_t)(IRQn) >= 0)
2464 NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] |= ((uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)));
2465 return((uint32_t)(((
NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
2484 if ((int32_t)(IRQn) >= 0)
2486 NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] &= ~((uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)));
2487 return((uint32_t)(((
NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
2508 if ((int32_t)(IRQn) >= 0)
2510 NVIC->IPR[((uint32_t)IRQn)] = (uint8_t)((priority << (8U -
__NVIC_PRIO_BITS)) & (uint32_t)0xFFUL);
2514 SCB->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U -
__NVIC_PRIO_BITS)) & (uint32_t)0xFFUL);
2531 if ((int32_t)(IRQn) >= 0)
2555 uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL);
2556 uint32_t PreemptPriorityBits;
2557 uint32_t SubPriorityBits;
2560 SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(
__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(
__NVIC_PRIO_BITS));
2563 ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) |
2564 ((SubPriority & (uint32_t)((1UL << (SubPriorityBits )) - 1UL)))
2582 uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL);
2583 uint32_t PreemptPriorityBits;
2584 uint32_t SubPriorityBits;
2587 SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(
__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(
__NVIC_PRIO_BITS));
2589 *pPreemptPriority = (Priority >> SubPriorityBits) & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL);
2590 *pSubPriority = (Priority ) & (uint32_t)((1UL << (SubPriorityBits )) - 1UL);
2605 uint32_t *vectors = (uint32_t *)
SCB->VTOR;
2621 uint32_t *vectors = (uint32_t *)
SCB->VTOR;
2666#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
2676__STATIC_INLINE void TZ_NVIC_SetPriorityGrouping_NS(uint32_t PriorityGroup)
2679 uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL);
2681 reg_value = SCB_NS->AIRCR;
2683 reg_value = (reg_value |
2686 SCB_NS->AIRCR = reg_value;
2709 if ((int32_t)(IRQn) >= 0)
2711 NVIC_NS->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
2726 if ((int32_t)(IRQn) >= 0)
2728 return((uint32_t)(((NVIC_NS->ISER[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
2745 if ((int32_t)(IRQn) >= 0)
2747 NVIC_NS->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
2762 if ((int32_t)(IRQn) >= 0)
2764 return((uint32_t)(((NVIC_NS->ISPR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
2781 if ((int32_t)(IRQn) >= 0)
2783 NVIC_NS->ISPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
2796 if ((int32_t)(IRQn) >= 0)
2798 NVIC_NS->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
2813 if ((int32_t)(IRQn) >= 0)
2815 return((uint32_t)(((NVIC_NS->IABR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
2835 if ((int32_t)(IRQn) >= 0)
2837 NVIC_NS->IPR[((uint32_t)IRQn)] = (uint8_t)((priority << (8U -
__NVIC_PRIO_BITS)) & (uint32_t)0xFFUL);
2841 SCB_NS->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U -
__NVIC_PRIO_BITS)) & (uint32_t)0xFFUL);
2857 if ((int32_t)(IRQn) >= 0)
2859 return(((uint32_t)NVIC_NS->IPR[((uint32_t)IRQn)] >> (8U -
__NVIC_PRIO_BITS)));
2863 return(((uint32_t)SCB_NS->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] >> (8U -
__NVIC_PRIO_BITS)));
2872#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U)
2926#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
2934 SAU->CTRL |= (SAU_CTRL_ENABLE_Msk);
2945 SAU->CTRL &= ~(SAU_CTRL_ENABLE_Msk);
2985 return (
DCB->DAUTHCTRL);
2989#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
2999 DCB_NS->DAUTHCTRL =
value;
3012 return (DCB_NS->DAUTHCTRL);
3037 return (
DIB->DAUTHSTATUS);
3041#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
3049 return (DIB_NS->DAUTHSTATUS);
3056#if ((defined (__ICACHE_PRESENT) && (__ICACHE_PRESENT == 1U)) || \
3057 (defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U)))
3068#define CCSIDR_WAYS(x) (((x) & SCB_CCSIDR_ASSOCIATIVITY_Msk) >> SCB_CCSIDR_ASSOCIATIVITY_Pos)
3069#define CCSIDR_SETS(x) (((x) & SCB_CCSIDR_NUMSETS_Msk ) >> SCB_CCSIDR_NUMSETS_Pos )
3071#define __SCB_DCACHE_LINE_SIZE 32U
3072#define __SCB_ICACHE_LINE_SIZE 32U
3080 #if defined (__ICACHE_PRESENT) && (__ICACHE_PRESENT == 1U)
3101 #if defined (__ICACHE_PRESENT) && (__ICACHE_PRESENT == 1U)
3118 #if defined (__ICACHE_PRESENT) && (__ICACHE_PRESENT == 1U)
3138 #if defined (__ICACHE_PRESENT) && (__ICACHE_PRESENT == 1U)
3141 uint32_t op_addr = (uint32_t)addr ;
3146 SCB->ICIMVAU = op_addr;
3149 }
while ( op_size > 0 );
3164 #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U)
3174 ccsidr =
SCB->CCSIDR;
3183 #if defined ( __CC_ARM )
3184 __schedule_barrier();
3186 }
while (ways-- != 0U);
3187 }
while(sets-- != 0U);
3204 #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U)
3215 ccsidr =
SCB->CCSIDR;
3224 #if defined ( __CC_ARM )
3225 __schedule_barrier();
3227 }
while (ways-- != 0U);
3228 }
while(sets-- != 0U);
3242 #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U)
3250 ccsidr =
SCB->CCSIDR;
3259 #if defined ( __CC_ARM )
3260 __schedule_barrier();
3262 }
while (ways-- != 0U);
3263 }
while(sets-- != 0U);
3277 #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U)
3285 ccsidr =
SCB->CCSIDR;
3294 #if defined ( __CC_ARM )
3295 __schedule_barrier();
3297 }
while (ways-- != 0U);
3298 }
while(sets-- != 0U);
3312 #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U)
3320 ccsidr =
SCB->CCSIDR;
3329 #if defined ( __CC_ARM )
3330 __schedule_barrier();
3332 }
while (ways-- != 0U);
3333 }
while(sets-- != 0U);
3351 #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U)
3354 uint32_t op_addr = (uint32_t)addr ;
3359 SCB->DCIMVAC = op_addr;
3362 }
while ( op_size > 0 );
3381 #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U)
3384 uint32_t op_addr = (uint32_t)addr ;
3389 SCB->DCCMVAC = op_addr;
3392 }
while ( op_size > 0 );
3411 #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U)
3414 uint32_t op_addr = (uint32_t)addr ;
3419 SCB->DCCIMVAC = op_addr;
3422 }
while ( op_size > 0 );
3442#if defined (__Vendor_SysTickConfig) && (__Vendor_SysTickConfig == 0U)
3462 SysTick->LOAD = (uint32_t)(ticks - 1UL);
3471#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
3491 SysTick_NS->LOAD = (uint32_t)(ticks - 1UL);
3493 SysTick_NS->VAL = 0UL;
3516#define ITM_RXBUFFER_EMPTY ((int32_t)0x5AA55AA5U)
3530 ((
ITM->TER & 1UL ) != 0UL) )
3532 while (
ITM->PORT[0U].u32 == 0UL)
3536 ITM->PORT[0U].u8 = (uint8_t)
ch;
#define __COMPILER_BARRIER()
#define __STATIC_FORCEINLINE
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 FPU_MVFR0_Double_precision_Msk
MVFR0: Double-precision bits Mask.
#define SCB_DCCISW_SET_Pos
SCB DCCISW: Set Position.
#define SCB_CCR_DC_Msk
SCB CCR: DC Mask.
#define SCB_DCCSW_SET_Msk
SCB DCCSW: Set Mask.
#define SCB_DCCSW_WAY_Pos
SCB DCCSW: Way Position.
#define ITM_TCR_ITMENA_Msk
ITM TCR: ITM Enable bit Mask.
#define SCB_DCCSW_WAY_Msk
SCB DCCSW: Way Mask.
#define SCB_AIRCR_PRIGROUP_Msk
SCB AIRCR: PRIGROUP Mask.
#define SCB_AIRCR_VECTKEY_Msk
SCB AIRCR: VECTKEY Mask.
#define FPU_MVFR0_Single_precision_Msk
MVFR0: Single-precision bits Mask.
#define SysTick_CTRL_TICKINT_Msk
SysTick CTRL: TICKINT Mask.
#define SysTick_CTRL_CLKSOURCE_Msk
SysTick CTRL: CLKSOURCE Mask.
#define SCB_DCISW_WAY_Pos
SCB DCISW: Way Position.
#define SCB_DCCISW_WAY_Pos
SCB DCCISW: Way Position.
#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 SCB_DCISW_SET_Msk
SCB DCISW: Set Mask.
#define ITM
ITM configuration struct.
#define SCB_AIRCR_BFHFNMINS_Msk
SCB AIRCR: BFHFNMINS Mask.
#define FPU
Floating Point Unit.
#define SCB_DCISW_WAY_Msk
SCB DCISW: Way Mask.
#define NVIC
NVIC configuration struct.
#define SCB_AIRCR_PRIGROUP_Pos
SCB AIRCR: PRIGROUP Position.
#define SysTick
SysTick configuration struct.
#define SCB_DCCSW_SET_Pos
SCB DCCSW: Set Position.
#define SCB_DCISW_SET_Pos
SCB DCISW: Set Position.
#define SCB_DCCISW_SET_Msk
SCB DCCISW: Set Mask.
#define SCB_DCCISW_WAY_Msk
SCB DCCISW: Way Mask.
#define SCB_CCR_IC_Msk
SCB CCR: IC Mask.
#define __NVIC_SetPriorityGrouping(X)
#define __NVIC_GetPriorityGrouping()
Get Priority Grouping.
__STATIC_FORCEINLINE void SCB_EnableDCache(void)
Enable D-Cache.
__STATIC_FORCEINLINE void SCB_DisableICache(void)
Disable I-Cache.
__STATIC_FORCEINLINE void SCB_CleanInvalidateDCache(void)
Clean & Invalidate D-Cache.
__STATIC_FORCEINLINE void SCB_InvalidateICache(void)
Invalidate I-Cache.
__STATIC_FORCEINLINE void SCB_CleanInvalidateDCache_by_Addr(uint32_t *addr, int32_t dsize)
D-Cache Clean and Invalidate by address.
#define __SCB_DCACHE_LINE_SIZE
Cortex-M7 cache line size is fixed to 32 bytes (8 words).
__STATIC_FORCEINLINE void SCB_EnableICache(void)
Enable I-Cache.
__STATIC_FORCEINLINE void SCB_InvalidateDCache_by_Addr(void *addr, int32_t dsize)
D-Cache Invalidate by address.
__STATIC_FORCEINLINE void SCB_InvalidateDCache(void)
Invalidate D-Cache.
__STATIC_FORCEINLINE void SCB_CleanDCache_by_Addr(uint32_t *addr, int32_t dsize)
D-Cache Clean by address.
#define __SCB_ICACHE_LINE_SIZE
Cortex-M7 cache line size is fixed to 32 bytes (8 words).
__STATIC_FORCEINLINE void SCB_CleanDCache(void)
Clean D-Cache.
__STATIC_FORCEINLINE void SCB_InvalidateICache_by_Addr(void *addr, int32_t isize)
I-Cache Invalidate by address.
__STATIC_FORCEINLINE void SCB_DisableDCache(void)
Disable D-Cache.
#define __DSB()
Data Synchronization Barrier.
#define __ISB()
Instruction Synchronization Barrier.
#define __NOP
No Operation.
__NO_RETURN __STATIC_INLINE void __SW_SystemReset(void)
Software Reset.
__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
__OM uint32_t DCCMVAC
Offset: 0x268 ( /W) D-Cache Clean by MVA to PoC.
__IOM uint32_t SFAR
Offset: 0x0E8 (R/W) Secure Fault Address Register.
__IOM uint32_t MAIR0
Offset: 0x030 (R/W) MPU Memory Attribute Indirection Register 0.
volatile int32_t ITM_RxBuffer
External variable to receive characters.
__IOM uint32_t ITCMCR
Offset: 0x10 (R/W) Instruction Tightly-Coupled Memory Control Register.
uint32_t IT
bit: 25..26 saved IT state (read 0)
__IOM uint32_t MAIR1
Offset: 0x034 (R/W) MPU Memory Attribute Indirection Register 1.
__OM uint32_t DCISW
Offset: 0x260 ( /W) D-Cache Invalidate by Set-way.
uint32_t V
bit: 28 Overflow condition code flag
uint32_t _reserved1
bit: 20..26 Reserved
uint32_t C
bit: 29 Carry condition code flag
__IM uint32_t MVFR2
Offset: 0x248 (R/ ) Media and VFP Feature Register 2.
uint32_t Q
bit: 27 Saturation condition flag
uint32_t T
bit: 24 Thumb bit (read 0)
__OM uint32_t DCIMVAC
Offset: 0x25C ( /W) D-Cache Invalidate by MVA to PoC.
uint32_t _reserved0
bit: 9..31 Reserved
uint32_t Z
bit: 30 Zero condition code flag
__OM uint32_t DCCIMVAC
Offset: 0x270 ( /W) D-Cache Clean and Invalidate by MVA to PoC.
uint32_t V
bit: 28 Overflow condition code flag
__OM uint32_t ICIALLU
Offset: 0x250 ( /W) I-Cache Invalidate All to PoU.
uint32_t _reserved0
bit: 9..15 Reserved
__OM uint32_t ICIMVAU
Offset: 0x258 ( /W) I-Cache Invalidate by MVA to PoU.
uint32_t N
bit: 31 Negative condition code flag
uint32_t nPRIV
bit: 0 Execution privilege in Thread mode
__IM uint32_t MVFR1
Offset: 0x244 (R/ ) Media and VFP Feature Register 1.
uint32_t SFPA
bit: 3 Secure floating-point active
__IM uint32_t MVFR0
Offset: 0x240 (R/ ) Media and VFP Feature Register 0.
__OM uint8_t u8
Offset: 0x000 ( /W) ITM Stimulus Port 8-bit.
__OM uint32_t u32
Offset: 0x000 ( /W) ITM Stimulus Port 32-bit.
uint32_t C
bit: 29 Carry condition code flag
__IOM uint32_t CACR
Offset: 0x0 (R/W) L1 Cache Control Register.
uint32_t _reserved1
bit: 20..23 Reserved
uint32_t Z
bit: 30 Zero condition code flag
__IOM uint32_t SFSR
Offset: 0x0E4 (R/W) Secure Fault Status Register.
#define ITM_RXBUFFER_EMPTY
Value identifying ITM_RxBuffer is ready for next character.
uint32_t SPSEL
bit: 1 Stack-pointer select
uint32_t GE
bit: 16..19 Greater than or Equal flags
uint32_t _reserved0
bit: 0..15 Reserved
__OM uint32_t DCCMVAU
Offset: 0x264 ( /W) D-Cache Clean by MVA to PoU.
__OM uint32_t DCCSW
Offset: 0x26C ( /W) D-Cache Clean by Set-way.
uint32_t FPCA
bit: 2 Floating-point context active
__STATIC_INLINE int32_t ITM_ReceiveChar(void)
ITM Receive Character.
__STATIC_INLINE uint32_t ITM_SendChar(uint32_t ch)
ITM Send Character.
__IOM uint32_t DTCMCR
Offset: 0x14 (R/W) Data Tightly-Coupled Memory Control Registers.
__OM uint32_t STIR
Offset: 0x200 ( /W) Software Triggered Interrupt Register.
uint32_t _reserved1
bit: 4..31 Reserved
__OM uint16_t u16
Offset: 0x000 ( /W) ITM Stimulus Port 16-bit.
__STATIC_INLINE int32_t ITM_CheckChar(void)
ITM Check Character.
uint32_t GE
bit: 16..19 Greater than or Equal flags
__OM uint32_t DCCISW
Offset: 0x274 ( /W) D-Cache Clean and Invalidate by Set-way.
uint32_t RESERVED_ADD1[21U]
uint32_t Q
bit: 27 Saturation condition flag
#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 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 Floating Point Unit (FPU).
Structure type to access the Instrumentation Trace Macrocell Register (ITM).
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 Control and ID Register not in the SCB.
Structure type to access the System Timer (SysTick).
Structure type to access the Trace Port Interface Register (TPI).
static std::string ch(int ain, const std::string &kind, const std::string &extra="", const std::string &board="lj")
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).