25#if defined ( __ICCARM__ )
26 #pragma system_include
27#elif defined (__clang__)
28 #pragma clang system_header
31#ifndef __CORE_SC300_H_GENERIC
32#define __CORE_SC300_H_GENERIC
66#define __SC300_CMSIS_VERSION_MAIN (__CM_CMSIS_VERSION_MAIN)
67#define __SC300_CMSIS_VERSION_SUB (__CM_CMSIS_VERSION_SUB)
68#define __SC300_CMSIS_VERSION ((__SC300_CMSIS_VERSION_MAIN << 16U) | \
69 __SC300_CMSIS_VERSION_SUB )
71#define __CORTEX_SC (300U)
78#if defined ( __CC_ARM )
79 #if defined __TARGET_FPU_VFP
80 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
83#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
85 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
88#elif defined ( __GNUC__ )
89 #if defined (__VFP_FP__) && !defined(__SOFTFP__)
90 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
93#elif defined ( __ICCARM__ )
94 #if defined __ARMVFP__
95 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
98#elif defined ( __TI_ARM__ )
99 #if defined __TI_VFP_SUPPORT__
100 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
103#elif defined ( __TASKING__ )
104 #if defined __FPU_VFP__
105 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
108#elif defined ( __CSMC__ )
109 #if ( __CSMC__ & 0x400U)
110 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
124#ifndef __CMSIS_GENERIC
126#ifndef __CORE_SC300_H_DEPENDANT
127#define __CORE_SC300_H_DEPENDANT
134#if defined __CHECK_DEVICE_DEFINES
136 #define __SC300_REV 0x0000U
137 #warning "__SC300_REV not defined in device header file; using default!"
140 #ifndef __MPU_PRESENT
141 #define __MPU_PRESENT 0U
142 #warning "__MPU_PRESENT not defined in device header file; using default!"
145 #ifndef __VTOR_PRESENT
146 #define __VTOR_PRESENT 1U
147 #warning "__VTOR_PRESENT not defined in device header file; using default!"
150 #ifndef __NVIC_PRIO_BITS
151 #define __NVIC_PRIO_BITS 3U
152 #warning "__NVIC_PRIO_BITS not defined in device header file; using default!"
155 #ifndef __Vendor_SysTickConfig
156 #define __Vendor_SysTickConfig 0U
157 #warning "__Vendor_SysTickConfig not defined in device header file; using default!"
172 #define __I volatile const
178#define __IM volatile const
180#define __IOM volatile
226#define APSR_N_Pos 31U
227#define APSR_N_Msk (1UL << APSR_N_Pos)
229#define APSR_Z_Pos 30U
230#define APSR_Z_Msk (1UL << APSR_Z_Pos)
232#define APSR_C_Pos 29U
233#define APSR_C_Msk (1UL << APSR_C_Pos)
235#define APSR_V_Pos 28U
236#define APSR_V_Msk (1UL << APSR_V_Pos)
238#define APSR_Q_Pos 27U
239#define APSR_Q_Msk (1UL << APSR_Q_Pos)
256#define IPSR_ISR_Pos 0U
257#define IPSR_ISR_Msk (0x1FFUL )
283#define xPSR_N_Pos 31U
284#define xPSR_N_Msk (1UL << xPSR_N_Pos)
286#define xPSR_Z_Pos 30U
287#define xPSR_Z_Msk (1UL << xPSR_Z_Pos)
289#define xPSR_C_Pos 29U
290#define xPSR_C_Msk (1UL << xPSR_C_Pos)
292#define xPSR_V_Pos 28U
293#define xPSR_V_Msk (1UL << xPSR_V_Pos)
295#define xPSR_Q_Pos 27U
296#define xPSR_Q_Msk (1UL << xPSR_Q_Pos)
298#define xPSR_ICI_IT_2_Pos 25U
299#define xPSR_ICI_IT_2_Msk (3UL << xPSR_ICI_IT_2_Pos)
301#define xPSR_T_Pos 24U
302#define xPSR_T_Msk (1UL << xPSR_T_Pos)
304#define xPSR_ICI_IT_1_Pos 10U
305#define xPSR_ICI_IT_1_Msk (0x3FUL << xPSR_ICI_IT_1_Pos)
307#define xPSR_ISR_Pos 0U
308#define xPSR_ISR_Msk (0x1FFUL )
326#define CONTROL_SPSEL_Pos 1U
327#define CONTROL_SPSEL_Msk (1UL << CONTROL_SPSEL_Pos)
329#define CONTROL_nPRIV_Pos 0U
330#define CONTROL_nPRIV_Msk (1UL )
347 __IOM uint32_t ISER[8U];
348 uint32_t RESERVED0[24U];
349 __IOM uint32_t ICER[8U];
350 uint32_t RESERVED1[24U];
351 __IOM uint32_t ISPR[8U];
352 uint32_t RESERVED2[24U];
353 __IOM uint32_t ICPR[8U];
354 uint32_t RESERVED3[24U];
355 __IOM uint32_t IABR[8U];
356 uint32_t RESERVED4[56U];
357 __IOM uint8_t IP[240U];
358 uint32_t RESERVED5[644U];
363#define NVIC_STIR_INTID_Pos 0U
364#define NVIC_STIR_INTID_Msk (0x1FFUL )
384 __IOM uint32_t AIRCR;
387 __IOM uint8_t SHP[12U];
388 __IOM uint32_t SHCSR;
392 __IOM uint32_t MMFAR;
395 __IM uint32_t PFR[2U];
398 __IM uint32_t MMFR[4U];
399 __IM uint32_t ISAR[5U];
400 uint32_t RESERVED0[5U];
401 __IOM uint32_t CPACR;
402 uint32_t RESERVED1[129U];
407#define SCB_CPUID_IMPLEMENTER_Pos 24U
408#define SCB_CPUID_IMPLEMENTER_Msk (0xFFUL << SCB_CPUID_IMPLEMENTER_Pos)
410#define SCB_CPUID_VARIANT_Pos 20U
411#define SCB_CPUID_VARIANT_Msk (0xFUL << SCB_CPUID_VARIANT_Pos)
413#define SCB_CPUID_ARCHITECTURE_Pos 16U
414#define SCB_CPUID_ARCHITECTURE_Msk (0xFUL << SCB_CPUID_ARCHITECTURE_Pos)
416#define SCB_CPUID_PARTNO_Pos 4U
417#define SCB_CPUID_PARTNO_Msk (0xFFFUL << SCB_CPUID_PARTNO_Pos)
419#define SCB_CPUID_REVISION_Pos 0U
420#define SCB_CPUID_REVISION_Msk (0xFUL )
423#define SCB_ICSR_NMIPENDSET_Pos 31U
424#define SCB_ICSR_NMIPENDSET_Msk (1UL << SCB_ICSR_NMIPENDSET_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_ISRPREEMPT_Pos 23U
439#define SCB_ICSR_ISRPREEMPT_Msk (1UL << SCB_ICSR_ISRPREEMPT_Pos)
441#define SCB_ICSR_ISRPENDING_Pos 22U
442#define SCB_ICSR_ISRPENDING_Msk (1UL << SCB_ICSR_ISRPENDING_Pos)
444#define SCB_ICSR_VECTPENDING_Pos 12U
445#define SCB_ICSR_VECTPENDING_Msk (0x1FFUL << SCB_ICSR_VECTPENDING_Pos)
447#define SCB_ICSR_RETTOBASE_Pos 11U
448#define SCB_ICSR_RETTOBASE_Msk (1UL << SCB_ICSR_RETTOBASE_Pos)
450#define SCB_ICSR_VECTACTIVE_Pos 0U
451#define SCB_ICSR_VECTACTIVE_Msk (0x1FFUL )
454#define SCB_VTOR_TBLBASE_Pos 29U
455#define SCB_VTOR_TBLBASE_Msk (1UL << SCB_VTOR_TBLBASE_Pos)
457#define SCB_VTOR_TBLOFF_Pos 7U
458#define SCB_VTOR_TBLOFF_Msk (0x3FFFFFUL << SCB_VTOR_TBLOFF_Pos)
461#define SCB_AIRCR_VECTKEY_Pos 16U
462#define SCB_AIRCR_VECTKEY_Msk (0xFFFFUL << SCB_AIRCR_VECTKEY_Pos)
464#define SCB_AIRCR_VECTKEYSTAT_Pos 16U
465#define SCB_AIRCR_VECTKEYSTAT_Msk (0xFFFFUL << SCB_AIRCR_VECTKEYSTAT_Pos)
467#define SCB_AIRCR_ENDIANESS_Pos 15U
468#define SCB_AIRCR_ENDIANESS_Msk (1UL << SCB_AIRCR_ENDIANESS_Pos)
470#define SCB_AIRCR_PRIGROUP_Pos 8U
471#define SCB_AIRCR_PRIGROUP_Msk (7UL << SCB_AIRCR_PRIGROUP_Pos)
473#define SCB_AIRCR_SYSRESETREQ_Pos 2U
474#define SCB_AIRCR_SYSRESETREQ_Msk (1UL << SCB_AIRCR_SYSRESETREQ_Pos)
476#define SCB_AIRCR_VECTCLRACTIVE_Pos 1U
477#define SCB_AIRCR_VECTCLRACTIVE_Msk (1UL << SCB_AIRCR_VECTCLRACTIVE_Pos)
479#define SCB_AIRCR_VECTRESET_Pos 0U
480#define SCB_AIRCR_VECTRESET_Msk (1UL )
483#define SCB_SCR_SEVONPEND_Pos 4U
484#define SCB_SCR_SEVONPEND_Msk (1UL << SCB_SCR_SEVONPEND_Pos)
486#define SCB_SCR_SLEEPDEEP_Pos 2U
487#define SCB_SCR_SLEEPDEEP_Msk (1UL << SCB_SCR_SLEEPDEEP_Pos)
489#define SCB_SCR_SLEEPONEXIT_Pos 1U
490#define SCB_SCR_SLEEPONEXIT_Msk (1UL << SCB_SCR_SLEEPONEXIT_Pos)
493#define SCB_CCR_STKALIGN_Pos 9U
494#define SCB_CCR_STKALIGN_Msk (1UL << SCB_CCR_STKALIGN_Pos)
496#define SCB_CCR_BFHFNMIGN_Pos 8U
497#define SCB_CCR_BFHFNMIGN_Msk (1UL << SCB_CCR_BFHFNMIGN_Pos)
499#define SCB_CCR_DIV_0_TRP_Pos 4U
500#define SCB_CCR_DIV_0_TRP_Msk (1UL << SCB_CCR_DIV_0_TRP_Pos)
502#define SCB_CCR_UNALIGN_TRP_Pos 3U
503#define SCB_CCR_UNALIGN_TRP_Msk (1UL << SCB_CCR_UNALIGN_TRP_Pos)
505#define SCB_CCR_USERSETMPEND_Pos 1U
506#define SCB_CCR_USERSETMPEND_Msk (1UL << SCB_CCR_USERSETMPEND_Pos)
508#define SCB_CCR_NONBASETHRDENA_Pos 0U
509#define SCB_CCR_NONBASETHRDENA_Msk (1UL )
512#define SCB_SHCSR_USGFAULTENA_Pos 18U
513#define SCB_SHCSR_USGFAULTENA_Msk (1UL << SCB_SHCSR_USGFAULTENA_Pos)
515#define SCB_SHCSR_BUSFAULTENA_Pos 17U
516#define SCB_SHCSR_BUSFAULTENA_Msk (1UL << SCB_SHCSR_BUSFAULTENA_Pos)
518#define SCB_SHCSR_MEMFAULTENA_Pos 16U
519#define SCB_SHCSR_MEMFAULTENA_Msk (1UL << SCB_SHCSR_MEMFAULTENA_Pos)
521#define SCB_SHCSR_SVCALLPENDED_Pos 15U
522#define SCB_SHCSR_SVCALLPENDED_Msk (1UL << SCB_SHCSR_SVCALLPENDED_Pos)
524#define SCB_SHCSR_BUSFAULTPENDED_Pos 14U
525#define SCB_SHCSR_BUSFAULTPENDED_Msk (1UL << SCB_SHCSR_BUSFAULTPENDED_Pos)
527#define SCB_SHCSR_MEMFAULTPENDED_Pos 13U
528#define SCB_SHCSR_MEMFAULTPENDED_Msk (1UL << SCB_SHCSR_MEMFAULTPENDED_Pos)
530#define SCB_SHCSR_USGFAULTPENDED_Pos 12U
531#define SCB_SHCSR_USGFAULTPENDED_Msk (1UL << SCB_SHCSR_USGFAULTPENDED_Pos)
533#define SCB_SHCSR_SYSTICKACT_Pos 11U
534#define SCB_SHCSR_SYSTICKACT_Msk (1UL << SCB_SHCSR_SYSTICKACT_Pos)
536#define SCB_SHCSR_PENDSVACT_Pos 10U
537#define SCB_SHCSR_PENDSVACT_Msk (1UL << SCB_SHCSR_PENDSVACT_Pos)
539#define SCB_SHCSR_MONITORACT_Pos 8U
540#define SCB_SHCSR_MONITORACT_Msk (1UL << SCB_SHCSR_MONITORACT_Pos)
542#define SCB_SHCSR_SVCALLACT_Pos 7U
543#define SCB_SHCSR_SVCALLACT_Msk (1UL << SCB_SHCSR_SVCALLACT_Pos)
545#define SCB_SHCSR_USGFAULTACT_Pos 3U
546#define SCB_SHCSR_USGFAULTACT_Msk (1UL << SCB_SHCSR_USGFAULTACT_Pos)
548#define SCB_SHCSR_BUSFAULTACT_Pos 1U
549#define SCB_SHCSR_BUSFAULTACT_Msk (1UL << SCB_SHCSR_BUSFAULTACT_Pos)
551#define SCB_SHCSR_MEMFAULTACT_Pos 0U
552#define SCB_SHCSR_MEMFAULTACT_Msk (1UL )
555#define SCB_CFSR_USGFAULTSR_Pos 16U
556#define SCB_CFSR_USGFAULTSR_Msk (0xFFFFUL << SCB_CFSR_USGFAULTSR_Pos)
558#define SCB_CFSR_BUSFAULTSR_Pos 8U
559#define SCB_CFSR_BUSFAULTSR_Msk (0xFFUL << SCB_CFSR_BUSFAULTSR_Pos)
561#define SCB_CFSR_MEMFAULTSR_Pos 0U
562#define SCB_CFSR_MEMFAULTSR_Msk (0xFFUL )
565#define SCB_CFSR_MMARVALID_Pos (SCB_CFSR_MEMFAULTSR_Pos + 7U)
566#define SCB_CFSR_MMARVALID_Msk (1UL << SCB_CFSR_MMARVALID_Pos)
568#define SCB_CFSR_MSTKERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 4U)
569#define SCB_CFSR_MSTKERR_Msk (1UL << SCB_CFSR_MSTKERR_Pos)
571#define SCB_CFSR_MUNSTKERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 3U)
572#define SCB_CFSR_MUNSTKERR_Msk (1UL << SCB_CFSR_MUNSTKERR_Pos)
574#define SCB_CFSR_DACCVIOL_Pos (SCB_CFSR_MEMFAULTSR_Pos + 1U)
575#define SCB_CFSR_DACCVIOL_Msk (1UL << SCB_CFSR_DACCVIOL_Pos)
577#define SCB_CFSR_IACCVIOL_Pos (SCB_CFSR_MEMFAULTSR_Pos + 0U)
578#define SCB_CFSR_IACCVIOL_Msk (1UL )
581#define SCB_CFSR_BFARVALID_Pos (SCB_CFSR_BUSFAULTSR_Pos + 7U)
582#define SCB_CFSR_BFARVALID_Msk (1UL << SCB_CFSR_BFARVALID_Pos)
584#define SCB_CFSR_STKERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 4U)
585#define SCB_CFSR_STKERR_Msk (1UL << SCB_CFSR_STKERR_Pos)
587#define SCB_CFSR_UNSTKERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 3U)
588#define SCB_CFSR_UNSTKERR_Msk (1UL << SCB_CFSR_UNSTKERR_Pos)
590#define SCB_CFSR_IMPRECISERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 2U)
591#define SCB_CFSR_IMPRECISERR_Msk (1UL << SCB_CFSR_IMPRECISERR_Pos)
593#define SCB_CFSR_PRECISERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 1U)
594#define SCB_CFSR_PRECISERR_Msk (1UL << SCB_CFSR_PRECISERR_Pos)
596#define SCB_CFSR_IBUSERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 0U)
597#define SCB_CFSR_IBUSERR_Msk (1UL << SCB_CFSR_IBUSERR_Pos)
600#define SCB_CFSR_DIVBYZERO_Pos (SCB_CFSR_USGFAULTSR_Pos + 9U)
601#define SCB_CFSR_DIVBYZERO_Msk (1UL << SCB_CFSR_DIVBYZERO_Pos)
603#define SCB_CFSR_UNALIGNED_Pos (SCB_CFSR_USGFAULTSR_Pos + 8U)
604#define SCB_CFSR_UNALIGNED_Msk (1UL << SCB_CFSR_UNALIGNED_Pos)
606#define SCB_CFSR_NOCP_Pos (SCB_CFSR_USGFAULTSR_Pos + 3U)
607#define SCB_CFSR_NOCP_Msk (1UL << SCB_CFSR_NOCP_Pos)
609#define SCB_CFSR_INVPC_Pos (SCB_CFSR_USGFAULTSR_Pos + 2U)
610#define SCB_CFSR_INVPC_Msk (1UL << SCB_CFSR_INVPC_Pos)
612#define SCB_CFSR_INVSTATE_Pos (SCB_CFSR_USGFAULTSR_Pos + 1U)
613#define SCB_CFSR_INVSTATE_Msk (1UL << SCB_CFSR_INVSTATE_Pos)
615#define SCB_CFSR_UNDEFINSTR_Pos (SCB_CFSR_USGFAULTSR_Pos + 0U)
616#define SCB_CFSR_UNDEFINSTR_Msk (1UL << SCB_CFSR_UNDEFINSTR_Pos)
619#define SCB_HFSR_DEBUGEVT_Pos 31U
620#define SCB_HFSR_DEBUGEVT_Msk (1UL << SCB_HFSR_DEBUGEVT_Pos)
622#define SCB_HFSR_FORCED_Pos 30U
623#define SCB_HFSR_FORCED_Msk (1UL << SCB_HFSR_FORCED_Pos)
625#define SCB_HFSR_VECTTBL_Pos 1U
626#define SCB_HFSR_VECTTBL_Msk (1UL << SCB_HFSR_VECTTBL_Pos)
629#define SCB_DFSR_EXTERNAL_Pos 4U
630#define SCB_DFSR_EXTERNAL_Msk (1UL << SCB_DFSR_EXTERNAL_Pos)
632#define SCB_DFSR_VCATCH_Pos 3U
633#define SCB_DFSR_VCATCH_Msk (1UL << SCB_DFSR_VCATCH_Pos)
635#define SCB_DFSR_DWTTRAP_Pos 2U
636#define SCB_DFSR_DWTTRAP_Msk (1UL << SCB_DFSR_DWTTRAP_Pos)
638#define SCB_DFSR_BKPT_Pos 1U
639#define SCB_DFSR_BKPT_Msk (1UL << SCB_DFSR_BKPT_Pos)
641#define SCB_DFSR_HALTED_Pos 0U
642#define SCB_DFSR_HALTED_Msk (1UL )
659 uint32_t RESERVED0[1U];
661 __IOM uint32_t ACTLR;
665#define SCnSCB_ICTR_INTLINESNUM_Pos 0U
666#define SCnSCB_ICTR_INTLINESNUM_Msk (0xFUL )
669#define SCnSCB_ACTLR_DISFOLD_Pos 2U
670#define SCnSCB_ACTLR_DISFOLD_Msk (1UL << SCnSCB_ACTLR_DISFOLD_Pos)
672#define SCnSCB_ACTLR_DISDEFWBUF_Pos 1U
673#define SCnSCB_ACTLR_DISDEFWBUF_Msk (1UL << SCnSCB_ACTLR_DISDEFWBUF_Pos)
675#define SCnSCB_ACTLR_DISMCYCINT_Pos 0U
676#define SCnSCB_ACTLR_DISMCYCINT_Msk (1UL )
700#define SysTick_CTRL_COUNTFLAG_Pos 16U
701#define SysTick_CTRL_COUNTFLAG_Msk (1UL << SysTick_CTRL_COUNTFLAG_Pos)
703#define SysTick_CTRL_CLKSOURCE_Pos 2U
704#define SysTick_CTRL_CLKSOURCE_Msk (1UL << SysTick_CTRL_CLKSOURCE_Pos)
706#define SysTick_CTRL_TICKINT_Pos 1U
707#define SysTick_CTRL_TICKINT_Msk (1UL << SysTick_CTRL_TICKINT_Pos)
709#define SysTick_CTRL_ENABLE_Pos 0U
710#define SysTick_CTRL_ENABLE_Msk (1UL )
713#define SysTick_LOAD_RELOAD_Pos 0U
714#define SysTick_LOAD_RELOAD_Msk (0xFFFFFFUL )
717#define SysTick_VAL_CURRENT_Pos 0U
718#define SysTick_VAL_CURRENT_Msk (0xFFFFFFUL )
721#define SysTick_CALIB_NOREF_Pos 31U
722#define SysTick_CALIB_NOREF_Msk (1UL << SysTick_CALIB_NOREF_Pos)
724#define SysTick_CALIB_SKEW_Pos 30U
725#define SysTick_CALIB_SKEW_Msk (1UL << SysTick_CALIB_SKEW_Pos)
727#define SysTick_CALIB_TENMS_Pos 0U
728#define SysTick_CALIB_TENMS_Msk (0xFFFFFFUL )
751 uint32_t RESERVED0[864U];
753 uint32_t RESERVED1[15U];
755 uint32_t RESERVED2[15U];
757 uint32_t RESERVED3[32U];
758 uint32_t RESERVED4[43U];
761 uint32_t RESERVED5[6U];
777#define ITM_TPR_PRIVMASK_Pos 0U
778#define ITM_TPR_PRIVMASK_Msk (0xFUL )
781#define ITM_TCR_BUSY_Pos 23U
782#define ITM_TCR_BUSY_Msk (1UL << ITM_TCR_BUSY_Pos)
784#define ITM_TCR_TraceBusID_Pos 16U
785#define ITM_TCR_TraceBusID_Msk (0x7FUL << ITM_TCR_TraceBusID_Pos)
787#define ITM_TCR_GTSFREQ_Pos 10U
788#define ITM_TCR_GTSFREQ_Msk (3UL << ITM_TCR_GTSFREQ_Pos)
790#define ITM_TCR_TSPrescale_Pos 8U
791#define ITM_TCR_TSPrescale_Msk (3UL << ITM_TCR_TSPrescale_Pos)
793#define ITM_TCR_SWOENA_Pos 4U
794#define ITM_TCR_SWOENA_Msk (1UL << ITM_TCR_SWOENA_Pos)
796#define ITM_TCR_DWTENA_Pos 3U
797#define ITM_TCR_DWTENA_Msk (1UL << ITM_TCR_DWTENA_Pos)
799#define ITM_TCR_SYNCENA_Pos 2U
800#define ITM_TCR_SYNCENA_Msk (1UL << ITM_TCR_SYNCENA_Pos)
802#define ITM_TCR_TSENA_Pos 1U
803#define ITM_TCR_TSENA_Msk (1UL << ITM_TCR_TSENA_Pos)
805#define ITM_TCR_ITMENA_Pos 0U
806#define ITM_TCR_ITMENA_Msk (1UL )
809#define ITM_LSR_ByteAcc_Pos 2U
810#define ITM_LSR_ByteAcc_Msk (1UL << ITM_LSR_ByteAcc_Pos)
812#define ITM_LSR_Access_Pos 1U
813#define ITM_LSR_Access_Msk (1UL << ITM_LSR_Access_Pos)
815#define ITM_LSR_Present_Pos 0U
816#define ITM_LSR_Present_Msk (1UL )
834 __IOM uint32_t CYCCNT;
835 __IOM uint32_t CPICNT;
836 __IOM uint32_t EXCCNT;
837 __IOM uint32_t SLEEPCNT;
838 __IOM uint32_t LSUCNT;
839 __IOM uint32_t FOLDCNT;
841 __IOM uint32_t COMP0;
842 __IOM uint32_t MASK0;
843 __IOM uint32_t FUNCTION0;
844 uint32_t RESERVED0[1U];
846 __IOM uint32_t MASK1;
847 __IOM uint32_t FUNCTION1;
848 uint32_t RESERVED1[1U];
850 __IOM uint32_t MASK2;
851 __IOM uint32_t FUNCTION2;
852 uint32_t RESERVED2[1U];
853 __IOM uint32_t COMP3;
854 __IOM uint32_t MASK3;
855 __IOM uint32_t FUNCTION3;
859#define DWT_CTRL_NUMCOMP_Pos 28U
860#define DWT_CTRL_NUMCOMP_Msk (0xFUL << DWT_CTRL_NUMCOMP_Pos)
862#define DWT_CTRL_NOTRCPKT_Pos 27U
863#define DWT_CTRL_NOTRCPKT_Msk (0x1UL << DWT_CTRL_NOTRCPKT_Pos)
865#define DWT_CTRL_NOEXTTRIG_Pos 26U
866#define DWT_CTRL_NOEXTTRIG_Msk (0x1UL << DWT_CTRL_NOEXTTRIG_Pos)
868#define DWT_CTRL_NOCYCCNT_Pos 25U
869#define DWT_CTRL_NOCYCCNT_Msk (0x1UL << DWT_CTRL_NOCYCCNT_Pos)
871#define DWT_CTRL_NOPRFCNT_Pos 24U
872#define DWT_CTRL_NOPRFCNT_Msk (0x1UL << DWT_CTRL_NOPRFCNT_Pos)
874#define DWT_CTRL_CYCEVTENA_Pos 22U
875#define DWT_CTRL_CYCEVTENA_Msk (0x1UL << DWT_CTRL_CYCEVTENA_Pos)
877#define DWT_CTRL_FOLDEVTENA_Pos 21U
878#define DWT_CTRL_FOLDEVTENA_Msk (0x1UL << DWT_CTRL_FOLDEVTENA_Pos)
880#define DWT_CTRL_LSUEVTENA_Pos 20U
881#define DWT_CTRL_LSUEVTENA_Msk (0x1UL << DWT_CTRL_LSUEVTENA_Pos)
883#define DWT_CTRL_SLEEPEVTENA_Pos 19U
884#define DWT_CTRL_SLEEPEVTENA_Msk (0x1UL << DWT_CTRL_SLEEPEVTENA_Pos)
886#define DWT_CTRL_EXCEVTENA_Pos 18U
887#define DWT_CTRL_EXCEVTENA_Msk (0x1UL << DWT_CTRL_EXCEVTENA_Pos)
889#define DWT_CTRL_CPIEVTENA_Pos 17U
890#define DWT_CTRL_CPIEVTENA_Msk (0x1UL << DWT_CTRL_CPIEVTENA_Pos)
892#define DWT_CTRL_EXCTRCENA_Pos 16U
893#define DWT_CTRL_EXCTRCENA_Msk (0x1UL << DWT_CTRL_EXCTRCENA_Pos)
895#define DWT_CTRL_PCSAMPLENA_Pos 12U
896#define DWT_CTRL_PCSAMPLENA_Msk (0x1UL << DWT_CTRL_PCSAMPLENA_Pos)
898#define DWT_CTRL_SYNCTAP_Pos 10U
899#define DWT_CTRL_SYNCTAP_Msk (0x3UL << DWT_CTRL_SYNCTAP_Pos)
901#define DWT_CTRL_CYCTAP_Pos 9U
902#define DWT_CTRL_CYCTAP_Msk (0x1UL << DWT_CTRL_CYCTAP_Pos)
904#define DWT_CTRL_POSTINIT_Pos 5U
905#define DWT_CTRL_POSTINIT_Msk (0xFUL << DWT_CTRL_POSTINIT_Pos)
907#define DWT_CTRL_POSTPRESET_Pos 1U
908#define DWT_CTRL_POSTPRESET_Msk (0xFUL << DWT_CTRL_POSTPRESET_Pos)
910#define DWT_CTRL_CYCCNTENA_Pos 0U
911#define DWT_CTRL_CYCCNTENA_Msk (0x1UL )
914#define DWT_CPICNT_CPICNT_Pos 0U
915#define DWT_CPICNT_CPICNT_Msk (0xFFUL )
918#define DWT_EXCCNT_EXCCNT_Pos 0U
919#define DWT_EXCCNT_EXCCNT_Msk (0xFFUL )
922#define DWT_SLEEPCNT_SLEEPCNT_Pos 0U
923#define DWT_SLEEPCNT_SLEEPCNT_Msk (0xFFUL )
926#define DWT_LSUCNT_LSUCNT_Pos 0U
927#define DWT_LSUCNT_LSUCNT_Msk (0xFFUL )
930#define DWT_FOLDCNT_FOLDCNT_Pos 0U
931#define DWT_FOLDCNT_FOLDCNT_Msk (0xFFUL )
934#define DWT_MASK_MASK_Pos 0U
935#define DWT_MASK_MASK_Msk (0x1FUL )
938#define DWT_FUNCTION_MATCHED_Pos 24U
939#define DWT_FUNCTION_MATCHED_Msk (0x1UL << DWT_FUNCTION_MATCHED_Pos)
941#define DWT_FUNCTION_DATAVADDR1_Pos 16U
942#define DWT_FUNCTION_DATAVADDR1_Msk (0xFUL << DWT_FUNCTION_DATAVADDR1_Pos)
944#define DWT_FUNCTION_DATAVADDR0_Pos 12U
945#define DWT_FUNCTION_DATAVADDR0_Msk (0xFUL << DWT_FUNCTION_DATAVADDR0_Pos)
947#define DWT_FUNCTION_DATAVSIZE_Pos 10U
948#define DWT_FUNCTION_DATAVSIZE_Msk (0x3UL << DWT_FUNCTION_DATAVSIZE_Pos)
950#define DWT_FUNCTION_LNK1ENA_Pos 9U
951#define DWT_FUNCTION_LNK1ENA_Msk (0x1UL << DWT_FUNCTION_LNK1ENA_Pos)
953#define DWT_FUNCTION_DATAVMATCH_Pos 8U
954#define DWT_FUNCTION_DATAVMATCH_Msk (0x1UL << DWT_FUNCTION_DATAVMATCH_Pos)
956#define DWT_FUNCTION_CYCMATCH_Pos 7U
957#define DWT_FUNCTION_CYCMATCH_Msk (0x1UL << DWT_FUNCTION_CYCMATCH_Pos)
959#define DWT_FUNCTION_EMITRANGE_Pos 5U
960#define DWT_FUNCTION_EMITRANGE_Msk (0x1UL << DWT_FUNCTION_EMITRANGE_Pos)
962#define DWT_FUNCTION_FUNCTION_Pos 0U
963#define DWT_FUNCTION_FUNCTION_Msk (0xFUL )
981 __IOM uint32_t CSPSR;
982 uint32_t RESERVED0[2U];
984 uint32_t RESERVED1[55U];
986 uint32_t RESERVED2[131U];
990 uint32_t RESERVED3[759U];
991 __IM uint32_t TRIGGER;
993 __IM uint32_t ITATBCTR2;
994 uint32_t RESERVED4[1U];
995 __IM uint32_t ITATBCTR0;
997 __IOM uint32_t ITCTRL;
998 uint32_t RESERVED5[39U];
999 __IOM uint32_t CLAIMSET;
1000 __IOM uint32_t CLAIMCLR;
1001 uint32_t RESERVED7[8U];
1002 __IM uint32_t DEVID;
1003 __IM uint32_t DEVTYPE;
1007#define TPI_ACPR_PRESCALER_Pos 0U
1008#define TPI_ACPR_PRESCALER_Msk (0x1FFFUL )
1011#define TPI_SPPR_TXMODE_Pos 0U
1012#define TPI_SPPR_TXMODE_Msk (0x3UL )
1015#define TPI_FFSR_FtNonStop_Pos 3U
1016#define TPI_FFSR_FtNonStop_Msk (0x1UL << TPI_FFSR_FtNonStop_Pos)
1018#define TPI_FFSR_TCPresent_Pos 2U
1019#define TPI_FFSR_TCPresent_Msk (0x1UL << TPI_FFSR_TCPresent_Pos)
1021#define TPI_FFSR_FtStopped_Pos 1U
1022#define TPI_FFSR_FtStopped_Msk (0x1UL << TPI_FFSR_FtStopped_Pos)
1024#define TPI_FFSR_FlInProg_Pos 0U
1025#define TPI_FFSR_FlInProg_Msk (0x1UL )
1028#define TPI_FFCR_TrigIn_Pos 8U
1029#define TPI_FFCR_TrigIn_Msk (0x1UL << TPI_FFCR_TrigIn_Pos)
1031#define TPI_FFCR_EnFCont_Pos 1U
1032#define TPI_FFCR_EnFCont_Msk (0x1UL << TPI_FFCR_EnFCont_Pos)
1035#define TPI_TRIGGER_TRIGGER_Pos 0U
1036#define TPI_TRIGGER_TRIGGER_Msk (0x1UL )
1039#define TPI_FIFO0_ITM_ATVALID_Pos 29U
1040#define TPI_FIFO0_ITM_ATVALID_Msk (0x1UL << TPI_FIFO0_ITM_ATVALID_Pos)
1042#define TPI_FIFO0_ITM_bytecount_Pos 27U
1043#define TPI_FIFO0_ITM_bytecount_Msk (0x3UL << TPI_FIFO0_ITM_bytecount_Pos)
1045#define TPI_FIFO0_ETM_ATVALID_Pos 26U
1046#define TPI_FIFO0_ETM_ATVALID_Msk (0x1UL << TPI_FIFO0_ETM_ATVALID_Pos)
1048#define TPI_FIFO0_ETM_bytecount_Pos 24U
1049#define TPI_FIFO0_ETM_bytecount_Msk (0x3UL << TPI_FIFO0_ETM_bytecount_Pos)
1051#define TPI_FIFO0_ETM2_Pos 16U
1052#define TPI_FIFO0_ETM2_Msk (0xFFUL << TPI_FIFO0_ETM2_Pos)
1054#define TPI_FIFO0_ETM1_Pos 8U
1055#define TPI_FIFO0_ETM1_Msk (0xFFUL << TPI_FIFO0_ETM1_Pos)
1057#define TPI_FIFO0_ETM0_Pos 0U
1058#define TPI_FIFO0_ETM0_Msk (0xFFUL )
1061#define TPI_ITATBCTR2_ATREADY2_Pos 0U
1062#define TPI_ITATBCTR2_ATREADY2_Msk (0x1UL )
1064#define TPI_ITATBCTR2_ATREADY1_Pos 0U
1065#define TPI_ITATBCTR2_ATREADY1_Msk (0x1UL )
1068#define TPI_FIFO1_ITM_ATVALID_Pos 29U
1069#define TPI_FIFO1_ITM_ATVALID_Msk (0x1UL << TPI_FIFO1_ITM_ATVALID_Pos)
1071#define TPI_FIFO1_ITM_bytecount_Pos 27U
1072#define TPI_FIFO1_ITM_bytecount_Msk (0x3UL << TPI_FIFO1_ITM_bytecount_Pos)
1074#define TPI_FIFO1_ETM_ATVALID_Pos 26U
1075#define TPI_FIFO1_ETM_ATVALID_Msk (0x1UL << TPI_FIFO1_ETM_ATVALID_Pos)
1077#define TPI_FIFO1_ETM_bytecount_Pos 24U
1078#define TPI_FIFO1_ETM_bytecount_Msk (0x3UL << TPI_FIFO1_ETM_bytecount_Pos)
1080#define TPI_FIFO1_ITM2_Pos 16U
1081#define TPI_FIFO1_ITM2_Msk (0xFFUL << TPI_FIFO1_ITM2_Pos)
1083#define TPI_FIFO1_ITM1_Pos 8U
1084#define TPI_FIFO1_ITM1_Msk (0xFFUL << TPI_FIFO1_ITM1_Pos)
1086#define TPI_FIFO1_ITM0_Pos 0U
1087#define TPI_FIFO1_ITM0_Msk (0xFFUL )
1090#define TPI_ITATBCTR0_ATREADY2_Pos 0U
1091#define TPI_ITATBCTR0_ATREADY2_Msk (0x1UL )
1093#define TPI_ITATBCTR0_ATREADY1_Pos 0U
1094#define TPI_ITATBCTR0_ATREADY1_Msk (0x1UL )
1097#define TPI_ITCTRL_Mode_Pos 0U
1098#define TPI_ITCTRL_Mode_Msk (0x3UL )
1101#define TPI_DEVID_NRZVALID_Pos 11U
1102#define TPI_DEVID_NRZVALID_Msk (0x1UL << TPI_DEVID_NRZVALID_Pos)
1104#define TPI_DEVID_MANCVALID_Pos 10U
1105#define TPI_DEVID_MANCVALID_Msk (0x1UL << TPI_DEVID_MANCVALID_Pos)
1107#define TPI_DEVID_PTINVALID_Pos 9U
1108#define TPI_DEVID_PTINVALID_Msk (0x1UL << TPI_DEVID_PTINVALID_Pos)
1110#define TPI_DEVID_MinBufSz_Pos 6U
1111#define TPI_DEVID_MinBufSz_Msk (0x7UL << TPI_DEVID_MinBufSz_Pos)
1113#define TPI_DEVID_AsynClkIn_Pos 5U
1114#define TPI_DEVID_AsynClkIn_Msk (0x1UL << TPI_DEVID_AsynClkIn_Pos)
1116#define TPI_DEVID_NrTraceInput_Pos 0U
1117#define TPI_DEVID_NrTraceInput_Msk (0x1FUL )
1120#define TPI_DEVTYPE_SubType_Pos 4U
1121#define TPI_DEVTYPE_SubType_Msk (0xFUL )
1123#define TPI_DEVTYPE_MajorType_Pos 0U
1124#define TPI_DEVTYPE_MajorType_Msk (0xFUL << TPI_DEVTYPE_MajorType_Pos)
1129#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U)
1143 __IOM uint32_t CTRL;
1145 __IOM uint32_t RBAR;
1146 __IOM uint32_t RASR;
1147 __IOM uint32_t RBAR_A1;
1148 __IOM uint32_t RASR_A1;
1149 __IOM uint32_t RBAR_A2;
1150 __IOM uint32_t RASR_A2;
1151 __IOM uint32_t RBAR_A3;
1152 __IOM uint32_t RASR_A3;
1156#define MPU_TYPE_IREGION_Pos 16U
1157#define MPU_TYPE_IREGION_Msk (0xFFUL << MPU_TYPE_IREGION_Pos)
1159#define MPU_TYPE_DREGION_Pos 8U
1160#define MPU_TYPE_DREGION_Msk (0xFFUL << MPU_TYPE_DREGION_Pos)
1162#define MPU_TYPE_SEPARATE_Pos 0U
1163#define MPU_TYPE_SEPARATE_Msk (1UL )
1166#define MPU_CTRL_PRIVDEFENA_Pos 2U
1167#define MPU_CTRL_PRIVDEFENA_Msk (1UL << MPU_CTRL_PRIVDEFENA_Pos)
1169#define MPU_CTRL_HFNMIENA_Pos 1U
1170#define MPU_CTRL_HFNMIENA_Msk (1UL << MPU_CTRL_HFNMIENA_Pos)
1172#define MPU_CTRL_ENABLE_Pos 0U
1173#define MPU_CTRL_ENABLE_Msk (1UL )
1176#define MPU_RNR_REGION_Pos 0U
1177#define MPU_RNR_REGION_Msk (0xFFUL )
1180#define MPU_RBAR_ADDR_Pos 5U
1181#define MPU_RBAR_ADDR_Msk (0x7FFFFFFUL << MPU_RBAR_ADDR_Pos)
1183#define MPU_RBAR_VALID_Pos 4U
1184#define MPU_RBAR_VALID_Msk (1UL << MPU_RBAR_VALID_Pos)
1186#define MPU_RBAR_REGION_Pos 0U
1187#define MPU_RBAR_REGION_Msk (0xFUL )
1190#define MPU_RASR_ATTRS_Pos 16U
1191#define MPU_RASR_ATTRS_Msk (0xFFFFUL << MPU_RASR_ATTRS_Pos)
1193#define MPU_RASR_XN_Pos 28U
1194#define MPU_RASR_XN_Msk (1UL << MPU_RASR_XN_Pos)
1196#define MPU_RASR_AP_Pos 24U
1197#define MPU_RASR_AP_Msk (0x7UL << MPU_RASR_AP_Pos)
1199#define MPU_RASR_TEX_Pos 19U
1200#define MPU_RASR_TEX_Msk (0x7UL << MPU_RASR_TEX_Pos)
1202#define MPU_RASR_S_Pos 18U
1203#define MPU_RASR_S_Msk (1UL << MPU_RASR_S_Pos)
1205#define MPU_RASR_C_Pos 17U
1206#define MPU_RASR_C_Msk (1UL << MPU_RASR_C_Pos)
1208#define MPU_RASR_B_Pos 16U
1209#define MPU_RASR_B_Msk (1UL << MPU_RASR_B_Pos)
1211#define MPU_RASR_SRD_Pos 8U
1212#define MPU_RASR_SRD_Msk (0xFFUL << MPU_RASR_SRD_Pos)
1214#define MPU_RASR_SIZE_Pos 1U
1215#define MPU_RASR_SIZE_Msk (0x1FUL << MPU_RASR_SIZE_Pos)
1217#define MPU_RASR_ENABLE_Pos 0U
1218#define MPU_RASR_ENABLE_Msk (1UL )
1236 __IOM uint32_t DHCSR;
1237 __OM uint32_t DCRSR;
1238 __IOM uint32_t DCRDR;
1239 __IOM uint32_t DEMCR;
1243#define CoreDebug_DHCSR_DBGKEY_Pos 16U
1244#define CoreDebug_DHCSR_DBGKEY_Msk (0xFFFFUL << CoreDebug_DHCSR_DBGKEY_Pos)
1246#define CoreDebug_DHCSR_S_RESET_ST_Pos 25U
1247#define CoreDebug_DHCSR_S_RESET_ST_Msk (1UL << CoreDebug_DHCSR_S_RESET_ST_Pos)
1249#define CoreDebug_DHCSR_S_RETIRE_ST_Pos 24U
1250#define CoreDebug_DHCSR_S_RETIRE_ST_Msk (1UL << CoreDebug_DHCSR_S_RETIRE_ST_Pos)
1252#define CoreDebug_DHCSR_S_LOCKUP_Pos 19U
1253#define CoreDebug_DHCSR_S_LOCKUP_Msk (1UL << CoreDebug_DHCSR_S_LOCKUP_Pos)
1255#define CoreDebug_DHCSR_S_SLEEP_Pos 18U
1256#define CoreDebug_DHCSR_S_SLEEP_Msk (1UL << CoreDebug_DHCSR_S_SLEEP_Pos)
1258#define CoreDebug_DHCSR_S_HALT_Pos 17U
1259#define CoreDebug_DHCSR_S_HALT_Msk (1UL << CoreDebug_DHCSR_S_HALT_Pos)
1261#define CoreDebug_DHCSR_S_REGRDY_Pos 16U
1262#define CoreDebug_DHCSR_S_REGRDY_Msk (1UL << CoreDebug_DHCSR_S_REGRDY_Pos)
1264#define CoreDebug_DHCSR_C_SNAPSTALL_Pos 5U
1265#define CoreDebug_DHCSR_C_SNAPSTALL_Msk (1UL << CoreDebug_DHCSR_C_SNAPSTALL_Pos)
1267#define CoreDebug_DHCSR_C_MASKINTS_Pos 3U
1268#define CoreDebug_DHCSR_C_MASKINTS_Msk (1UL << CoreDebug_DHCSR_C_MASKINTS_Pos)
1270#define CoreDebug_DHCSR_C_STEP_Pos 2U
1271#define CoreDebug_DHCSR_C_STEP_Msk (1UL << CoreDebug_DHCSR_C_STEP_Pos)
1273#define CoreDebug_DHCSR_C_HALT_Pos 1U
1274#define CoreDebug_DHCSR_C_HALT_Msk (1UL << CoreDebug_DHCSR_C_HALT_Pos)
1276#define CoreDebug_DHCSR_C_DEBUGEN_Pos 0U
1277#define CoreDebug_DHCSR_C_DEBUGEN_Msk (1UL )
1280#define CoreDebug_DCRSR_REGWnR_Pos 16U
1281#define CoreDebug_DCRSR_REGWnR_Msk (1UL << CoreDebug_DCRSR_REGWnR_Pos)
1283#define CoreDebug_DCRSR_REGSEL_Pos 0U
1284#define CoreDebug_DCRSR_REGSEL_Msk (0x1FUL )
1287#define CoreDebug_DEMCR_TRCENA_Pos 24U
1288#define CoreDebug_DEMCR_TRCENA_Msk (1UL << CoreDebug_DEMCR_TRCENA_Pos)
1290#define CoreDebug_DEMCR_MON_REQ_Pos 19U
1291#define CoreDebug_DEMCR_MON_REQ_Msk (1UL << CoreDebug_DEMCR_MON_REQ_Pos)
1293#define CoreDebug_DEMCR_MON_STEP_Pos 18U
1294#define CoreDebug_DEMCR_MON_STEP_Msk (1UL << CoreDebug_DEMCR_MON_STEP_Pos)
1296#define CoreDebug_DEMCR_MON_PEND_Pos 17U
1297#define CoreDebug_DEMCR_MON_PEND_Msk (1UL << CoreDebug_DEMCR_MON_PEND_Pos)
1299#define CoreDebug_DEMCR_MON_EN_Pos 16U
1300#define CoreDebug_DEMCR_MON_EN_Msk (1UL << CoreDebug_DEMCR_MON_EN_Pos)
1302#define CoreDebug_DEMCR_VC_HARDERR_Pos 10U
1303#define CoreDebug_DEMCR_VC_HARDERR_Msk (1UL << CoreDebug_DEMCR_VC_HARDERR_Pos)
1305#define CoreDebug_DEMCR_VC_INTERR_Pos 9U
1306#define CoreDebug_DEMCR_VC_INTERR_Msk (1UL << CoreDebug_DEMCR_VC_INTERR_Pos)
1308#define CoreDebug_DEMCR_VC_BUSERR_Pos 8U
1309#define CoreDebug_DEMCR_VC_BUSERR_Msk (1UL << CoreDebug_DEMCR_VC_BUSERR_Pos)
1311#define CoreDebug_DEMCR_VC_STATERR_Pos 7U
1312#define CoreDebug_DEMCR_VC_STATERR_Msk (1UL << CoreDebug_DEMCR_VC_STATERR_Pos)
1314#define CoreDebug_DEMCR_VC_CHKERR_Pos 6U
1315#define CoreDebug_DEMCR_VC_CHKERR_Msk (1UL << CoreDebug_DEMCR_VC_CHKERR_Pos)
1317#define CoreDebug_DEMCR_VC_NOCPERR_Pos 5U
1318#define CoreDebug_DEMCR_VC_NOCPERR_Msk (1UL << CoreDebug_DEMCR_VC_NOCPERR_Pos)
1320#define CoreDebug_DEMCR_VC_MMERR_Pos 4U
1321#define CoreDebug_DEMCR_VC_MMERR_Msk (1UL << CoreDebug_DEMCR_VC_MMERR_Pos)
1323#define CoreDebug_DEMCR_VC_CORERESET_Pos 0U
1324#define CoreDebug_DEMCR_VC_CORERESET_Msk (1UL )
1342#define _VAL2FLD(field, value) (((uint32_t)(value) << field ## _Pos) & field ## _Msk)
1350#define _FLD2VAL(field, value) (((uint32_t)(value) & field ## _Msk) >> field ## _Pos)
1363#define SCS_BASE (0xE000E000UL)
1364#define ITM_BASE (0xE0000000UL)
1365#define DWT_BASE (0xE0001000UL)
1366#define TPI_BASE (0xE0040000UL)
1367#define CoreDebug_BASE (0xE000EDF0UL)
1368#define SysTick_BASE (SCS_BASE + 0x0010UL)
1369#define NVIC_BASE (SCS_BASE + 0x0100UL)
1370#define SCB_BASE (SCS_BASE + 0x0D00UL)
1372#define SCnSCB ((SCnSCB_Type *) SCS_BASE )
1373#define SCB ((SCB_Type *) SCB_BASE )
1374#define SysTick ((SysTick_Type *) SysTick_BASE )
1375#define NVIC ((NVIC_Type *) NVIC_BASE )
1376#define ITM ((ITM_Type *) ITM_BASE )
1377#define DWT ((DWT_Type *) DWT_BASE )
1378#define TPI ((TPI_Type *) TPI_BASE )
1379#define CoreDebug ((CoreDebug_Type *) CoreDebug_BASE)
1381#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U)
1382 #define MPU_BASE (SCS_BASE + 0x0D90UL)
1383 #define MPU ((MPU_Type *) MPU_BASE )
1412#ifdef CMSIS_NVIC_VIRTUAL
1413 #ifndef CMSIS_NVIC_VIRTUAL_HEADER_FILE
1414 #define CMSIS_NVIC_VIRTUAL_HEADER_FILE "cmsis_nvic_virtual.h"
1416 #include CMSIS_NVIC_VIRTUAL_HEADER_FILE
1418 #define NVIC_SetPriorityGrouping __NVIC_SetPriorityGrouping
1419 #define NVIC_GetPriorityGrouping __NVIC_GetPriorityGrouping
1420 #define NVIC_EnableIRQ __NVIC_EnableIRQ
1421 #define NVIC_GetEnableIRQ __NVIC_GetEnableIRQ
1422 #define NVIC_DisableIRQ __NVIC_DisableIRQ
1423 #define NVIC_GetPendingIRQ __NVIC_GetPendingIRQ
1424 #define NVIC_SetPendingIRQ __NVIC_SetPendingIRQ
1425 #define NVIC_ClearPendingIRQ __NVIC_ClearPendingIRQ
1426 #define NVIC_GetActive __NVIC_GetActive
1427 #define NVIC_SetPriority __NVIC_SetPriority
1428 #define NVIC_GetPriority __NVIC_GetPriority
1429 #define NVIC_SystemReset __NVIC_SystemReset
1432#ifdef CMSIS_VECTAB_VIRTUAL
1433 #ifndef CMSIS_VECTAB_VIRTUAL_HEADER_FILE
1434 #define CMSIS_VECTAB_VIRTUAL_HEADER_FILE "cmsis_vectab_virtual.h"
1436 #include CMSIS_VECTAB_VIRTUAL_HEADER_FILE
1438 #define NVIC_SetVector __NVIC_SetVector
1439 #define NVIC_GetVector __NVIC_GetVector
1442#define NVIC_USER_IRQ_OFFSET 16
1446#define EXC_RETURN_HANDLER (0xFFFFFFF1UL)
1447#define EXC_RETURN_THREAD_MSP (0xFFFFFFF9UL)
1448#define EXC_RETURN_THREAD_PSP (0xFFFFFFFDUL)
1463 uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL);
1465 reg_value =
SCB->AIRCR;
1467 reg_value = (reg_value |
1470 SCB->AIRCR = reg_value;
1493 if ((int32_t)(IRQn) >= 0)
1496 NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
1512 if ((int32_t)(IRQn) >= 0)
1514 return((uint32_t)(((
NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
1531 if ((int32_t)(IRQn) >= 0)
1533 NVIC->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
1550 if ((int32_t)(IRQn) >= 0)
1552 return((uint32_t)(((
NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
1569 if ((int32_t)(IRQn) >= 0)
1571 NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
1584 if ((int32_t)(IRQn) >= 0)
1586 NVIC->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
1601 if ((int32_t)(IRQn) >= 0)
1603 return((uint32_t)(((
NVIC->IABR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
1623 if ((int32_t)(IRQn) >= 0)
1625 NVIC->IP[((uint32_t)IRQn)] = (uint8_t)((priority << (8U -
__NVIC_PRIO_BITS)) & (uint32_t)0xFFUL);
1629 SCB->SHP[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U -
__NVIC_PRIO_BITS)) & (uint32_t)0xFFUL);
1646 if ((int32_t)(IRQn) >= 0)
1670 uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL);
1671 uint32_t PreemptPriorityBits;
1672 uint32_t SubPriorityBits;
1675 SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(
__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(
__NVIC_PRIO_BITS));
1678 ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) |
1679 ((SubPriority & (uint32_t)((1UL << (SubPriorityBits )) - 1UL)))
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));
1704 *pPreemptPriority = (Priority >> SubPriorityBits) & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL);
1705 *pSubPriority = (Priority ) & (uint32_t)((1UL << (SubPriorityBits )) - 1UL);
1720 uint32_t *vectors = (uint32_t *)
SCB->VTOR;
1736 uint32_t *vectors = (uint32_t *)
SCB->VTOR;
1797#if defined (__Vendor_SysTickConfig) && (__Vendor_SysTickConfig == 0U)
1817 SysTick->LOAD = (uint32_t)(ticks - 1UL);
1841#define ITM_RXBUFFER_EMPTY ((int32_t)0x5AA55AA5U)
1855 ((
ITM->TER & 1UL ) != 0UL) )
1857 while (
ITM->PORT[0U].u32 == 0UL)
1861 ITM->PORT[0U].u8 = (uint8_t)
ch;
#define __COMPILER_BARRIER()
CMSIS compiler generic header file.
CMSIS Core(M) Version definitions.
#define SysTick_CTRL_ENABLE_Msk
SysTick CTRL: ENABLE Mask.
#define SysTick_LOAD_RELOAD_Msk
SysTick LOAD: RELOAD Mask.
#define ITM_TCR_ITMENA_Msk
ITM TCR: ITM Enable bit Mask.
#define SCB_AIRCR_PRIGROUP_Msk
SCB AIRCR: PRIGROUP Mask.
#define SCB_AIRCR_VECTKEY_Msk
SCB AIRCR: VECTKEY 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 SCB_AIRCR_SYSRESETREQ_Msk
SCB AIRCR: SYSRESETREQ Mask.
#define ITM
ITM configuration struct.
#define NVIC
NVIC configuration struct.
#define SCB_AIRCR_PRIGROUP_Pos
SCB AIRCR: PRIGROUP Position.
#define SysTick
SysTick configuration struct.
#define __NVIC_SetPriorityGrouping(X)
#define __NVIC_GetPriorityGrouping()
Get Priority Grouping.
#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 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 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.
uint32_t _reserved1
bit: 16..23 Reserved
uint32_t _reserved0
bit: 9 Reserved
uint32_t C
bit: 29 Carry condition code flag
volatile int32_t ITM_RxBuffer
External variable to receive characters.
uint32_t N
bit: 31 Negative condition code flag
uint32_t _reserved0
bit: 9..31 Reserved
uint32_t ICI_IT_2
bit: 25..26 ICI/IT part 2
uint32_t Q
bit: 27 Saturation condition flag
uint32_t C
bit: 29 Carry condition code flag
__OM uint16_t u16
Offset: 0x000 ( /W) ITM Stimulus Port 16-bit.
uint32_t ICI_IT_1
bit: 10..15 ICI/IT part 1
__OM uint32_t u32
Offset: 0x000 ( /W) ITM Stimulus Port 32-bit.
uint32_t Q
bit: 27 Saturation condition flag
__OM uint8_t u8
Offset: 0x000 ( /W) ITM Stimulus Port 8-bit.
uint32_t N
bit: 31 Negative condition code flag
uint32_t nPRIV
bit: 0 Execution privilege in Thread mode
uint32_t Z
bit: 30 Zero condition code flag
uint32_t Z
bit: 30 Zero condition code flag
#define ITM_RXBUFFER_EMPTY
Value identifying ITM_RxBuffer is ready for next character.
__STATIC_INLINE int32_t ITM_ReceiveChar(void)
ITM Receive Character.
uint32_t V
bit: 28 Overflow condition code flag
__STATIC_INLINE uint32_t ITM_SendChar(uint32_t ch)
ITM Send Character.
uint32_t _reserved1
bit: 2..31 Reserved
uint32_t T
bit: 24 Thumb bit
__STATIC_INLINE int32_t ITM_CheckChar(void)
ITM Check Character.
uint32_t _reserved0
bit: 0..26 Reserved
uint32_t SPSEL
bit: 1 Stack to be used
uint32_t V
bit: 28 Overflow condition code 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 Core Debug Register (CoreDebug).
Structure type to access the Data Watchpoint and Trace Register (DWT).
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).