25 #if defined ( __ICCARM__ ) 26 #pragma system_include 27 #elif defined (__clang__) 28 #pragma clang system_header 31 #ifndef __CORE_CM7_H_GENERIC 32 #define __CORE_CM7_H_GENERIC 66 #define __CM7_CMSIS_VERSION_MAIN (__CM_CMSIS_VERSION_MAIN) 67 #define __CM7_CMSIS_VERSION_SUB ( __CM_CMSIS_VERSION_SUB) 68 #define __CM7_CMSIS_VERSION ((__CM7_CMSIS_VERSION_MAIN << 16U) | \ 69 __CM7_CMSIS_VERSION_SUB ) 71 #define __CORTEX_M (7U) 76 #if defined ( __CC_ARM ) 77 #if defined __TARGET_FPU_VFP 78 #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) 81 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" 88 #elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) 89 #if defined __ARM_PCS_VFP 90 #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) 93 #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" 100 #elif defined ( __GNUC__ ) 101 #if defined (__VFP_FP__) && !defined(__SOFTFP__) 102 #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) 103 #define __FPU_USED 1U 105 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" 106 #define __FPU_USED 0U 109 #define __FPU_USED 0U 112 #elif defined ( __ICCARM__ ) 113 #if defined __ARMVFP__ 114 #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) 115 #define __FPU_USED 1U 117 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" 118 #define __FPU_USED 0U 121 #define __FPU_USED 0U 124 #elif defined ( __TI_ARM__ ) 125 #if defined __TI_VFP_SUPPORT__ 126 #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) 127 #define __FPU_USED 1U 129 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" 130 #define __FPU_USED 0U 133 #define __FPU_USED 0U 136 #elif defined ( __TASKING__ ) 137 #if defined __FPU_VFP__ 138 #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) 139 #define __FPU_USED 1U 141 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" 142 #define __FPU_USED 0U 145 #define __FPU_USED 0U 148 #elif defined ( __CSMC__ ) 149 #if ( __CSMC__ & 0x400U) 150 #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) 151 #define __FPU_USED 1U 153 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" 154 #define __FPU_USED 0U 157 #define __FPU_USED 0U 171 #ifndef __CMSIS_GENERIC 173 #ifndef __CORE_CM7_H_DEPENDANT 174 #define __CORE_CM7_H_DEPENDANT 181 #if defined __CHECK_DEVICE_DEFINES 183 #define __CM7_REV 0x0000U 184 #warning "__CM7_REV not defined in device header file; using default!" 187 #ifndef __FPU_PRESENT 188 #define __FPU_PRESENT 0U 189 #warning "__FPU_PRESENT not defined in device header file; using default!" 192 #ifndef __MPU_PRESENT 193 #define __MPU_PRESENT 0U 194 #warning "__MPU_PRESENT not defined in device header file; using default!" 197 #ifndef __ICACHE_PRESENT 198 #define __ICACHE_PRESENT 0U 199 #warning "__ICACHE_PRESENT not defined in device header file; using default!" 202 #ifndef __DCACHE_PRESENT 203 #define __DCACHE_PRESENT 0U 204 #warning "__DCACHE_PRESENT not defined in device header file; using default!" 207 #ifndef __DTCM_PRESENT 208 #define __DTCM_PRESENT 0U 209 #warning "__DTCM_PRESENT not defined in device header file; using default!" 212 #ifndef __NVIC_PRIO_BITS 213 #define __NVIC_PRIO_BITS 3U 214 #warning "__NVIC_PRIO_BITS not defined in device header file; using default!" 217 #ifndef __Vendor_SysTickConfig 218 #define __Vendor_SysTickConfig 0U 219 #warning "__Vendor_SysTickConfig not defined in device header file; using default!" 234 #define __I volatile const 237 #define __IO volatile 240 #define __IM volatile const 241 #define __OM volatile 242 #define __IOM volatile 278 uint32_t _reserved0:16;
280 uint32_t _reserved1:7;
291 #define APSR_N_Pos 31U 292 #define APSR_N_Msk (1UL << APSR_N_Pos) 294 #define APSR_Z_Pos 30U 295 #define APSR_Z_Msk (1UL << APSR_Z_Pos) 297 #define APSR_C_Pos 29U 298 #define APSR_C_Msk (1UL << APSR_C_Pos) 300 #define APSR_V_Pos 28U 301 #define APSR_V_Msk (1UL << APSR_V_Pos) 303 #define APSR_Q_Pos 27U 304 #define APSR_Q_Msk (1UL << APSR_Q_Pos) 306 #define APSR_GE_Pos 16U 307 #define APSR_GE_Msk (0xFUL << APSR_GE_Pos) 318 uint32_t _reserved0:23;
324 #define IPSR_ISR_Pos 0U 325 #define IPSR_ISR_Msk (0x1FFUL ) 336 uint32_t _reserved0:1;
339 uint32_t _reserved1:4;
352 #define xPSR_N_Pos 31U 353 #define xPSR_N_Msk (1UL << xPSR_N_Pos) 355 #define xPSR_Z_Pos 30U 356 #define xPSR_Z_Msk (1UL << xPSR_Z_Pos) 358 #define xPSR_C_Pos 29U 359 #define xPSR_C_Msk (1UL << xPSR_C_Pos) 361 #define xPSR_V_Pos 28U 362 #define xPSR_V_Msk (1UL << xPSR_V_Pos) 364 #define xPSR_Q_Pos 27U 365 #define xPSR_Q_Msk (1UL << xPSR_Q_Pos) 367 #define xPSR_ICI_IT_2_Pos 25U 368 #define xPSR_ICI_IT_2_Msk (3UL << xPSR_ICI_IT_2_Pos) 370 #define xPSR_T_Pos 24U 371 #define xPSR_T_Msk (1UL << xPSR_T_Pos) 373 #define xPSR_GE_Pos 16U 374 #define xPSR_GE_Msk (0xFUL << xPSR_GE_Pos) 376 #define xPSR_ICI_IT_1_Pos 10U 377 #define xPSR_ICI_IT_1_Msk (0x3FUL << xPSR_ICI_IT_1_Pos) 379 #define xPSR_ISR_Pos 0U 380 #define xPSR_ISR_Msk (0x1FFUL ) 393 uint32_t _reserved0:29;
399 #define CONTROL_FPCA_Pos 2U 400 #define CONTROL_FPCA_Msk (1UL << CONTROL_FPCA_Pos) 402 #define CONTROL_SPSEL_Pos 1U 403 #define CONTROL_SPSEL_Msk (1UL << CONTROL_SPSEL_Pos) 405 #define CONTROL_nPRIV_Pos 0U 406 #define CONTROL_nPRIV_Msk (1UL ) 423 __IOM uint32_t ISER[8U];
424 uint32_t RESERVED0[24U];
425 __IOM uint32_t ICER[8U];
426 uint32_t RSERVED1[24U];
427 __IOM uint32_t ISPR[8U];
428 uint32_t RESERVED2[24U];
429 __IOM uint32_t ICPR[8U];
430 uint32_t RESERVED3[24U];
431 __IOM uint32_t IABR[8U];
432 uint32_t RESERVED4[56U];
433 __IOM uint8_t IP[240U];
434 uint32_t RESERVED5[644U];
439 #define NVIC_STIR_INTID_Pos 0U 440 #define NVIC_STIR_INTID_Msk (0x1FFUL ) 460 __IOM uint32_t AIRCR;
463 __IOM uint8_t SHPR[12U];
464 __IOM uint32_t SHCSR;
468 __IOM uint32_t MMFAR;
471 __IM uint32_t ID_PFR[2U];
472 __IM uint32_t ID_DFR;
473 __IM uint32_t ID_AFR;
474 __IM uint32_t ID_MFR[4U];
475 __IM uint32_t ID_ISAR[5U];
476 uint32_t RESERVED0[1U];
479 __IM uint32_t CCSIDR;
480 __IOM uint32_t CSSELR;
481 __IOM uint32_t CPACR;
482 uint32_t RESERVED3[93U];
484 uint32_t RESERVED4[15U];
488 uint32_t RESERVED5[1U];
489 __OM uint32_t ICIALLU;
490 uint32_t RESERVED6[1U];
491 __OM uint32_t ICIMVAU;
492 __OM uint32_t DCIMVAC;
494 __OM uint32_t DCCMVAU;
495 __OM uint32_t DCCMVAC;
497 __OM uint32_t DCCIMVAC;
498 __OM uint32_t DCCISW;
499 uint32_t RESERVED7[6U];
500 __IOM uint32_t ITCMCR;
501 __IOM uint32_t DTCMCR;
502 __IOM uint32_t AHBPCR;
504 __IOM uint32_t AHBSCR;
505 uint32_t RESERVED8[1U];
506 __IOM uint32_t ABFSR;
510 #define SCB_CPUID_IMPLEMENTER_Pos 24U 511 #define SCB_CPUID_IMPLEMENTER_Msk (0xFFUL << SCB_CPUID_IMPLEMENTER_Pos) 513 #define SCB_CPUID_VARIANT_Pos 20U 514 #define SCB_CPUID_VARIANT_Msk (0xFUL << SCB_CPUID_VARIANT_Pos) 516 #define SCB_CPUID_ARCHITECTURE_Pos 16U 517 #define SCB_CPUID_ARCHITECTURE_Msk (0xFUL << SCB_CPUID_ARCHITECTURE_Pos) 519 #define SCB_CPUID_PARTNO_Pos 4U 520 #define SCB_CPUID_PARTNO_Msk (0xFFFUL << SCB_CPUID_PARTNO_Pos) 522 #define SCB_CPUID_REVISION_Pos 0U 523 #define SCB_CPUID_REVISION_Msk (0xFUL ) 526 #define SCB_ICSR_NMIPENDSET_Pos 31U 527 #define SCB_ICSR_NMIPENDSET_Msk (1UL << SCB_ICSR_NMIPENDSET_Pos) 529 #define SCB_ICSR_PENDSVSET_Pos 28U 530 #define SCB_ICSR_PENDSVSET_Msk (1UL << SCB_ICSR_PENDSVSET_Pos) 532 #define SCB_ICSR_PENDSVCLR_Pos 27U 533 #define SCB_ICSR_PENDSVCLR_Msk (1UL << SCB_ICSR_PENDSVCLR_Pos) 535 #define SCB_ICSR_PENDSTSET_Pos 26U 536 #define SCB_ICSR_PENDSTSET_Msk (1UL << SCB_ICSR_PENDSTSET_Pos) 538 #define SCB_ICSR_PENDSTCLR_Pos 25U 539 #define SCB_ICSR_PENDSTCLR_Msk (1UL << SCB_ICSR_PENDSTCLR_Pos) 541 #define SCB_ICSR_ISRPREEMPT_Pos 23U 542 #define SCB_ICSR_ISRPREEMPT_Msk (1UL << SCB_ICSR_ISRPREEMPT_Pos) 544 #define SCB_ICSR_ISRPENDING_Pos 22U 545 #define SCB_ICSR_ISRPENDING_Msk (1UL << SCB_ICSR_ISRPENDING_Pos) 547 #define SCB_ICSR_VECTPENDING_Pos 12U 548 #define SCB_ICSR_VECTPENDING_Msk (0x1FFUL << SCB_ICSR_VECTPENDING_Pos) 550 #define SCB_ICSR_RETTOBASE_Pos 11U 551 #define SCB_ICSR_RETTOBASE_Msk (1UL << SCB_ICSR_RETTOBASE_Pos) 553 #define SCB_ICSR_VECTACTIVE_Pos 0U 554 #define SCB_ICSR_VECTACTIVE_Msk (0x1FFUL ) 557 #define SCB_VTOR_TBLOFF_Pos 7U 558 #define SCB_VTOR_TBLOFF_Msk (0x1FFFFFFUL << SCB_VTOR_TBLOFF_Pos) 561 #define SCB_AIRCR_VECTKEY_Pos 16U 562 #define SCB_AIRCR_VECTKEY_Msk (0xFFFFUL << SCB_AIRCR_VECTKEY_Pos) 564 #define SCB_AIRCR_VECTKEYSTAT_Pos 16U 565 #define SCB_AIRCR_VECTKEYSTAT_Msk (0xFFFFUL << SCB_AIRCR_VECTKEYSTAT_Pos) 567 #define SCB_AIRCR_ENDIANESS_Pos 15U 568 #define SCB_AIRCR_ENDIANESS_Msk (1UL << SCB_AIRCR_ENDIANESS_Pos) 570 #define SCB_AIRCR_PRIGROUP_Pos 8U 571 #define SCB_AIRCR_PRIGROUP_Msk (7UL << SCB_AIRCR_PRIGROUP_Pos) 573 #define SCB_AIRCR_SYSRESETREQ_Pos 2U 574 #define SCB_AIRCR_SYSRESETREQ_Msk (1UL << SCB_AIRCR_SYSRESETREQ_Pos) 576 #define SCB_AIRCR_VECTCLRACTIVE_Pos 1U 577 #define SCB_AIRCR_VECTCLRACTIVE_Msk (1UL << SCB_AIRCR_VECTCLRACTIVE_Pos) 579 #define SCB_AIRCR_VECTRESET_Pos 0U 580 #define SCB_AIRCR_VECTRESET_Msk (1UL ) 583 #define SCB_SCR_SEVONPEND_Pos 4U 584 #define SCB_SCR_SEVONPEND_Msk (1UL << SCB_SCR_SEVONPEND_Pos) 586 #define SCB_SCR_SLEEPDEEP_Pos 2U 587 #define SCB_SCR_SLEEPDEEP_Msk (1UL << SCB_SCR_SLEEPDEEP_Pos) 589 #define SCB_SCR_SLEEPONEXIT_Pos 1U 590 #define SCB_SCR_SLEEPONEXIT_Msk (1UL << SCB_SCR_SLEEPONEXIT_Pos) 593 #define SCB_CCR_BP_Pos 18U 594 #define SCB_CCR_BP_Msk (1UL << SCB_CCR_BP_Pos) 596 #define SCB_CCR_IC_Pos 17U 597 #define SCB_CCR_IC_Msk (1UL << SCB_CCR_IC_Pos) 599 #define SCB_CCR_DC_Pos 16U 600 #define SCB_CCR_DC_Msk (1UL << SCB_CCR_DC_Pos) 602 #define SCB_CCR_STKALIGN_Pos 9U 603 #define SCB_CCR_STKALIGN_Msk (1UL << SCB_CCR_STKALIGN_Pos) 605 #define SCB_CCR_BFHFNMIGN_Pos 8U 606 #define SCB_CCR_BFHFNMIGN_Msk (1UL << SCB_CCR_BFHFNMIGN_Pos) 608 #define SCB_CCR_DIV_0_TRP_Pos 4U 609 #define SCB_CCR_DIV_0_TRP_Msk (1UL << SCB_CCR_DIV_0_TRP_Pos) 611 #define SCB_CCR_UNALIGN_TRP_Pos 3U 612 #define SCB_CCR_UNALIGN_TRP_Msk (1UL << SCB_CCR_UNALIGN_TRP_Pos) 614 #define SCB_CCR_USERSETMPEND_Pos 1U 615 #define SCB_CCR_USERSETMPEND_Msk (1UL << SCB_CCR_USERSETMPEND_Pos) 617 #define SCB_CCR_NONBASETHRDENA_Pos 0U 618 #define SCB_CCR_NONBASETHRDENA_Msk (1UL ) 621 #define SCB_SHCSR_USGFAULTENA_Pos 18U 622 #define SCB_SHCSR_USGFAULTENA_Msk (1UL << SCB_SHCSR_USGFAULTENA_Pos) 624 #define SCB_SHCSR_BUSFAULTENA_Pos 17U 625 #define SCB_SHCSR_BUSFAULTENA_Msk (1UL << SCB_SHCSR_BUSFAULTENA_Pos) 627 #define SCB_SHCSR_MEMFAULTENA_Pos 16U 628 #define SCB_SHCSR_MEMFAULTENA_Msk (1UL << SCB_SHCSR_MEMFAULTENA_Pos) 630 #define SCB_SHCSR_SVCALLPENDED_Pos 15U 631 #define SCB_SHCSR_SVCALLPENDED_Msk (1UL << SCB_SHCSR_SVCALLPENDED_Pos) 633 #define SCB_SHCSR_BUSFAULTPENDED_Pos 14U 634 #define SCB_SHCSR_BUSFAULTPENDED_Msk (1UL << SCB_SHCSR_BUSFAULTPENDED_Pos) 636 #define SCB_SHCSR_MEMFAULTPENDED_Pos 13U 637 #define SCB_SHCSR_MEMFAULTPENDED_Msk (1UL << SCB_SHCSR_MEMFAULTPENDED_Pos) 639 #define SCB_SHCSR_USGFAULTPENDED_Pos 12U 640 #define SCB_SHCSR_USGFAULTPENDED_Msk (1UL << SCB_SHCSR_USGFAULTPENDED_Pos) 642 #define SCB_SHCSR_SYSTICKACT_Pos 11U 643 #define SCB_SHCSR_SYSTICKACT_Msk (1UL << SCB_SHCSR_SYSTICKACT_Pos) 645 #define SCB_SHCSR_PENDSVACT_Pos 10U 646 #define SCB_SHCSR_PENDSVACT_Msk (1UL << SCB_SHCSR_PENDSVACT_Pos) 648 #define SCB_SHCSR_MONITORACT_Pos 8U 649 #define SCB_SHCSR_MONITORACT_Msk (1UL << SCB_SHCSR_MONITORACT_Pos) 651 #define SCB_SHCSR_SVCALLACT_Pos 7U 652 #define SCB_SHCSR_SVCALLACT_Msk (1UL << SCB_SHCSR_SVCALLACT_Pos) 654 #define SCB_SHCSR_USGFAULTACT_Pos 3U 655 #define SCB_SHCSR_USGFAULTACT_Msk (1UL << SCB_SHCSR_USGFAULTACT_Pos) 657 #define SCB_SHCSR_BUSFAULTACT_Pos 1U 658 #define SCB_SHCSR_BUSFAULTACT_Msk (1UL << SCB_SHCSR_BUSFAULTACT_Pos) 660 #define SCB_SHCSR_MEMFAULTACT_Pos 0U 661 #define SCB_SHCSR_MEMFAULTACT_Msk (1UL ) 664 #define SCB_CFSR_USGFAULTSR_Pos 16U 665 #define SCB_CFSR_USGFAULTSR_Msk (0xFFFFUL << SCB_CFSR_USGFAULTSR_Pos) 667 #define SCB_CFSR_BUSFAULTSR_Pos 8U 668 #define SCB_CFSR_BUSFAULTSR_Msk (0xFFUL << SCB_CFSR_BUSFAULTSR_Pos) 670 #define SCB_CFSR_MEMFAULTSR_Pos 0U 671 #define SCB_CFSR_MEMFAULTSR_Msk (0xFFUL ) 674 #define SCB_CFSR_MMARVALID_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 7U) 675 #define SCB_CFSR_MMARVALID_Msk (1UL << SCB_CFSR_MMARVALID_Pos) 677 #define SCB_CFSR_MLSPERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 5U) 678 #define SCB_CFSR_MLSPERR_Msk (1UL << SCB_CFSR_MLSPERR_Pos) 680 #define SCB_CFSR_MSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 4U) 681 #define SCB_CFSR_MSTKERR_Msk (1UL << SCB_CFSR_MSTKERR_Pos) 683 #define SCB_CFSR_MUNSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 3U) 684 #define SCB_CFSR_MUNSTKERR_Msk (1UL << SCB_CFSR_MUNSTKERR_Pos) 686 #define SCB_CFSR_DACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 1U) 687 #define SCB_CFSR_DACCVIOL_Msk (1UL << SCB_CFSR_DACCVIOL_Pos) 689 #define SCB_CFSR_IACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 0U) 690 #define SCB_CFSR_IACCVIOL_Msk (1UL ) 693 #define SCB_CFSR_BFARVALID_Pos (SCB_CFSR_BUSFAULTSR_Pos + 7U) 694 #define SCB_CFSR_BFARVALID_Msk (1UL << SCB_CFSR_BFARVALID_Pos) 696 #define SCB_CFSR_LSPERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 5U) 697 #define SCB_CFSR_LSPERR_Msk (1UL << SCB_CFSR_LSPERR_Pos) 699 #define SCB_CFSR_STKERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 4U) 700 #define SCB_CFSR_STKERR_Msk (1UL << SCB_CFSR_STKERR_Pos) 702 #define SCB_CFSR_UNSTKERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 3U) 703 #define SCB_CFSR_UNSTKERR_Msk (1UL << SCB_CFSR_UNSTKERR_Pos) 705 #define SCB_CFSR_IMPRECISERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 2U) 706 #define SCB_CFSR_IMPRECISERR_Msk (1UL << SCB_CFSR_IMPRECISERR_Pos) 708 #define SCB_CFSR_PRECISERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 1U) 709 #define SCB_CFSR_PRECISERR_Msk (1UL << SCB_CFSR_PRECISERR_Pos) 711 #define SCB_CFSR_IBUSERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 0U) 712 #define SCB_CFSR_IBUSERR_Msk (1UL << SCB_CFSR_IBUSERR_Pos) 715 #define SCB_CFSR_DIVBYZERO_Pos (SCB_CFSR_USGFAULTSR_Pos + 9U) 716 #define SCB_CFSR_DIVBYZERO_Msk (1UL << SCB_CFSR_DIVBYZERO_Pos) 718 #define SCB_CFSR_UNALIGNED_Pos (SCB_CFSR_USGFAULTSR_Pos + 8U) 719 #define SCB_CFSR_UNALIGNED_Msk (1UL << SCB_CFSR_UNALIGNED_Pos) 721 #define SCB_CFSR_NOCP_Pos (SCB_CFSR_USGFAULTSR_Pos + 3U) 722 #define SCB_CFSR_NOCP_Msk (1UL << SCB_CFSR_NOCP_Pos) 724 #define SCB_CFSR_INVPC_Pos (SCB_CFSR_USGFAULTSR_Pos + 2U) 725 #define SCB_CFSR_INVPC_Msk (1UL << SCB_CFSR_INVPC_Pos) 727 #define SCB_CFSR_INVSTATE_Pos (SCB_CFSR_USGFAULTSR_Pos + 1U) 728 #define SCB_CFSR_INVSTATE_Msk (1UL << SCB_CFSR_INVSTATE_Pos) 730 #define SCB_CFSR_UNDEFINSTR_Pos (SCB_CFSR_USGFAULTSR_Pos + 0U) 731 #define SCB_CFSR_UNDEFINSTR_Msk (1UL << SCB_CFSR_UNDEFINSTR_Pos) 734 #define SCB_HFSR_DEBUGEVT_Pos 31U 735 #define SCB_HFSR_DEBUGEVT_Msk (1UL << SCB_HFSR_DEBUGEVT_Pos) 737 #define SCB_HFSR_FORCED_Pos 30U 738 #define SCB_HFSR_FORCED_Msk (1UL << SCB_HFSR_FORCED_Pos) 740 #define SCB_HFSR_VECTTBL_Pos 1U 741 #define SCB_HFSR_VECTTBL_Msk (1UL << SCB_HFSR_VECTTBL_Pos) 744 #define SCB_DFSR_EXTERNAL_Pos 4U 745 #define SCB_DFSR_EXTERNAL_Msk (1UL << SCB_DFSR_EXTERNAL_Pos) 747 #define SCB_DFSR_VCATCH_Pos 3U 748 #define SCB_DFSR_VCATCH_Msk (1UL << SCB_DFSR_VCATCH_Pos) 750 #define SCB_DFSR_DWTTRAP_Pos 2U 751 #define SCB_DFSR_DWTTRAP_Msk (1UL << SCB_DFSR_DWTTRAP_Pos) 753 #define SCB_DFSR_BKPT_Pos 1U 754 #define SCB_DFSR_BKPT_Msk (1UL << SCB_DFSR_BKPT_Pos) 756 #define SCB_DFSR_HALTED_Pos 0U 757 #define SCB_DFSR_HALTED_Msk (1UL ) 760 #define SCB_CLIDR_LOUU_Pos 27U 761 #define SCB_CLIDR_LOUU_Msk (7UL << SCB_CLIDR_LOUU_Pos) 763 #define SCB_CLIDR_LOC_Pos 24U 764 #define SCB_CLIDR_LOC_Msk (7UL << SCB_CLIDR_LOC_Pos) 767 #define SCB_CTR_FORMAT_Pos 29U 768 #define SCB_CTR_FORMAT_Msk (7UL << SCB_CTR_FORMAT_Pos) 770 #define SCB_CTR_CWG_Pos 24U 771 #define SCB_CTR_CWG_Msk (0xFUL << SCB_CTR_CWG_Pos) 773 #define SCB_CTR_ERG_Pos 20U 774 #define SCB_CTR_ERG_Msk (0xFUL << SCB_CTR_ERG_Pos) 776 #define SCB_CTR_DMINLINE_Pos 16U 777 #define SCB_CTR_DMINLINE_Msk (0xFUL << SCB_CTR_DMINLINE_Pos) 779 #define SCB_CTR_IMINLINE_Pos 0U 780 #define SCB_CTR_IMINLINE_Msk (0xFUL ) 783 #define SCB_CCSIDR_WT_Pos 31U 784 #define SCB_CCSIDR_WT_Msk (1UL << SCB_CCSIDR_WT_Pos) 786 #define SCB_CCSIDR_WB_Pos 30U 787 #define SCB_CCSIDR_WB_Msk (1UL << SCB_CCSIDR_WB_Pos) 789 #define SCB_CCSIDR_RA_Pos 29U 790 #define SCB_CCSIDR_RA_Msk (1UL << SCB_CCSIDR_RA_Pos) 792 #define SCB_CCSIDR_WA_Pos 28U 793 #define SCB_CCSIDR_WA_Msk (1UL << SCB_CCSIDR_WA_Pos) 795 #define SCB_CCSIDR_NUMSETS_Pos 13U 796 #define SCB_CCSIDR_NUMSETS_Msk (0x7FFFUL << SCB_CCSIDR_NUMSETS_Pos) 798 #define SCB_CCSIDR_ASSOCIATIVITY_Pos 3U 799 #define SCB_CCSIDR_ASSOCIATIVITY_Msk (0x3FFUL << SCB_CCSIDR_ASSOCIATIVITY_Pos) 801 #define SCB_CCSIDR_LINESIZE_Pos 0U 802 #define SCB_CCSIDR_LINESIZE_Msk (7UL ) 805 #define SCB_CSSELR_LEVEL_Pos 1U 806 #define SCB_CSSELR_LEVEL_Msk (7UL << SCB_CSSELR_LEVEL_Pos) 808 #define SCB_CSSELR_IND_Pos 0U 809 #define SCB_CSSELR_IND_Msk (1UL ) 812 #define SCB_STIR_INTID_Pos 0U 813 #define SCB_STIR_INTID_Msk (0x1FFUL ) 816 #define SCB_DCISW_WAY_Pos 30U 817 #define SCB_DCISW_WAY_Msk (3UL << SCB_DCISW_WAY_Pos) 819 #define SCB_DCISW_SET_Pos 5U 820 #define SCB_DCISW_SET_Msk (0x1FFUL << SCB_DCISW_SET_Pos) 823 #define SCB_DCCSW_WAY_Pos 30U 824 #define SCB_DCCSW_WAY_Msk (3UL << SCB_DCCSW_WAY_Pos) 826 #define SCB_DCCSW_SET_Pos 5U 827 #define SCB_DCCSW_SET_Msk (0x1FFUL << SCB_DCCSW_SET_Pos) 830 #define SCB_DCCISW_WAY_Pos 30U 831 #define SCB_DCCISW_WAY_Msk (3UL << SCB_DCCISW_WAY_Pos) 833 #define SCB_DCCISW_SET_Pos 5U 834 #define SCB_DCCISW_SET_Msk (0x1FFUL << SCB_DCCISW_SET_Pos) 837 #define SCB_ITCMCR_SZ_Pos 3U 838 #define SCB_ITCMCR_SZ_Msk (0xFUL << SCB_ITCMCR_SZ_Pos) 840 #define SCB_ITCMCR_RETEN_Pos 2U 841 #define SCB_ITCMCR_RETEN_Msk (1UL << SCB_ITCMCR_RETEN_Pos) 843 #define SCB_ITCMCR_RMW_Pos 1U 844 #define SCB_ITCMCR_RMW_Msk (1UL << SCB_ITCMCR_RMW_Pos) 846 #define SCB_ITCMCR_EN_Pos 0U 847 #define SCB_ITCMCR_EN_Msk (1UL ) 850 #define SCB_DTCMCR_SZ_Pos 3U 851 #define SCB_DTCMCR_SZ_Msk (0xFUL << SCB_DTCMCR_SZ_Pos) 853 #define SCB_DTCMCR_RETEN_Pos 2U 854 #define SCB_DTCMCR_RETEN_Msk (1UL << SCB_DTCMCR_RETEN_Pos) 856 #define SCB_DTCMCR_RMW_Pos 1U 857 #define SCB_DTCMCR_RMW_Msk (1UL << SCB_DTCMCR_RMW_Pos) 859 #define SCB_DTCMCR_EN_Pos 0U 860 #define SCB_DTCMCR_EN_Msk (1UL ) 863 #define SCB_AHBPCR_SZ_Pos 1U 864 #define SCB_AHBPCR_SZ_Msk (7UL << SCB_AHBPCR_SZ_Pos) 866 #define SCB_AHBPCR_EN_Pos 0U 867 #define SCB_AHBPCR_EN_Msk (1UL ) 870 #define SCB_CACR_FORCEWT_Pos 2U 871 #define SCB_CACR_FORCEWT_Msk (1UL << SCB_CACR_FORCEWT_Pos) 873 #define SCB_CACR_ECCEN_Pos 1U 874 #define SCB_CACR_ECCEN_Msk (1UL << SCB_CACR_ECCEN_Pos) 876 #define SCB_CACR_SIWT_Pos 0U 877 #define SCB_CACR_SIWT_Msk (1UL ) 880 #define SCB_AHBSCR_INITCOUNT_Pos 11U 881 #define SCB_AHBSCR_INITCOUNT_Msk (0x1FUL << SCB_AHBPCR_INITCOUNT_Pos) 883 #define SCB_AHBSCR_TPRI_Pos 2U 884 #define SCB_AHBSCR_TPRI_Msk (0x1FFUL << SCB_AHBPCR_TPRI_Pos) 886 #define SCB_AHBSCR_CTL_Pos 0U 887 #define SCB_AHBSCR_CTL_Msk (3UL ) 890 #define SCB_ABFSR_AXIMTYPE_Pos 8U 891 #define SCB_ABFSR_AXIMTYPE_Msk (3UL << SCB_ABFSR_AXIMTYPE_Pos) 893 #define SCB_ABFSR_EPPB_Pos 4U 894 #define SCB_ABFSR_EPPB_Msk (1UL << SCB_ABFSR_EPPB_Pos) 896 #define SCB_ABFSR_AXIM_Pos 3U 897 #define SCB_ABFSR_AXIM_Msk (1UL << SCB_ABFSR_AXIM_Pos) 899 #define SCB_ABFSR_AHBP_Pos 2U 900 #define SCB_ABFSR_AHBP_Msk (1UL << SCB_ABFSR_AHBP_Pos) 902 #define SCB_ABFSR_DTCM_Pos 1U 903 #define SCB_ABFSR_DTCM_Msk (1UL << SCB_ABFSR_DTCM_Pos) 905 #define SCB_ABFSR_ITCM_Pos 0U 906 #define SCB_ABFSR_ITCM_Msk (1UL ) 923 uint32_t RESERVED0[1U];
925 __IOM uint32_t ACTLR;
929 #define SCnSCB_ICTR_INTLINESNUM_Pos 0U 930 #define SCnSCB_ICTR_INTLINESNUM_Msk (0xFUL ) 933 #define SCnSCB_ACTLR_DISITMATBFLUSH_Pos 12U 934 #define SCnSCB_ACTLR_DISITMATBFLUSH_Msk (1UL << SCnSCB_ACTLR_DISITMATBFLUSH_Pos) 936 #define SCnSCB_ACTLR_DISRAMODE_Pos 11U 937 #define SCnSCB_ACTLR_DISRAMODE_Msk (1UL << SCnSCB_ACTLR_DISRAMODE_Pos) 939 #define SCnSCB_ACTLR_FPEXCODIS_Pos 10U 940 #define SCnSCB_ACTLR_FPEXCODIS_Msk (1UL << SCnSCB_ACTLR_FPEXCODIS_Pos) 942 #define SCnSCB_ACTLR_DISFOLD_Pos 2U 943 #define SCnSCB_ACTLR_DISFOLD_Msk (1UL << SCnSCB_ACTLR_DISFOLD_Pos) 945 #define SCnSCB_ACTLR_DISMCYCINT_Pos 0U 946 #define SCnSCB_ACTLR_DISMCYCINT_Msk (1UL ) 970 #define SysTick_CTRL_COUNTFLAG_Pos 16U 971 #define SysTick_CTRL_COUNTFLAG_Msk (1UL << SysTick_CTRL_COUNTFLAG_Pos) 973 #define SysTick_CTRL_CLKSOURCE_Pos 2U 974 #define SysTick_CTRL_CLKSOURCE_Msk (1UL << SysTick_CTRL_CLKSOURCE_Pos) 976 #define SysTick_CTRL_TICKINT_Pos 1U 977 #define SysTick_CTRL_TICKINT_Msk (1UL << SysTick_CTRL_TICKINT_Pos) 979 #define SysTick_CTRL_ENABLE_Pos 0U 980 #define SysTick_CTRL_ENABLE_Msk (1UL ) 983 #define SysTick_LOAD_RELOAD_Pos 0U 984 #define SysTick_LOAD_RELOAD_Msk (0xFFFFFFUL ) 987 #define SysTick_VAL_CURRENT_Pos 0U 988 #define SysTick_VAL_CURRENT_Msk (0xFFFFFFUL ) 991 #define SysTick_CALIB_NOREF_Pos 31U 992 #define SysTick_CALIB_NOREF_Msk (1UL << SysTick_CALIB_NOREF_Pos) 994 #define SysTick_CALIB_SKEW_Pos 30U 995 #define SysTick_CALIB_SKEW_Msk (1UL << SysTick_CALIB_SKEW_Pos) 997 #define SysTick_CALIB_TENMS_Pos 0U 998 #define SysTick_CALIB_TENMS_Msk (0xFFFFFFUL ) 1021 uint32_t RESERVED0[864U];
1023 uint32_t RESERVED1[15U];
1025 uint32_t RESERVED2[15U];
1027 uint32_t RESERVED3[29U];
1030 __IOM uint32_t IMCR;
1031 uint32_t RESERVED4[43U];
1034 uint32_t RESERVED5[6U];
1050 #define ITM_TPR_PRIVMASK_Pos 0U 1051 #define ITM_TPR_PRIVMASK_Msk (0xFFFFFFFFUL ) 1054 #define ITM_TCR_BUSY_Pos 23U 1055 #define ITM_TCR_BUSY_Msk (1UL << ITM_TCR_BUSY_Pos) 1057 #define ITM_TCR_TraceBusID_Pos 16U 1058 #define ITM_TCR_TraceBusID_Msk (0x7FUL << ITM_TCR_TraceBusID_Pos) 1060 #define ITM_TCR_GTSFREQ_Pos 10U 1061 #define ITM_TCR_GTSFREQ_Msk (3UL << ITM_TCR_GTSFREQ_Pos) 1063 #define ITM_TCR_TSPrescale_Pos 8U 1064 #define ITM_TCR_TSPrescale_Msk (3UL << ITM_TCR_TSPrescale_Pos) 1066 #define ITM_TCR_SWOENA_Pos 4U 1067 #define ITM_TCR_SWOENA_Msk (1UL << ITM_TCR_SWOENA_Pos) 1069 #define ITM_TCR_DWTENA_Pos 3U 1070 #define ITM_TCR_DWTENA_Msk (1UL << ITM_TCR_DWTENA_Pos) 1072 #define ITM_TCR_SYNCENA_Pos 2U 1073 #define ITM_TCR_SYNCENA_Msk (1UL << ITM_TCR_SYNCENA_Pos) 1075 #define ITM_TCR_TSENA_Pos 1U 1076 #define ITM_TCR_TSENA_Msk (1UL << ITM_TCR_TSENA_Pos) 1078 #define ITM_TCR_ITMENA_Pos 0U 1079 #define ITM_TCR_ITMENA_Msk (1UL ) 1082 #define ITM_IWR_ATVALIDM_Pos 0U 1083 #define ITM_IWR_ATVALIDM_Msk (1UL ) 1086 #define ITM_IRR_ATREADYM_Pos 0U 1087 #define ITM_IRR_ATREADYM_Msk (1UL ) 1090 #define ITM_IMCR_INTEGRATION_Pos 0U 1091 #define ITM_IMCR_INTEGRATION_Msk (1UL ) 1094 #define ITM_LSR_ByteAcc_Pos 2U 1095 #define ITM_LSR_ByteAcc_Msk (1UL << ITM_LSR_ByteAcc_Pos) 1097 #define ITM_LSR_Access_Pos 1U 1098 #define ITM_LSR_Access_Msk (1UL << ITM_LSR_Access_Pos) 1100 #define ITM_LSR_Present_Pos 0U 1101 #define ITM_LSR_Present_Msk (1UL ) 1118 __IOM uint32_t CTRL;
1119 __IOM uint32_t CYCCNT;
1120 __IOM uint32_t CPICNT;
1121 __IOM uint32_t EXCCNT;
1122 __IOM uint32_t SLEEPCNT;
1123 __IOM uint32_t LSUCNT;
1124 __IOM uint32_t FOLDCNT;
1126 __IOM uint32_t COMP0;
1127 __IOM uint32_t MASK0;
1128 __IOM uint32_t FUNCTION0;
1129 uint32_t RESERVED0[1U];
1130 __IOM uint32_t COMP1;
1131 __IOM uint32_t MASK1;
1132 __IOM uint32_t FUNCTION1;
1133 uint32_t RESERVED1[1U];
1134 __IOM uint32_t COMP2;
1135 __IOM uint32_t MASK2;
1136 __IOM uint32_t FUNCTION2;
1137 uint32_t RESERVED2[1U];
1138 __IOM uint32_t COMP3;
1139 __IOM uint32_t MASK3;
1140 __IOM uint32_t FUNCTION3;
1141 uint32_t RESERVED3[981U];
1147 #define DWT_CTRL_NUMCOMP_Pos 28U 1148 #define DWT_CTRL_NUMCOMP_Msk (0xFUL << DWT_CTRL_NUMCOMP_Pos) 1150 #define DWT_CTRL_NOTRCPKT_Pos 27U 1151 #define DWT_CTRL_NOTRCPKT_Msk (0x1UL << DWT_CTRL_NOTRCPKT_Pos) 1153 #define DWT_CTRL_NOEXTTRIG_Pos 26U 1154 #define DWT_CTRL_NOEXTTRIG_Msk (0x1UL << DWT_CTRL_NOEXTTRIG_Pos) 1156 #define DWT_CTRL_NOCYCCNT_Pos 25U 1157 #define DWT_CTRL_NOCYCCNT_Msk (0x1UL << DWT_CTRL_NOCYCCNT_Pos) 1159 #define DWT_CTRL_NOPRFCNT_Pos 24U 1160 #define DWT_CTRL_NOPRFCNT_Msk (0x1UL << DWT_CTRL_NOPRFCNT_Pos) 1162 #define DWT_CTRL_CYCEVTENA_Pos 22U 1163 #define DWT_CTRL_CYCEVTENA_Msk (0x1UL << DWT_CTRL_CYCEVTENA_Pos) 1165 #define DWT_CTRL_FOLDEVTENA_Pos 21U 1166 #define DWT_CTRL_FOLDEVTENA_Msk (0x1UL << DWT_CTRL_FOLDEVTENA_Pos) 1168 #define DWT_CTRL_LSUEVTENA_Pos 20U 1169 #define DWT_CTRL_LSUEVTENA_Msk (0x1UL << DWT_CTRL_LSUEVTENA_Pos) 1171 #define DWT_CTRL_SLEEPEVTENA_Pos 19U 1172 #define DWT_CTRL_SLEEPEVTENA_Msk (0x1UL << DWT_CTRL_SLEEPEVTENA_Pos) 1174 #define DWT_CTRL_EXCEVTENA_Pos 18U 1175 #define DWT_CTRL_EXCEVTENA_Msk (0x1UL << DWT_CTRL_EXCEVTENA_Pos) 1177 #define DWT_CTRL_CPIEVTENA_Pos 17U 1178 #define DWT_CTRL_CPIEVTENA_Msk (0x1UL << DWT_CTRL_CPIEVTENA_Pos) 1180 #define DWT_CTRL_EXCTRCENA_Pos 16U 1181 #define DWT_CTRL_EXCTRCENA_Msk (0x1UL << DWT_CTRL_EXCTRCENA_Pos) 1183 #define DWT_CTRL_PCSAMPLENA_Pos 12U 1184 #define DWT_CTRL_PCSAMPLENA_Msk (0x1UL << DWT_CTRL_PCSAMPLENA_Pos) 1186 #define DWT_CTRL_SYNCTAP_Pos 10U 1187 #define DWT_CTRL_SYNCTAP_Msk (0x3UL << DWT_CTRL_SYNCTAP_Pos) 1189 #define DWT_CTRL_CYCTAP_Pos 9U 1190 #define DWT_CTRL_CYCTAP_Msk (0x1UL << DWT_CTRL_CYCTAP_Pos) 1192 #define DWT_CTRL_POSTINIT_Pos 5U 1193 #define DWT_CTRL_POSTINIT_Msk (0xFUL << DWT_CTRL_POSTINIT_Pos) 1195 #define DWT_CTRL_POSTPRESET_Pos 1U 1196 #define DWT_CTRL_POSTPRESET_Msk (0xFUL << DWT_CTRL_POSTPRESET_Pos) 1198 #define DWT_CTRL_CYCCNTENA_Pos 0U 1199 #define DWT_CTRL_CYCCNTENA_Msk (0x1UL ) 1202 #define DWT_CPICNT_CPICNT_Pos 0U 1203 #define DWT_CPICNT_CPICNT_Msk (0xFFUL ) 1206 #define DWT_EXCCNT_EXCCNT_Pos 0U 1207 #define DWT_EXCCNT_EXCCNT_Msk (0xFFUL ) 1210 #define DWT_SLEEPCNT_SLEEPCNT_Pos 0U 1211 #define DWT_SLEEPCNT_SLEEPCNT_Msk (0xFFUL ) 1214 #define DWT_LSUCNT_LSUCNT_Pos 0U 1215 #define DWT_LSUCNT_LSUCNT_Msk (0xFFUL ) 1218 #define DWT_FOLDCNT_FOLDCNT_Pos 0U 1219 #define DWT_FOLDCNT_FOLDCNT_Msk (0xFFUL ) 1222 #define DWT_MASK_MASK_Pos 0U 1223 #define DWT_MASK_MASK_Msk (0x1FUL ) 1226 #define DWT_FUNCTION_MATCHED_Pos 24U 1227 #define DWT_FUNCTION_MATCHED_Msk (0x1UL << DWT_FUNCTION_MATCHED_Pos) 1229 #define DWT_FUNCTION_DATAVADDR1_Pos 16U 1230 #define DWT_FUNCTION_DATAVADDR1_Msk (0xFUL << DWT_FUNCTION_DATAVADDR1_Pos) 1232 #define DWT_FUNCTION_DATAVADDR0_Pos 12U 1233 #define DWT_FUNCTION_DATAVADDR0_Msk (0xFUL << DWT_FUNCTION_DATAVADDR0_Pos) 1235 #define DWT_FUNCTION_DATAVSIZE_Pos 10U 1236 #define DWT_FUNCTION_DATAVSIZE_Msk (0x3UL << DWT_FUNCTION_DATAVSIZE_Pos) 1238 #define DWT_FUNCTION_LNK1ENA_Pos 9U 1239 #define DWT_FUNCTION_LNK1ENA_Msk (0x1UL << DWT_FUNCTION_LNK1ENA_Pos) 1241 #define DWT_FUNCTION_DATAVMATCH_Pos 8U 1242 #define DWT_FUNCTION_DATAVMATCH_Msk (0x1UL << DWT_FUNCTION_DATAVMATCH_Pos) 1244 #define DWT_FUNCTION_CYCMATCH_Pos 7U 1245 #define DWT_FUNCTION_CYCMATCH_Msk (0x1UL << DWT_FUNCTION_CYCMATCH_Pos) 1247 #define DWT_FUNCTION_EMITRANGE_Pos 5U 1248 #define DWT_FUNCTION_EMITRANGE_Msk (0x1UL << DWT_FUNCTION_EMITRANGE_Pos) 1250 #define DWT_FUNCTION_FUNCTION_Pos 0U 1251 #define DWT_FUNCTION_FUNCTION_Msk (0xFUL ) 1268 __IM uint32_t SSPSR;
1269 __IOM uint32_t CSPSR;
1270 uint32_t RESERVED0[2U];
1271 __IOM uint32_t ACPR;
1272 uint32_t RESERVED1[55U];
1273 __IOM uint32_t SPPR;
1274 uint32_t RESERVED2[131U];
1276 __IOM uint32_t FFCR;
1278 uint32_t RESERVED3[759U];
1279 __IM uint32_t TRIGGER;
1280 __IM uint32_t FIFO0;
1281 __IM uint32_t ITATBCTR2;
1282 uint32_t RESERVED4[1U];
1283 __IM uint32_t ITATBCTR0;
1284 __IM uint32_t FIFO1;
1285 __IOM uint32_t ITCTRL;
1286 uint32_t RESERVED5[39U];
1287 __IOM uint32_t CLAIMSET;
1288 __IOM uint32_t CLAIMCLR;
1289 uint32_t RESERVED7[8U];
1290 __IM uint32_t DEVID;
1291 __IM uint32_t DEVTYPE;
1295 #define TPI_ACPR_PRESCALER_Pos 0U 1296 #define TPI_ACPR_PRESCALER_Msk (0x1FFFUL ) 1299 #define TPI_SPPR_TXMODE_Pos 0U 1300 #define TPI_SPPR_TXMODE_Msk (0x3UL ) 1303 #define TPI_FFSR_FtNonStop_Pos 3U 1304 #define TPI_FFSR_FtNonStop_Msk (0x1UL << TPI_FFSR_FtNonStop_Pos) 1306 #define TPI_FFSR_TCPresent_Pos 2U 1307 #define TPI_FFSR_TCPresent_Msk (0x1UL << TPI_FFSR_TCPresent_Pos) 1309 #define TPI_FFSR_FtStopped_Pos 1U 1310 #define TPI_FFSR_FtStopped_Msk (0x1UL << TPI_FFSR_FtStopped_Pos) 1312 #define TPI_FFSR_FlInProg_Pos 0U 1313 #define TPI_FFSR_FlInProg_Msk (0x1UL ) 1316 #define TPI_FFCR_TrigIn_Pos 8U 1317 #define TPI_FFCR_TrigIn_Msk (0x1UL << TPI_FFCR_TrigIn_Pos) 1319 #define TPI_FFCR_EnFCont_Pos 1U 1320 #define TPI_FFCR_EnFCont_Msk (0x1UL << TPI_FFCR_EnFCont_Pos) 1323 #define TPI_TRIGGER_TRIGGER_Pos 0U 1324 #define TPI_TRIGGER_TRIGGER_Msk (0x1UL ) 1327 #define TPI_FIFO0_ITM_ATVALID_Pos 29U 1328 #define TPI_FIFO0_ITM_ATVALID_Msk (0x3UL << TPI_FIFO0_ITM_ATVALID_Pos) 1330 #define TPI_FIFO0_ITM_bytecount_Pos 27U 1331 #define TPI_FIFO0_ITM_bytecount_Msk (0x3UL << TPI_FIFO0_ITM_bytecount_Pos) 1333 #define TPI_FIFO0_ETM_ATVALID_Pos 26U 1334 #define TPI_FIFO0_ETM_ATVALID_Msk (0x3UL << TPI_FIFO0_ETM_ATVALID_Pos) 1336 #define TPI_FIFO0_ETM_bytecount_Pos 24U 1337 #define TPI_FIFO0_ETM_bytecount_Msk (0x3UL << TPI_FIFO0_ETM_bytecount_Pos) 1339 #define TPI_FIFO0_ETM2_Pos 16U 1340 #define TPI_FIFO0_ETM2_Msk (0xFFUL << TPI_FIFO0_ETM2_Pos) 1342 #define TPI_FIFO0_ETM1_Pos 8U 1343 #define TPI_FIFO0_ETM1_Msk (0xFFUL << TPI_FIFO0_ETM1_Pos) 1345 #define TPI_FIFO0_ETM0_Pos 0U 1346 #define TPI_FIFO0_ETM0_Msk (0xFFUL ) 1349 #define TPI_ITATBCTR2_ATREADY2_Pos 0U 1350 #define TPI_ITATBCTR2_ATREADY2_Msk (0x1UL ) 1352 #define TPI_ITATBCTR2_ATREADY1_Pos 0U 1353 #define TPI_ITATBCTR2_ATREADY1_Msk (0x1UL ) 1356 #define TPI_FIFO1_ITM_ATVALID_Pos 29U 1357 #define TPI_FIFO1_ITM_ATVALID_Msk (0x3UL << TPI_FIFO1_ITM_ATVALID_Pos) 1359 #define TPI_FIFO1_ITM_bytecount_Pos 27U 1360 #define TPI_FIFO1_ITM_bytecount_Msk (0x3UL << TPI_FIFO1_ITM_bytecount_Pos) 1362 #define TPI_FIFO1_ETM_ATVALID_Pos 26U 1363 #define TPI_FIFO1_ETM_ATVALID_Msk (0x3UL << TPI_FIFO1_ETM_ATVALID_Pos) 1365 #define TPI_FIFO1_ETM_bytecount_Pos 24U 1366 #define TPI_FIFO1_ETM_bytecount_Msk (0x3UL << TPI_FIFO1_ETM_bytecount_Pos) 1368 #define TPI_FIFO1_ITM2_Pos 16U 1369 #define TPI_FIFO1_ITM2_Msk (0xFFUL << TPI_FIFO1_ITM2_Pos) 1371 #define TPI_FIFO1_ITM1_Pos 8U 1372 #define TPI_FIFO1_ITM1_Msk (0xFFUL << TPI_FIFO1_ITM1_Pos) 1374 #define TPI_FIFO1_ITM0_Pos 0U 1375 #define TPI_FIFO1_ITM0_Msk (0xFFUL ) 1378 #define TPI_ITATBCTR0_ATREADY2_Pos 0U 1379 #define TPI_ITATBCTR0_ATREADY2_Msk (0x1UL ) 1381 #define TPI_ITATBCTR0_ATREADY1_Pos 0U 1382 #define TPI_ITATBCTR0_ATREADY1_Msk (0x1UL ) 1385 #define TPI_ITCTRL_Mode_Pos 0U 1386 #define TPI_ITCTRL_Mode_Msk (0x3UL ) 1389 #define TPI_DEVID_NRZVALID_Pos 11U 1390 #define TPI_DEVID_NRZVALID_Msk (0x1UL << TPI_DEVID_NRZVALID_Pos) 1392 #define TPI_DEVID_MANCVALID_Pos 10U 1393 #define TPI_DEVID_MANCVALID_Msk (0x1UL << TPI_DEVID_MANCVALID_Pos) 1395 #define TPI_DEVID_PTINVALID_Pos 9U 1396 #define TPI_DEVID_PTINVALID_Msk (0x1UL << TPI_DEVID_PTINVALID_Pos) 1398 #define TPI_DEVID_MinBufSz_Pos 6U 1399 #define TPI_DEVID_MinBufSz_Msk (0x7UL << TPI_DEVID_MinBufSz_Pos) 1401 #define TPI_DEVID_AsynClkIn_Pos 5U 1402 #define TPI_DEVID_AsynClkIn_Msk (0x1UL << TPI_DEVID_AsynClkIn_Pos) 1404 #define TPI_DEVID_NrTraceInput_Pos 0U 1405 #define TPI_DEVID_NrTraceInput_Msk (0x1FUL ) 1408 #define TPI_DEVTYPE_SubType_Pos 4U 1409 #define TPI_DEVTYPE_SubType_Msk (0xFUL ) 1411 #define TPI_DEVTYPE_MajorType_Pos 0U 1412 #define TPI_DEVTYPE_MajorType_Msk (0xFUL << TPI_DEVTYPE_MajorType_Pos) 1417 #if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) 1431 __IOM uint32_t CTRL;
1433 __IOM uint32_t RBAR;
1434 __IOM uint32_t RASR;
1435 __IOM uint32_t RBAR_A1;
1436 __IOM uint32_t RASR_A1;
1437 __IOM uint32_t RBAR_A2;
1438 __IOM uint32_t RASR_A2;
1439 __IOM uint32_t RBAR_A3;
1440 __IOM uint32_t RASR_A3;
1443 #define MPU_TYPE_RALIASES 4U 1446 #define MPU_TYPE_IREGION_Pos 16U 1447 #define MPU_TYPE_IREGION_Msk (0xFFUL << MPU_TYPE_IREGION_Pos) 1449 #define MPU_TYPE_DREGION_Pos 8U 1450 #define MPU_TYPE_DREGION_Msk (0xFFUL << MPU_TYPE_DREGION_Pos) 1452 #define MPU_TYPE_SEPARATE_Pos 0U 1453 #define MPU_TYPE_SEPARATE_Msk (1UL ) 1456 #define MPU_CTRL_PRIVDEFENA_Pos 2U 1457 #define MPU_CTRL_PRIVDEFENA_Msk (1UL << MPU_CTRL_PRIVDEFENA_Pos) 1459 #define MPU_CTRL_HFNMIENA_Pos 1U 1460 #define MPU_CTRL_HFNMIENA_Msk (1UL << MPU_CTRL_HFNMIENA_Pos) 1462 #define MPU_CTRL_ENABLE_Pos 0U 1463 #define MPU_CTRL_ENABLE_Msk (1UL ) 1466 #define MPU_RNR_REGION_Pos 0U 1467 #define MPU_RNR_REGION_Msk (0xFFUL ) 1470 #define MPU_RBAR_ADDR_Pos 5U 1471 #define MPU_RBAR_ADDR_Msk (0x7FFFFFFUL << MPU_RBAR_ADDR_Pos) 1473 #define MPU_RBAR_VALID_Pos 4U 1474 #define MPU_RBAR_VALID_Msk (1UL << MPU_RBAR_VALID_Pos) 1476 #define MPU_RBAR_REGION_Pos 0U 1477 #define MPU_RBAR_REGION_Msk (0xFUL ) 1480 #define MPU_RASR_ATTRS_Pos 16U 1481 #define MPU_RASR_ATTRS_Msk (0xFFFFUL << MPU_RASR_ATTRS_Pos) 1483 #define MPU_RASR_XN_Pos 28U 1484 #define MPU_RASR_XN_Msk (1UL << MPU_RASR_XN_Pos) 1486 #define MPU_RASR_AP_Pos 24U 1487 #define MPU_RASR_AP_Msk (0x7UL << MPU_RASR_AP_Pos) 1489 #define MPU_RASR_TEX_Pos 19U 1490 #define MPU_RASR_TEX_Msk (0x7UL << MPU_RASR_TEX_Pos) 1492 #define MPU_RASR_S_Pos 18U 1493 #define MPU_RASR_S_Msk (1UL << MPU_RASR_S_Pos) 1495 #define MPU_RASR_C_Pos 17U 1496 #define MPU_RASR_C_Msk (1UL << MPU_RASR_C_Pos) 1498 #define MPU_RASR_B_Pos 16U 1499 #define MPU_RASR_B_Msk (1UL << MPU_RASR_B_Pos) 1501 #define MPU_RASR_SRD_Pos 8U 1502 #define MPU_RASR_SRD_Msk (0xFFUL << MPU_RASR_SRD_Pos) 1504 #define MPU_RASR_SIZE_Pos 1U 1505 #define MPU_RASR_SIZE_Msk (0x1FUL << MPU_RASR_SIZE_Pos) 1507 #define MPU_RASR_ENABLE_Pos 0U 1508 #define MPU_RASR_ENABLE_Msk (1UL ) 1526 uint32_t RESERVED0[1U];
1527 __IOM uint32_t FPCCR;
1528 __IOM uint32_t FPCAR;
1529 __IOM uint32_t FPDSCR;
1530 __IM uint32_t MVFR0;
1531 __IM uint32_t MVFR1;
1532 __IM uint32_t MVFR2;
1536 #define FPU_FPCCR_ASPEN_Pos 31U 1537 #define FPU_FPCCR_ASPEN_Msk (1UL << FPU_FPCCR_ASPEN_Pos) 1539 #define FPU_FPCCR_LSPEN_Pos 30U 1540 #define FPU_FPCCR_LSPEN_Msk (1UL << FPU_FPCCR_LSPEN_Pos) 1542 #define FPU_FPCCR_MONRDY_Pos 8U 1543 #define FPU_FPCCR_MONRDY_Msk (1UL << FPU_FPCCR_MONRDY_Pos) 1545 #define FPU_FPCCR_BFRDY_Pos 6U 1546 #define FPU_FPCCR_BFRDY_Msk (1UL << FPU_FPCCR_BFRDY_Pos) 1548 #define FPU_FPCCR_MMRDY_Pos 5U 1549 #define FPU_FPCCR_MMRDY_Msk (1UL << FPU_FPCCR_MMRDY_Pos) 1551 #define FPU_FPCCR_HFRDY_Pos 4U 1552 #define FPU_FPCCR_HFRDY_Msk (1UL << FPU_FPCCR_HFRDY_Pos) 1554 #define FPU_FPCCR_THREAD_Pos 3U 1555 #define FPU_FPCCR_THREAD_Msk (1UL << FPU_FPCCR_THREAD_Pos) 1557 #define FPU_FPCCR_USER_Pos 1U 1558 #define FPU_FPCCR_USER_Msk (1UL << FPU_FPCCR_USER_Pos) 1560 #define FPU_FPCCR_LSPACT_Pos 0U 1561 #define FPU_FPCCR_LSPACT_Msk (1UL ) 1564 #define FPU_FPCAR_ADDRESS_Pos 3U 1565 #define FPU_FPCAR_ADDRESS_Msk (0x1FFFFFFFUL << FPU_FPCAR_ADDRESS_Pos) 1568 #define FPU_FPDSCR_AHP_Pos 26U 1569 #define FPU_FPDSCR_AHP_Msk (1UL << FPU_FPDSCR_AHP_Pos) 1571 #define FPU_FPDSCR_DN_Pos 25U 1572 #define FPU_FPDSCR_DN_Msk (1UL << FPU_FPDSCR_DN_Pos) 1574 #define FPU_FPDSCR_FZ_Pos 24U 1575 #define FPU_FPDSCR_FZ_Msk (1UL << FPU_FPDSCR_FZ_Pos) 1577 #define FPU_FPDSCR_RMode_Pos 22U 1578 #define FPU_FPDSCR_RMode_Msk (3UL << FPU_FPDSCR_RMode_Pos) 1581 #define FPU_MVFR0_FP_rounding_modes_Pos 28U 1582 #define FPU_MVFR0_FP_rounding_modes_Msk (0xFUL << FPU_MVFR0_FP_rounding_modes_Pos) 1584 #define FPU_MVFR0_Short_vectors_Pos 24U 1585 #define FPU_MVFR0_Short_vectors_Msk (0xFUL << FPU_MVFR0_Short_vectors_Pos) 1587 #define FPU_MVFR0_Square_root_Pos 20U 1588 #define FPU_MVFR0_Square_root_Msk (0xFUL << FPU_MVFR0_Square_root_Pos) 1590 #define FPU_MVFR0_Divide_Pos 16U 1591 #define FPU_MVFR0_Divide_Msk (0xFUL << FPU_MVFR0_Divide_Pos) 1593 #define FPU_MVFR0_FP_excep_trapping_Pos 12U 1594 #define FPU_MVFR0_FP_excep_trapping_Msk (0xFUL << FPU_MVFR0_FP_excep_trapping_Pos) 1596 #define FPU_MVFR0_Double_precision_Pos 8U 1597 #define FPU_MVFR0_Double_precision_Msk (0xFUL << FPU_MVFR0_Double_precision_Pos) 1599 #define FPU_MVFR0_Single_precision_Pos 4U 1600 #define FPU_MVFR0_Single_precision_Msk (0xFUL << FPU_MVFR0_Single_precision_Pos) 1602 #define FPU_MVFR0_A_SIMD_registers_Pos 0U 1603 #define FPU_MVFR0_A_SIMD_registers_Msk (0xFUL ) 1606 #define FPU_MVFR1_FP_fused_MAC_Pos 28U 1607 #define FPU_MVFR1_FP_fused_MAC_Msk (0xFUL << FPU_MVFR1_FP_fused_MAC_Pos) 1609 #define FPU_MVFR1_FP_HPFP_Pos 24U 1610 #define FPU_MVFR1_FP_HPFP_Msk (0xFUL << FPU_MVFR1_FP_HPFP_Pos) 1612 #define FPU_MVFR1_D_NaN_mode_Pos 4U 1613 #define FPU_MVFR1_D_NaN_mode_Msk (0xFUL << FPU_MVFR1_D_NaN_mode_Pos) 1615 #define FPU_MVFR1_FtZ_mode_Pos 0U 1616 #define FPU_MVFR1_FtZ_mode_Msk (0xFUL ) 1635 __IOM uint32_t DHCSR;
1636 __OM uint32_t DCRSR;
1637 __IOM uint32_t DCRDR;
1638 __IOM uint32_t DEMCR;
1642 #define CoreDebug_DHCSR_DBGKEY_Pos 16U 1643 #define CoreDebug_DHCSR_DBGKEY_Msk (0xFFFFUL << CoreDebug_DHCSR_DBGKEY_Pos) 1645 #define CoreDebug_DHCSR_S_RESET_ST_Pos 25U 1646 #define CoreDebug_DHCSR_S_RESET_ST_Msk (1UL << CoreDebug_DHCSR_S_RESET_ST_Pos) 1648 #define CoreDebug_DHCSR_S_RETIRE_ST_Pos 24U 1649 #define CoreDebug_DHCSR_S_RETIRE_ST_Msk (1UL << CoreDebug_DHCSR_S_RETIRE_ST_Pos) 1651 #define CoreDebug_DHCSR_S_LOCKUP_Pos 19U 1652 #define CoreDebug_DHCSR_S_LOCKUP_Msk (1UL << CoreDebug_DHCSR_S_LOCKUP_Pos) 1654 #define CoreDebug_DHCSR_S_SLEEP_Pos 18U 1655 #define CoreDebug_DHCSR_S_SLEEP_Msk (1UL << CoreDebug_DHCSR_S_SLEEP_Pos) 1657 #define CoreDebug_DHCSR_S_HALT_Pos 17U 1658 #define CoreDebug_DHCSR_S_HALT_Msk (1UL << CoreDebug_DHCSR_S_HALT_Pos) 1660 #define CoreDebug_DHCSR_S_REGRDY_Pos 16U 1661 #define CoreDebug_DHCSR_S_REGRDY_Msk (1UL << CoreDebug_DHCSR_S_REGRDY_Pos) 1663 #define CoreDebug_DHCSR_C_SNAPSTALL_Pos 5U 1664 #define CoreDebug_DHCSR_C_SNAPSTALL_Msk (1UL << CoreDebug_DHCSR_C_SNAPSTALL_Pos) 1666 #define CoreDebug_DHCSR_C_MASKINTS_Pos 3U 1667 #define CoreDebug_DHCSR_C_MASKINTS_Msk (1UL << CoreDebug_DHCSR_C_MASKINTS_Pos) 1669 #define CoreDebug_DHCSR_C_STEP_Pos 2U 1670 #define CoreDebug_DHCSR_C_STEP_Msk (1UL << CoreDebug_DHCSR_C_STEP_Pos) 1672 #define CoreDebug_DHCSR_C_HALT_Pos 1U 1673 #define CoreDebug_DHCSR_C_HALT_Msk (1UL << CoreDebug_DHCSR_C_HALT_Pos) 1675 #define CoreDebug_DHCSR_C_DEBUGEN_Pos 0U 1676 #define CoreDebug_DHCSR_C_DEBUGEN_Msk (1UL ) 1679 #define CoreDebug_DCRSR_REGWnR_Pos 16U 1680 #define CoreDebug_DCRSR_REGWnR_Msk (1UL << CoreDebug_DCRSR_REGWnR_Pos) 1682 #define CoreDebug_DCRSR_REGSEL_Pos 0U 1683 #define CoreDebug_DCRSR_REGSEL_Msk (0x1FUL ) 1686 #define CoreDebug_DEMCR_TRCENA_Pos 24U 1687 #define CoreDebug_DEMCR_TRCENA_Msk (1UL << CoreDebug_DEMCR_TRCENA_Pos) 1689 #define CoreDebug_DEMCR_MON_REQ_Pos 19U 1690 #define CoreDebug_DEMCR_MON_REQ_Msk (1UL << CoreDebug_DEMCR_MON_REQ_Pos) 1692 #define CoreDebug_DEMCR_MON_STEP_Pos 18U 1693 #define CoreDebug_DEMCR_MON_STEP_Msk (1UL << CoreDebug_DEMCR_MON_STEP_Pos) 1695 #define CoreDebug_DEMCR_MON_PEND_Pos 17U 1696 #define CoreDebug_DEMCR_MON_PEND_Msk (1UL << CoreDebug_DEMCR_MON_PEND_Pos) 1698 #define CoreDebug_DEMCR_MON_EN_Pos 16U 1699 #define CoreDebug_DEMCR_MON_EN_Msk (1UL << CoreDebug_DEMCR_MON_EN_Pos) 1701 #define CoreDebug_DEMCR_VC_HARDERR_Pos 10U 1702 #define CoreDebug_DEMCR_VC_HARDERR_Msk (1UL << CoreDebug_DEMCR_VC_HARDERR_Pos) 1704 #define CoreDebug_DEMCR_VC_INTERR_Pos 9U 1705 #define CoreDebug_DEMCR_VC_INTERR_Msk (1UL << CoreDebug_DEMCR_VC_INTERR_Pos) 1707 #define CoreDebug_DEMCR_VC_BUSERR_Pos 8U 1708 #define CoreDebug_DEMCR_VC_BUSERR_Msk (1UL << CoreDebug_DEMCR_VC_BUSERR_Pos) 1710 #define CoreDebug_DEMCR_VC_STATERR_Pos 7U 1711 #define CoreDebug_DEMCR_VC_STATERR_Msk (1UL << CoreDebug_DEMCR_VC_STATERR_Pos) 1713 #define CoreDebug_DEMCR_VC_CHKERR_Pos 6U 1714 #define CoreDebug_DEMCR_VC_CHKERR_Msk (1UL << CoreDebug_DEMCR_VC_CHKERR_Pos) 1716 #define CoreDebug_DEMCR_VC_NOCPERR_Pos 5U 1717 #define CoreDebug_DEMCR_VC_NOCPERR_Msk (1UL << CoreDebug_DEMCR_VC_NOCPERR_Pos) 1719 #define CoreDebug_DEMCR_VC_MMERR_Pos 4U 1720 #define CoreDebug_DEMCR_VC_MMERR_Msk (1UL << CoreDebug_DEMCR_VC_MMERR_Pos) 1722 #define CoreDebug_DEMCR_VC_CORERESET_Pos 0U 1723 #define CoreDebug_DEMCR_VC_CORERESET_Msk (1UL ) 1741 #define _VAL2FLD(field, value) (((uint32_t)(value) << field ## _Pos) & field ## _Msk) 1749 #define _FLD2VAL(field, value) (((uint32_t)(value) & field ## _Msk) >> field ## _Pos) 1762 #define SCS_BASE (0xE000E000UL) 1763 #define ITM_BASE (0xE0000000UL) 1764 #define DWT_BASE (0xE0001000UL) 1765 #define TPI_BASE (0xE0040000UL) 1766 #define CoreDebug_BASE (0xE000EDF0UL) 1767 #define SysTick_BASE (SCS_BASE + 0x0010UL) 1768 #define NVIC_BASE (SCS_BASE + 0x0100UL) 1769 #define SCB_BASE (SCS_BASE + 0x0D00UL) 1771 #define SCnSCB ((SCnSCB_Type *) SCS_BASE ) 1772 #define SCB ((SCB_Type *) SCB_BASE ) 1773 #define SysTick ((SysTick_Type *) SysTick_BASE ) 1774 #define NVIC ((NVIC_Type *) NVIC_BASE ) 1775 #define ITM ((ITM_Type *) ITM_BASE ) 1776 #define DWT ((DWT_Type *) DWT_BASE ) 1777 #define TPI ((TPI_Type *) TPI_BASE ) 1778 #define CoreDebug ((CoreDebug_Type *) CoreDebug_BASE) 1780 #if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) 1781 #define MPU_BASE (SCS_BASE + 0x0D90UL) 1782 #define MPU ((MPU_Type *) MPU_BASE ) 1785 #define FPU_BASE (SCS_BASE + 0x0F30UL) 1786 #define FPU ((FPU_Type *) FPU_BASE ) 1814 #ifdef CMSIS_NVIC_VIRTUAL 1815 #ifndef CMSIS_NVIC_VIRTUAL_HEADER_FILE 1816 #define CMSIS_NVIC_VIRTUAL_HEADER_FILE "cmsis_nvic_virtual.h" 1818 #include CMSIS_NVIC_VIRTUAL_HEADER_FILE 1820 #define NVIC_SetPriorityGrouping __NVIC_SetPriorityGrouping 1821 #define NVIC_GetPriorityGrouping __NVIC_GetPriorityGrouping 1822 #define NVIC_EnableIRQ __NVIC_EnableIRQ 1823 #define NVIC_GetEnableIRQ __NVIC_GetEnableIRQ 1824 #define NVIC_DisableIRQ __NVIC_DisableIRQ 1825 #define NVIC_GetPendingIRQ __NVIC_GetPendingIRQ 1826 #define NVIC_SetPendingIRQ __NVIC_SetPendingIRQ 1827 #define NVIC_ClearPendingIRQ __NVIC_ClearPendingIRQ 1828 #define NVIC_GetActive __NVIC_GetActive 1829 #define NVIC_SetPriority __NVIC_SetPriority 1830 #define NVIC_GetPriority __NVIC_GetPriority 1831 #define NVIC_SystemReset __NVIC_SystemReset 1834 #ifdef CMSIS_VECTAB_VIRTUAL 1835 #ifndef CMSIS_VECTAB_VIRTUAL_HEADER_FILE 1836 #define CMSIS_VECTAB_VIRTUAL_HEADER_FILE "cmsis_vectab_virtual.h" 1838 #include CMSIS_VECTAB_VIRTUAL_HEADER_FILE 1840 #define NVIC_SetVector __NVIC_SetVector 1841 #define NVIC_GetVector __NVIC_GetVector 1844 #define NVIC_USER_IRQ_OFFSET 16 1848 #define EXC_RETURN_HANDLER (0xFFFFFFF1UL) 1849 #define EXC_RETURN_THREAD_MSP (0xFFFFFFF9UL) 1850 #define EXC_RETURN_THREAD_PSP (0xFFFFFFFDUL) 1851 #define EXC_RETURN_HANDLER_FPU (0xFFFFFFE1UL) 1852 #define EXC_RETURN_THREAD_MSP_FPU (0xFFFFFFE9UL) 1853 #define EXC_RETURN_THREAD_PSP_FPU (0xFFFFFFEDUL) 1868 uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL);
1870 reg_value =
SCB->AIRCR;
1872 reg_value = (reg_value |
1875 SCB->AIRCR = reg_value;
1898 if ((int32_t)(IRQn) >= 0)
1900 NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
1915 if ((int32_t)(IRQn) >= 0)
1917 return((uint32_t)(((
NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
1934 if ((int32_t)(IRQn) >= 0)
1936 NVIC->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
1953 if ((int32_t)(IRQn) >= 0)
1955 return((uint32_t)(((
NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
1972 if ((int32_t)(IRQn) >= 0)
1974 NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
1987 if ((int32_t)(IRQn) >= 0)
1989 NVIC->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
2004 if ((int32_t)(IRQn) >= 0)
2006 return((uint32_t)(((
NVIC->IABR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
2026 if ((int32_t)(IRQn) >= 0)
2028 NVIC->IP[((uint32_t)IRQn)] = (uint8_t)((priority << (8U -
__NVIC_PRIO_BITS)) & (uint32_t)0xFFUL);
2032 SCB->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U -
__NVIC_PRIO_BITS)) & (uint32_t)0xFFUL);
2049 if ((int32_t)(IRQn) >= 0)
2071 __STATIC_INLINE uint32_t
NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority)
2073 uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL);
2074 uint32_t PreemptPriorityBits;
2075 uint32_t SubPriorityBits;
2078 SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(
__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(
__NVIC_PRIO_BITS));
2081 ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) |
2082 ((SubPriority & (uint32_t)((1UL << (SubPriorityBits )) - 1UL)))
2098 __STATIC_INLINE
void NVIC_DecodePriority (uint32_t Priority, uint32_t PriorityGroup, uint32_t*
const pPreemptPriority, uint32_t*
const pSubPriority)
2100 uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL);
2101 uint32_t PreemptPriorityBits;
2102 uint32_t SubPriorityBits;
2105 SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(
__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(
__NVIC_PRIO_BITS));
2107 *pPreemptPriority = (Priority >> SubPriorityBits) & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL);
2108 *pSubPriority = (Priority ) & (uint32_t)((1UL << (SubPriorityBits )) - 1UL);
2123 uint32_t *vectors = (uint32_t *)
SCB->VTOR;
2124 vectors[(int32_t)IRQn + NVIC_USER_IRQ_OFFSET] = vector;
2138 uint32_t *vectors = (uint32_t *)
SCB->VTOR;
2139 return vectors[(int32_t)IRQn + NVIC_USER_IRQ_OFFSET];
2166 #if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) 2168 #include "mpu_armv7.h" 2221 #define CCSIDR_WAYS(x) (((x) & SCB_CCSIDR_ASSOCIATIVITY_Msk) >> SCB_CCSIDR_ASSOCIATIVITY_Pos) 2222 #define CCSIDR_SETS(x) (((x) & SCB_CCSIDR_NUMSETS_Msk ) >> SCB_CCSIDR_NUMSETS_Pos ) 2231 #if defined (__ICACHE_PRESENT) && (__ICACHE_PRESENT == 1U) 2250 #if defined (__ICACHE_PRESENT) && (__ICACHE_PRESENT == 1U) 2267 #if defined (__ICACHE_PRESENT) && (__ICACHE_PRESENT == 1U) 2283 #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U) 2291 ccsidr =
SCB->CCSIDR;
2294 sets = (uint32_t)(CCSIDR_SETS(ccsidr));
2296 ways = (uint32_t)(CCSIDR_WAYS(ccsidr));
2300 #if defined ( __CC_ARM ) 2301 __schedule_barrier();
2303 }
while (ways-- != 0U);
2304 }
while(sets-- != 0U);
2321 #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U) 2332 ccsidr =
SCB->CCSIDR;
2335 sets = (uint32_t)(CCSIDR_SETS(ccsidr));
2337 ways = (uint32_t)(CCSIDR_WAYS(ccsidr));
2341 #if defined ( __CC_ARM ) 2342 __schedule_barrier();
2344 }
while (ways-- != 0U);
2345 }
while(sets-- != 0U);
2359 #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U) 2367 ccsidr =
SCB->CCSIDR;
2370 sets = (uint32_t)(CCSIDR_SETS(ccsidr));
2372 ways = (uint32_t)(CCSIDR_WAYS(ccsidr));
2376 #if defined ( __CC_ARM ) 2377 __schedule_barrier();
2379 }
while (ways-- != 0U);
2380 }
while(sets-- != 0U);
2394 #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U) 2402 ccsidr =
SCB->CCSIDR;
2405 sets = (uint32_t)(CCSIDR_SETS(ccsidr));
2407 ways = (uint32_t)(CCSIDR_WAYS(ccsidr));
2411 #if defined ( __CC_ARM ) 2412 __schedule_barrier();
2414 }
while (ways-- != 0U);
2415 }
while(sets-- != 0U);
2429 #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U) 2437 ccsidr =
SCB->CCSIDR;
2440 sets = (uint32_t)(CCSIDR_SETS(ccsidr));
2442 ways = (uint32_t)(CCSIDR_WAYS(ccsidr));
2446 #if defined ( __CC_ARM ) 2447 __schedule_barrier();
2449 }
while (ways-- != 0U);
2450 }
while(sets-- != 0U);
2466 #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U) 2467 int32_t op_size = dsize;
2468 uint32_t op_addr = (uint32_t)addr;
2469 int32_t linesize = 32;
2473 while (op_size > 0) {
2474 SCB->DCIMVAC = op_addr;
2475 op_addr += (uint32_t)linesize;
2476 op_size -= linesize;
2493 #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U) 2494 int32_t op_size = dsize;
2495 uint32_t op_addr = (uint32_t) addr;
2496 int32_t linesize = 32;
2500 while (op_size > 0) {
2501 SCB->DCCMVAC = op_addr;
2502 op_addr += (uint32_t)linesize;
2503 op_size -= linesize;
2520 #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U) 2521 int32_t op_size = dsize;
2522 uint32_t op_addr = (uint32_t) addr;
2523 int32_t linesize = 32;
2527 while (op_size > 0) {
2528 SCB->DCCIMVAC = op_addr;
2529 op_addr += (uint32_t)linesize;
2530 op_size -= linesize;
2551 #if defined (__Vendor_SysTickConfig) && (__Vendor_SysTickConfig == 0U) 2564 __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
2571 SysTick->LOAD = (uint32_t)(ticks - 1UL);
2595 #define ITM_RXBUFFER_EMPTY ((int32_t)0x5AA55AA5U) 2606 __STATIC_INLINE uint32_t ITM_SendChar (uint32_t ch) 2609 ((
ITM->TER & 1UL ) != 0UL) )
2611 while (
ITM->PORT[0U].u32 == 0UL)
2615 ITM->PORT[0U].u8 = (uint8_t)ch;
__STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn)
Get Interrupt Enable status.
Definition: core_armv8mbl.h:1269
__STATIC_INLINE void NVIC_DecodePriority(uint32_t Priority, uint32_t PriorityGroup, uint32_t *const pPreemptPriority, uint32_t *const pSubPriority)
Decode Priority.
Definition: core_armv8mbl.h:1523
#define SCB_DCCSW_WAY_Msk
Definition: core_cm7.h:824
#define SCB_DCCISW_SET_Msk
Definition: core_cm7.h:834
__STATIC_INLINE void SCB_InvalidateICache(void)
Invalidate I-Cache.
Definition: core_cm7.h:2265
__STATIC_INLINE uint32_t SCB_GetFPUType(void)
get FPU type
Definition: core_armv8mbl.h:1791
__STATIC_INLINE int32_t ITM_CheckChar(void)
ITM Check Character.
Definition: core_armv8mml.h:2903
__STATIC_INLINE void SCB_DisableDCache(void)
Disable D-Cache.
Definition: core_cm7.h:2319
#define SCB_AIRCR_VECTKEY_Pos
Definition: core_cm7.h:561
Structure type to access the Nested Vectored Interrupt Controller (NVIC).
Definition: core_armv8mbl.h:351
#define SCB_CCR_IC_Msk
Definition: core_cm7.h:597
#define SysTick_CTRL_CLKSOURCE_Msk
Definition: core_cm7.h:974
Structure type to access the System Control Block (SCB).
Definition: core_armv8mbl.h:381
#define ITM
Definition: core_cm7.h:1775
Structure type to access the Data Watchpoint and Trace Register (DWT).
Definition: core_armv8mbl.h:610
__STATIC_INLINE void SCB_CleanDCache_by_Addr(uint32_t *addr, int32_t dsize)
D-Cache Clean by address.
Definition: core_cm7.h:2491
#define SCB_DCCISW_WAY_Msk
Definition: core_cm7.h:831
__STATIC_INLINE uint32_t NVIC_EncodePriority(uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority)
Encode Priority.
Definition: core_armv8mbl.h:1496
#define ITM_RXBUFFER_EMPTY
Definition: core_cm7.h:2595
#define SCB_DCCISW_WAY_Pos
Definition: core_cm7.h:830
Definition: stm32f103xb.h:80
__STATIC_INLINE void SCB_EnableDCache(void)
Enable D-Cache.
Definition: core_cm7.h:2281
__STATIC_FORCEINLINE void __DSB(void)
Data Synchronization Barrier.
Definition: cmsis_gcc.h:877
__STATIC_INLINE uint32_t __NVIC_GetActive(IRQn_Type IRQn)
Get Active Interrupt.
Definition: core_armv8mbl.h:1358
__STATIC_INLINE void SCB_DisableICache(void)
Disable I-Cache.
Definition: core_cm7.h:2248
#define __NOP
No Operation.
Definition: cmsis_armcc.h:387
__STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
Set Pending Interrupt.
Definition: core_armv8mbl.h:1326
volatile int32_t ITM_RxBuffer
__STATIC_INLINE void SCB_CleanInvalidateDCache_by_Addr(uint32_t *addr, int32_t dsize)
D-Cache Clean and Invalidate by address.
Definition: core_cm7.h:2518
__STATIC_INLINE void SCB_EnableICache(void)
Enable I-Cache.
Definition: core_cm7.h:2229
__STATIC_INLINE void SCB_InvalidateDCache(void)
Invalidate D-Cache.
Definition: core_cm7.h:2357
__STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
Clear Pending Interrupt.
Definition: core_armv8mbl.h:1341
#define SysTick_CTRL_TICKINT_Msk
Definition: core_cm7.h:977
#define SCB
Definition: core_cm7.h:1772
Structure type to access the System Timer (SysTick).
Definition: core_armv8mbl.h:558
#define SCB_DCCSW_SET_Pos
Definition: core_cm7.h:826
Structure type to access the Core Debug Register (CoreDebug).
Definition: core_armv8mbl.h:988
#define SCB_DCISW_WAY_Msk
Definition: core_cm7.h:817
Union type to access the Application Program Status Register (APSR).
Definition: core_armv8mbl.h:233
CMSIS Core(M) Version definitions.
#define SCB_AIRCR_VECTKEY_Msk
Definition: core_cm7.h:562
__STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
Enable Interrupt.
Definition: core_armv8mbl.h:1252
#define FPU_MVFR0_Double_precision_Msk
Definition: core_cm7.h:1597
__STATIC_INLINE void SCB_CleanInvalidateDCache(void)
Clean & Invalidate D-Cache.
Definition: core_cm7.h:2427
Structure type to access the Floating Point Unit (FPU).
Definition: core_armv8mml.h:1685
#define SysTick
Definition: core_cm7.h:1773
#define SCB_DCCSW_SET_Msk
Definition: core_cm7.h:827
#define SCB_AIRCR_PRIGROUP_Msk
Definition: core_cm7.h:571
#define SCB_DCISW_WAY_Pos
Definition: core_cm7.h:816
#define SCB_DCISW_SET_Pos
Definition: core_cm7.h:819
__STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
Set Interrupt Vector.
Definition: core_armv8mbl.h:1547
Union type to access the Control Registers (CONTROL).
Definition: core_armv8mbl.h:320
__STATIC_INLINE void __NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
Set Priority Grouping.
Definition: core_armv8mml.h:2116
Structure type to access the Trace Port Interface Register (TPI).
Definition: core_armv8mbl.h:725
#define NVIC
Definition: core_cm7.h:1774
#define SysTick_LOAD_RELOAD_Msk
Definition: core_cm7.h:984
Structure type to access the System Control and ID Register not in the SCB.
Definition: core_armv8mml.h:1009
IRQn_Type
STM32F10x Interrupt Number Definition, according to the selected device in Library_configuration_sect...
Definition: stm32f103xb.h:69
Union type to access the Interrupt Program Status Register (IPSR).
Definition: core_armv8mbl.h:263
__STATIC_INLINE int32_t ITM_ReceiveChar(void)
ITM Receive Character.
Definition: core_armv8mml.h:2883
__STATIC_FORCEINLINE void __ISB(void)
Instruction Synchronization Barrier.
Definition: cmsis_gcc.h:866
Union type to access the Special-Purpose Program Status Registers (xPSR).
Definition: core_armv8mbl.h:281
#define FPU_MVFR0_Single_precision_Msk
Definition: core_cm7.h:1600
#define SCB_DCCSW_WAY_Pos
Definition: core_cm7.h:823
__STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn)
Disable Interrupt.
Definition: core_armv8mbl.h:1288
#define SysTick_CTRL_ENABLE_Msk
Definition: core_cm7.h:980
__STATIC_INLINE void SCB_CleanDCache(void)
Clean D-Cache.
Definition: core_cm7.h:2392
__STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn)
Get Interrupt Vector.
Definition: core_armv8mbl.h:1566
#define SCB_DCCISW_SET_Pos
Definition: core_cm7.h:833
CMSIS compiler generic header file.
#define SCB_CCR_DC_Msk
Definition: core_cm7.h:600
#define SCB_DCISW_SET_Msk
Definition: core_cm7.h:820
__STATIC_INLINE uint32_t __NVIC_GetPriorityGrouping(void)
Get Priority Grouping.
Definition: core_armv8mml.h:2135
#define __NVIC_PRIO_BITS
Definition: stm32f103xb.h:52
#define ITM_TCR_ITMENA_Msk
Definition: core_cm7.h:1079
#define SCB_AIRCR_SYSRESETREQ_Msk
Definition: core_cm7.h:574
__STATIC_INLINE void SCB_InvalidateDCache_by_Addr(uint32_t *addr, int32_t dsize)
D-Cache Invalidate by address.
Definition: core_cm7.h:2464
Structure type to access the Instrumentation Trace Macrocell Register (ITM).
Definition: core_armv8mml.h:1086
__NO_RETURN __STATIC_INLINE void __NVIC_SystemReset(void)
System Reset.
Definition: core_armv8mbl.h:1581
__STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
Set Interrupt Priority.
Definition: core_armv8mbl.h:1447
__STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn)
Get Pending Interrupt.
Definition: core_armv8mbl.h:1307
__STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn)
Get Interrupt Priority.
Definition: core_armv8mbl.h:1471
#define SCB_AIRCR_PRIGROUP_Pos
Definition: core_cm7.h:570