38 #if defined ( __ICCARM__ ) 39 #pragma system_include 42 #ifndef __CORE_CM7_H_GENERIC 43 #define __CORE_CM7_H_GENERIC 71 #define __CM7_CMSIS_VERSION_MAIN (0x04) 72 #define __CM7_CMSIS_VERSION_SUB (0x00) 73 #define __CM7_CMSIS_VERSION ((__CM7_CMSIS_VERSION_MAIN << 16) | \ 74 __CM7_CMSIS_VERSION_SUB ) 76 #define __CORTEX_M (0x07) 79 #if defined ( __CC_ARM ) 81 #define __INLINE __inline 82 #define __STATIC_INLINE static __inline 84 #elif defined ( __GNUC__ ) 86 #define __INLINE inline 87 #define __STATIC_INLINE static inline 89 #elif defined ( __ICCARM__ ) 91 #define __INLINE inline 92 #define __STATIC_INLINE static inline 94 #elif defined ( __TMS470__ ) 96 #define __STATIC_INLINE static inline 98 #elif defined ( __TASKING__ ) 100 #define __INLINE inline 101 #define __STATIC_INLINE static inline 103 #elif defined ( __CSMC__ ) 106 #define __INLINE inline 107 #define __STATIC_INLINE static inline 114 #if defined ( __CC_ARM ) 115 #if defined __TARGET_FPU_VFP 116 #if (__FPU_PRESENT == 1) 119 #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" 126 #elif defined ( __GNUC__ ) 127 #if defined (__VFP_FP__) && !defined(__SOFTFP__) 128 #if (__FPU_PRESENT == 1) 131 #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" 138 #elif defined ( __ICCARM__ ) 139 #if defined __ARMVFP__ 140 #if (__FPU_PRESENT == 1) 143 #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" 150 #elif defined ( __TMS470__ ) 151 #if defined __TI_VFP_SUPPORT__ 152 #if (__FPU_PRESENT == 1) 155 #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" 162 #elif defined ( __TASKING__ ) 163 #if defined __FPU_VFP__ 164 #if (__FPU_PRESENT == 1) 167 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" 174 #elif defined ( __CSMC__ ) 175 #if ( __CSMC__ & 0x400) // FPU present for parser 176 #if (__FPU_PRESENT == 1) 179 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" 198 #ifndef __CMSIS_GENERIC 200 #ifndef __CORE_CM7_H_DEPENDANT 201 #define __CORE_CM7_H_DEPENDANT 208 #if defined __CHECK_DEVICE_DEFINES 210 #define __CM7_REV 0x0000 211 #warning "__CM7_REV not defined in device header file; using default!" 214 #ifndef __FPU_PRESENT 215 #define __FPU_PRESENT 0 216 #warning "__FPU_PRESENT not defined in device header file; using default!" 219 #ifndef __MPU_PRESENT 220 #define __MPU_PRESENT 0 221 #warning "__MPU_PRESENT not defined in device header file; using default!" 224 #ifndef __ICACHE_PRESENT 225 #define __ICACHE_PRESENT 0 226 #warning "__ICACHE_PRESENT not defined in device header file; using default!" 229 #ifndef __DCACHE_PRESENT 230 #define __DCACHE_PRESENT 0 231 #warning "__DCACHE_PRESENT not defined in device header file; using default!" 234 #ifndef __DTCM_PRESENT 235 #define __DTCM_PRESENT 0 236 #warning "__DTCM_PRESENT not defined in device header file; using default!" 239 #ifndef __NVIC_PRIO_BITS 240 #define __NVIC_PRIO_BITS 3 241 #warning "__NVIC_PRIO_BITS not defined in device header file; using default!" 244 #ifndef __Vendor_SysTickConfig 245 #define __Vendor_SysTickConfig 0 246 #warning "__Vendor_SysTickConfig not defined in device header file; using default!" 261 #define __I volatile const 264 #define __IO volatile 297 #if (__CORTEX_M != 0x07) 298 uint32_t _reserved0:27;
300 uint32_t _reserved0:16;
302 uint32_t _reserved1:7;
321 uint32_t _reserved0:23;
334 #if (__CORTEX_M != 0x07) 335 uint32_t _reserved0:15;
337 uint32_t _reserved0:7;
339 uint32_t _reserved1:4;
362 uint32_t _reserved0:29;
380 __IO uint32_t ISER[8];
381 uint32_t RESERVED0[24];
382 __IO uint32_t ICER[8];
383 uint32_t RSERVED1[24];
384 __IO uint32_t ISPR[8];
385 uint32_t RESERVED2[24];
386 __IO uint32_t ICPR[8];
387 uint32_t RESERVED3[24];
388 __IO uint32_t IABR[8];
389 uint32_t RESERVED4[56];
390 __IO uint8_t IP[240];
391 uint32_t RESERVED5[644];
396 #define NVIC_STIR_INTID_Pos 0 397 #define NVIC_STIR_INTID_Msk (0x1FFUL << NVIC_STIR_INTID_Pos) 431 uint32_t RESERVED0[1];
437 uint32_t RESERVED3[93];
439 uint32_t RESERVED4[15];
443 uint32_t RESERVED5[1];
445 uint32_t RESERVED6[1];
454 uint32_t RESERVED7[6];
460 uint32_t RESERVED8[1];
465 #define SCB_CPUID_IMPLEMENTER_Pos 24 466 #define SCB_CPUID_IMPLEMENTER_Msk (0xFFUL << SCB_CPUID_IMPLEMENTER_Pos) 468 #define SCB_CPUID_VARIANT_Pos 20 469 #define SCB_CPUID_VARIANT_Msk (0xFUL << SCB_CPUID_VARIANT_Pos) 471 #define SCB_CPUID_ARCHITECTURE_Pos 16 472 #define SCB_CPUID_ARCHITECTURE_Msk (0xFUL << SCB_CPUID_ARCHITECTURE_Pos) 474 #define SCB_CPUID_PARTNO_Pos 4 475 #define SCB_CPUID_PARTNO_Msk (0xFFFUL << SCB_CPUID_PARTNO_Pos) 477 #define SCB_CPUID_REVISION_Pos 0 478 #define SCB_CPUID_REVISION_Msk (0xFUL << SCB_CPUID_REVISION_Pos) 481 #define SCB_ICSR_NMIPENDSET_Pos 31 482 #define SCB_ICSR_NMIPENDSET_Msk (1UL << SCB_ICSR_NMIPENDSET_Pos) 484 #define SCB_ICSR_PENDSVSET_Pos 28 485 #define SCB_ICSR_PENDSVSET_Msk (1UL << SCB_ICSR_PENDSVSET_Pos) 487 #define SCB_ICSR_PENDSVCLR_Pos 27 488 #define SCB_ICSR_PENDSVCLR_Msk (1UL << SCB_ICSR_PENDSVCLR_Pos) 490 #define SCB_ICSR_PENDSTSET_Pos 26 491 #define SCB_ICSR_PENDSTSET_Msk (1UL << SCB_ICSR_PENDSTSET_Pos) 493 #define SCB_ICSR_PENDSTCLR_Pos 25 494 #define SCB_ICSR_PENDSTCLR_Msk (1UL << SCB_ICSR_PENDSTCLR_Pos) 496 #define SCB_ICSR_ISRPREEMPT_Pos 23 497 #define SCB_ICSR_ISRPREEMPT_Msk (1UL << SCB_ICSR_ISRPREEMPT_Pos) 499 #define SCB_ICSR_ISRPENDING_Pos 22 500 #define SCB_ICSR_ISRPENDING_Msk (1UL << SCB_ICSR_ISRPENDING_Pos) 502 #define SCB_ICSR_VECTPENDING_Pos 12 503 #define SCB_ICSR_VECTPENDING_Msk (0x1FFUL << SCB_ICSR_VECTPENDING_Pos) 505 #define SCB_ICSR_RETTOBASE_Pos 11 506 #define SCB_ICSR_RETTOBASE_Msk (1UL << SCB_ICSR_RETTOBASE_Pos) 508 #define SCB_ICSR_VECTACTIVE_Pos 0 509 #define SCB_ICSR_VECTACTIVE_Msk (0x1FFUL << SCB_ICSR_VECTACTIVE_Pos) 512 #define SCB_VTOR_TBLOFF_Pos 7 513 #define SCB_VTOR_TBLOFF_Msk (0x1FFFFFFUL << SCB_VTOR_TBLOFF_Pos) 516 #define SCB_AIRCR_VECTKEY_Pos 16 517 #define SCB_AIRCR_VECTKEY_Msk (0xFFFFUL << SCB_AIRCR_VECTKEY_Pos) 519 #define SCB_AIRCR_VECTKEYSTAT_Pos 16 520 #define SCB_AIRCR_VECTKEYSTAT_Msk (0xFFFFUL << SCB_AIRCR_VECTKEYSTAT_Pos) 522 #define SCB_AIRCR_ENDIANESS_Pos 15 523 #define SCB_AIRCR_ENDIANESS_Msk (1UL << SCB_AIRCR_ENDIANESS_Pos) 525 #define SCB_AIRCR_PRIGROUP_Pos 8 526 #define SCB_AIRCR_PRIGROUP_Msk (7UL << SCB_AIRCR_PRIGROUP_Pos) 528 #define SCB_AIRCR_SYSRESETREQ_Pos 2 529 #define SCB_AIRCR_SYSRESETREQ_Msk (1UL << SCB_AIRCR_SYSRESETREQ_Pos) 531 #define SCB_AIRCR_VECTCLRACTIVE_Pos 1 532 #define SCB_AIRCR_VECTCLRACTIVE_Msk (1UL << SCB_AIRCR_VECTCLRACTIVE_Pos) 534 #define SCB_AIRCR_VECTRESET_Pos 0 535 #define SCB_AIRCR_VECTRESET_Msk (1UL << SCB_AIRCR_VECTRESET_Pos) 538 #define SCB_SCR_SEVONPEND_Pos 4 539 #define SCB_SCR_SEVONPEND_Msk (1UL << SCB_SCR_SEVONPEND_Pos) 541 #define SCB_SCR_SLEEPDEEP_Pos 2 542 #define SCB_SCR_SLEEPDEEP_Msk (1UL << SCB_SCR_SLEEPDEEP_Pos) 544 #define SCB_SCR_SLEEPONEXIT_Pos 1 545 #define SCB_SCR_SLEEPONEXIT_Msk (1UL << SCB_SCR_SLEEPONEXIT_Pos) 548 #define SCB_CCR_BP_Pos 18 549 #define SCB_CCR_BP_Msk (1UL << SCB_CCR_BP_Pos) 551 #define SCB_CCR_IC_Pos 17 552 #define SCB_CCR_IC_Msk (1UL << SCB_CCR_IC_Pos) 554 #define SCB_CCR_DC_Pos 16 555 #define SCB_CCR_DC_Msk (1UL << SCB_CCR_DC_Pos) 557 #define SCB_CCR_STKALIGN_Pos 9 558 #define SCB_CCR_STKALIGN_Msk (1UL << SCB_CCR_STKALIGN_Pos) 560 #define SCB_CCR_BFHFNMIGN_Pos 8 561 #define SCB_CCR_BFHFNMIGN_Msk (1UL << SCB_CCR_BFHFNMIGN_Pos) 563 #define SCB_CCR_DIV_0_TRP_Pos 4 564 #define SCB_CCR_DIV_0_TRP_Msk (1UL << SCB_CCR_DIV_0_TRP_Pos) 566 #define SCB_CCR_UNALIGN_TRP_Pos 3 567 #define SCB_CCR_UNALIGN_TRP_Msk (1UL << SCB_CCR_UNALIGN_TRP_Pos) 569 #define SCB_CCR_USERSETMPEND_Pos 1 570 #define SCB_CCR_USERSETMPEND_Msk (1UL << SCB_CCR_USERSETMPEND_Pos) 572 #define SCB_CCR_NONBASETHRDENA_Pos 0 573 #define SCB_CCR_NONBASETHRDENA_Msk (1UL << SCB_CCR_NONBASETHRDENA_Pos) 576 #define SCB_SHCSR_USGFAULTENA_Pos 18 577 #define SCB_SHCSR_USGFAULTENA_Msk (1UL << SCB_SHCSR_USGFAULTENA_Pos) 579 #define SCB_SHCSR_BUSFAULTENA_Pos 17 580 #define SCB_SHCSR_BUSFAULTENA_Msk (1UL << SCB_SHCSR_BUSFAULTENA_Pos) 582 #define SCB_SHCSR_MEMFAULTENA_Pos 16 583 #define SCB_SHCSR_MEMFAULTENA_Msk (1UL << SCB_SHCSR_MEMFAULTENA_Pos) 585 #define SCB_SHCSR_SVCALLPENDED_Pos 15 586 #define SCB_SHCSR_SVCALLPENDED_Msk (1UL << SCB_SHCSR_SVCALLPENDED_Pos) 588 #define SCB_SHCSR_BUSFAULTPENDED_Pos 14 589 #define SCB_SHCSR_BUSFAULTPENDED_Msk (1UL << SCB_SHCSR_BUSFAULTPENDED_Pos) 591 #define SCB_SHCSR_MEMFAULTPENDED_Pos 13 592 #define SCB_SHCSR_MEMFAULTPENDED_Msk (1UL << SCB_SHCSR_MEMFAULTPENDED_Pos) 594 #define SCB_SHCSR_USGFAULTPENDED_Pos 12 595 #define SCB_SHCSR_USGFAULTPENDED_Msk (1UL << SCB_SHCSR_USGFAULTPENDED_Pos) 597 #define SCB_SHCSR_SYSTICKACT_Pos 11 598 #define SCB_SHCSR_SYSTICKACT_Msk (1UL << SCB_SHCSR_SYSTICKACT_Pos) 600 #define SCB_SHCSR_PENDSVACT_Pos 10 601 #define SCB_SHCSR_PENDSVACT_Msk (1UL << SCB_SHCSR_PENDSVACT_Pos) 603 #define SCB_SHCSR_MONITORACT_Pos 8 604 #define SCB_SHCSR_MONITORACT_Msk (1UL << SCB_SHCSR_MONITORACT_Pos) 606 #define SCB_SHCSR_SVCALLACT_Pos 7 607 #define SCB_SHCSR_SVCALLACT_Msk (1UL << SCB_SHCSR_SVCALLACT_Pos) 609 #define SCB_SHCSR_USGFAULTACT_Pos 3 610 #define SCB_SHCSR_USGFAULTACT_Msk (1UL << SCB_SHCSR_USGFAULTACT_Pos) 612 #define SCB_SHCSR_BUSFAULTACT_Pos 1 613 #define SCB_SHCSR_BUSFAULTACT_Msk (1UL << SCB_SHCSR_BUSFAULTACT_Pos) 615 #define SCB_SHCSR_MEMFAULTACT_Pos 0 616 #define SCB_SHCSR_MEMFAULTACT_Msk (1UL << SCB_SHCSR_MEMFAULTACT_Pos) 619 #define SCB_CFSR_USGFAULTSR_Pos 16 620 #define SCB_CFSR_USGFAULTSR_Msk (0xFFFFUL << SCB_CFSR_USGFAULTSR_Pos) 622 #define SCB_CFSR_BUSFAULTSR_Pos 8 623 #define SCB_CFSR_BUSFAULTSR_Msk (0xFFUL << SCB_CFSR_BUSFAULTSR_Pos) 625 #define SCB_CFSR_MEMFAULTSR_Pos 0 626 #define SCB_CFSR_MEMFAULTSR_Msk (0xFFUL << SCB_CFSR_MEMFAULTSR_Pos) 629 #define SCB_HFSR_DEBUGEVT_Pos 31 630 #define SCB_HFSR_DEBUGEVT_Msk (1UL << SCB_HFSR_DEBUGEVT_Pos) 632 #define SCB_HFSR_FORCED_Pos 30 633 #define SCB_HFSR_FORCED_Msk (1UL << SCB_HFSR_FORCED_Pos) 635 #define SCB_HFSR_VECTTBL_Pos 1 636 #define SCB_HFSR_VECTTBL_Msk (1UL << SCB_HFSR_VECTTBL_Pos) 639 #define SCB_DFSR_EXTERNAL_Pos 4 640 #define SCB_DFSR_EXTERNAL_Msk (1UL << SCB_DFSR_EXTERNAL_Pos) 642 #define SCB_DFSR_VCATCH_Pos 3 643 #define SCB_DFSR_VCATCH_Msk (1UL << SCB_DFSR_VCATCH_Pos) 645 #define SCB_DFSR_DWTTRAP_Pos 2 646 #define SCB_DFSR_DWTTRAP_Msk (1UL << SCB_DFSR_DWTTRAP_Pos) 648 #define SCB_DFSR_BKPT_Pos 1 649 #define SCB_DFSR_BKPT_Msk (1UL << SCB_DFSR_BKPT_Pos) 651 #define SCB_DFSR_HALTED_Pos 0 652 #define SCB_DFSR_HALTED_Msk (1UL << SCB_DFSR_HALTED_Pos) 655 #define SCB_CLIDR_LOUU_Pos 27 656 #define SCB_CLIDR_LOUU_Msk (7UL << SCB_CLIDR_LOUU_Pos) 658 #define SCB_CLIDR_LOC_Pos 24 659 #define SCB_CLIDR_LOC_Msk (7UL << SCB_CLIDR_FORMAT_Pos) 662 #define SCB_CTR_FORMAT_Pos 29 663 #define SCB_CTR_FORMAT_Msk (7UL << SCB_CTR_FORMAT_Pos) 665 #define SCB_CTR_CWG_Pos 24 666 #define SCB_CTR_CWG_Msk (0xFUL << SCB_CTR_CWG_Pos) 668 #define SCB_CTR_ERG_Pos 20 669 #define SCB_CTR_ERG_Msk (0xFUL << SCB_CTR_ERG_Pos) 671 #define SCB_CTR_DMINLINE_Pos 16 672 #define SCB_CTR_DMINLINE_Msk (0xFUL << SCB_CTR_DMINLINE_Pos) 674 #define SCB_CTR_IMINLINE_Pos 0 675 #define SCB_CTR_IMINLINE_Msk (0xFUL << SCB_CTR_IMINLINE_Pos) 678 #define SCB_CCSIDR_WT_Pos 31 679 #define SCB_CCSIDR_WT_Msk (7UL << SCB_CCSIDR_WT_Pos) 681 #define SCB_CCSIDR_WB_Pos 30 682 #define SCB_CCSIDR_WB_Msk (7UL << SCB_CCSIDR_WB_Pos) 684 #define SCB_CCSIDR_RA_Pos 29 685 #define SCB_CCSIDR_RA_Msk (7UL << SCB_CCSIDR_RA_Pos) 687 #define SCB_CCSIDR_WA_Pos 28 688 #define SCB_CCSIDR_WA_Msk (7UL << SCB_CCSIDR_WA_Pos) 690 #define SCB_CCSIDR_NUMSETS_Pos 13 691 #define SCB_CCSIDR_NUMSETS_Msk (0x7FFFUL << SCB_CCSIDR_NUMSETS_Pos) 693 #define SCB_CCSIDR_ASSOCIATIVITY_Pos 3 694 #define SCB_CCSIDR_ASSOCIATIVITY_Msk (0x3FFUL << SCB_CCSIDR_ASSOCIATIVITY_Pos) 696 #define SCB_CCSIDR_LINESIZE_Pos 0 697 #define SCB_CCSIDR_LINESIZE_Msk (7UL << SCB_CCSIDR_LINESIZE_Pos) 700 #define SCB_CSSELR_LEVEL_Pos 0 701 #define SCB_CSSELR_LEVEL_Msk (1UL << SCB_CSSELR_LEVEL_Pos) 703 #define SCB_CSSELR_IND_Pos 0 704 #define SCB_CSSELR_IND_Msk (1UL << SCB_CSSELR_IND_Pos) 707 #define SCB_STIR_INTID_Pos 0 708 #define SCB_STIR_INTID_Msk (0x1FFUL << SCB_STIR_INTID_Pos) 711 #define SCB_ITCMCR_SZ_Pos 3 712 #define SCB_ITCMCR_SZ_Msk (0xFUL << SCB_ITCMCR_SZ_Pos) 714 #define SCB_ITCMCR_RETEN_Pos 2 715 #define SCB_ITCMCR_RETEN_Msk (1FFUL << SCB_ITCMCR_RETEN_Pos) 717 #define SCB_ITCMCR_RMW_Pos 1 718 #define SCB_ITCMCR_RMW_Msk (1FFUL << SCB_ITCMCR_RMW_Pos) 720 #define SCB_ITCMCR_EN_Pos 0 721 #define SCB_ITCMCR_EN_Msk (1FFUL << SCB_ITCMCR_EN_Pos) 724 #define SCB_DTCMCR_SZ_Pos 3 725 #define SCB_DTCMCR_SZ_Msk (0xFUL << SCB_DTCMCR_SZ_Pos) 727 #define SCB_DTCMCR_RETEN_Pos 2 728 #define SCB_DTCMCR_RETEN_Msk (1UL << SCB_DTCMCR_RETEN_Pos) 730 #define SCB_DTCMCR_RMW_Pos 1 731 #define SCB_DTCMCR_RMW_Msk (1UL << SCB_DTCMCR_RMW_Pos) 733 #define SCB_DTCMCR_EN_Pos 0 734 #define SCB_DTCMCR_EN_Msk (1UL << SCB_DTCMCR_EN_Pos) 737 #define SCB_AHBPCR_SZ_Pos 1 738 #define SCB_AHBPCR_SZ_Msk (7UL << SCB_AHBPCR_SZ_Pos) 740 #define SCB_AHBPCR_EN_Pos 0 741 #define SCB_AHBPCR_EN_Msk (1UL << SCB_AHBPCR_EN_Pos) 744 #define SCB_CACR_FORCEWT_Pos 2 745 #define SCB_CACR_FORCEWT_Msk (1UL << SCB_CACR_FORCEWT_Pos) 747 #define SCB_CACR_ECCEN_Pos 1 748 #define SCB_CACR_ECCEN_Msk (1UL << SCB_CACR_ECCEN_Pos) 750 #define SCB_CACR_SIWT_Pos 0 751 #define SCB_CACR_SIWT_Msk (1UL << SCB_CACR_SIWT_Pos) 754 #define SCB_AHBSCR_INITCOUNT_Pos 11 755 #define SCB_AHBSCR_INITCOUNT_Msk (0x1FUL << SCB_AHBPCR_INITCOUNT_Pos) 757 #define SCB_AHBSCR_TPRI_Pos 2 758 #define SCB_AHBSCR_TPRI_Msk (0x1FFUL << SCB_AHBPCR_TPRI_Pos) 760 #define SCB_AHBSCR_CTL_Pos 0 761 #define SCB_AHBSCR_CTL_Msk (3UL << SCB_AHBPCR_CTL_Pos) 764 #define SCB_ABFSR_AXIMTYPE_Pos 8 765 #define SCB_ABFSR_AXIMTYPE_Msk (3UL << SCB_ABFSR_AXIMTYPE_Pos) 767 #define SCB_ABFSR_EPPB_Pos 4 768 #define SCB_ABFSR_EPPB_Msk (1UL << SCB_ABFSR_EPPB_Pos) 770 #define SCB_ABFSR_AXIM_Pos 3 771 #define SCB_ABFSR_AXIM_Msk (1UL << SCB_ABFSR_AXIM_Pos) 773 #define SCB_ABFSR_AHBP_Pos 2 774 #define SCB_ABFSR_AHBP_Msk (1UL << SCB_ABFSR_AHBP_Pos) 776 #define SCB_ABFSR_DTCM_Pos 1 777 #define SCB_ABFSR_DTCM_Msk (1UL << SCB_ABFSR_DTCM_Pos) 779 #define SCB_ABFSR_ITCM_Pos 0 780 #define SCB_ABFSR_ITCM_Msk (1UL << SCB_ABFSR_ITCM_Pos) 795 uint32_t RESERVED0[1];
801 #define SCnSCB_ICTR_INTLINESNUM_Pos 0 802 #define SCnSCB_ICTR_INTLINESNUM_Msk (0xFUL << SCnSCB_ICTR_INTLINESNUM_Pos) 805 #define SCnSCB_ACTLR_DISITMATBFLUSH_Pos 12 806 #define SCnSCB_ACTLR_DISITMATBFLUSH_Msk (1UL << SCnSCB_ACTLR_DISITMATBFLUSH_Pos) 808 #define SCnSCB_ACTLR_DISRAMODE_Pos 11 809 #define SCnSCB_ACTLR_DISRAMODE_Msk (1UL << SCnSCB_ACTLR_DISRAMODE_Pos) 811 #define SCnSCB_ACTLR_FPEXCODIS_Pos 10 812 #define SCnSCB_ACTLR_FPEXCODIS_Msk (1UL << SCnSCB_ACTLR_FPEXCODIS_Pos) 814 #define SCnSCB_ACTLR_DISFOLD_Pos 2 815 #define SCnSCB_ACTLR_DISFOLD_Msk (1UL << SCnSCB_ACTLR_DISFOLD_Pos) 817 #define SCnSCB_ACTLR_DISMCYCINT_Pos 0 818 #define SCnSCB_ACTLR_DISMCYCINT_Msk (1UL << SCnSCB_ACTLR_DISMCYCINT_Pos) 840 #define SysTick_CTRL_COUNTFLAG_Pos 16 841 #define SysTick_CTRL_COUNTFLAG_Msk (1UL << SysTick_CTRL_COUNTFLAG_Pos) 843 #define SysTick_CTRL_CLKSOURCE_Pos 2 844 #define SysTick_CTRL_CLKSOURCE_Msk (1UL << SysTick_CTRL_CLKSOURCE_Pos) 846 #define SysTick_CTRL_TICKINT_Pos 1 847 #define SysTick_CTRL_TICKINT_Msk (1UL << SysTick_CTRL_TICKINT_Pos) 849 #define SysTick_CTRL_ENABLE_Pos 0 850 #define SysTick_CTRL_ENABLE_Msk (1UL << SysTick_CTRL_ENABLE_Pos) 853 #define SysTick_LOAD_RELOAD_Pos 0 854 #define SysTick_LOAD_RELOAD_Msk (0xFFFFFFUL << SysTick_LOAD_RELOAD_Pos) 857 #define SysTick_VAL_CURRENT_Pos 0 858 #define SysTick_VAL_CURRENT_Msk (0xFFFFFFUL << SysTick_VAL_CURRENT_Pos) 861 #define SysTick_CALIB_NOREF_Pos 31 862 #define SysTick_CALIB_NOREF_Msk (1UL << SysTick_CALIB_NOREF_Pos) 864 #define SysTick_CALIB_SKEW_Pos 30 865 #define SysTick_CALIB_SKEW_Msk (1UL << SysTick_CALIB_SKEW_Pos) 867 #define SysTick_CALIB_TENMS_Pos 0 868 #define SysTick_CALIB_TENMS_Msk (0xFFFFFFUL << SysTick_CALIB_TENMS_Pos) 889 uint32_t RESERVED0[864];
891 uint32_t RESERVED1[15];
893 uint32_t RESERVED2[15];
895 uint32_t RESERVED3[29];
899 uint32_t RESERVED4[43];
902 uint32_t RESERVED5[6];
918 #define ITM_TPR_PRIVMASK_Pos 0 919 #define ITM_TPR_PRIVMASK_Msk (0xFUL << ITM_TPR_PRIVMASK_Pos) 922 #define ITM_TCR_BUSY_Pos 23 923 #define ITM_TCR_BUSY_Msk (1UL << ITM_TCR_BUSY_Pos) 925 #define ITM_TCR_TraceBusID_Pos 16 926 #define ITM_TCR_TraceBusID_Msk (0x7FUL << ITM_TCR_TraceBusID_Pos) 928 #define ITM_TCR_GTSFREQ_Pos 10 929 #define ITM_TCR_GTSFREQ_Msk (3UL << ITM_TCR_GTSFREQ_Pos) 931 #define ITM_TCR_TSPrescale_Pos 8 932 #define ITM_TCR_TSPrescale_Msk (3UL << ITM_TCR_TSPrescale_Pos) 934 #define ITM_TCR_SWOENA_Pos 4 935 #define ITM_TCR_SWOENA_Msk (1UL << ITM_TCR_SWOENA_Pos) 937 #define ITM_TCR_DWTENA_Pos 3 938 #define ITM_TCR_DWTENA_Msk (1UL << ITM_TCR_DWTENA_Pos) 940 #define ITM_TCR_SYNCENA_Pos 2 941 #define ITM_TCR_SYNCENA_Msk (1UL << ITM_TCR_SYNCENA_Pos) 943 #define ITM_TCR_TSENA_Pos 1 944 #define ITM_TCR_TSENA_Msk (1UL << ITM_TCR_TSENA_Pos) 946 #define ITM_TCR_ITMENA_Pos 0 947 #define ITM_TCR_ITMENA_Msk (1UL << ITM_TCR_ITMENA_Pos) 950 #define ITM_IWR_ATVALIDM_Pos 0 951 #define ITM_IWR_ATVALIDM_Msk (1UL << ITM_IWR_ATVALIDM_Pos) 954 #define ITM_IRR_ATREADYM_Pos 0 955 #define ITM_IRR_ATREADYM_Msk (1UL << ITM_IRR_ATREADYM_Pos) 958 #define ITM_IMCR_INTEGRATION_Pos 0 959 #define ITM_IMCR_INTEGRATION_Msk (1UL << ITM_IMCR_INTEGRATION_Pos) 962 #define ITM_LSR_ByteAcc_Pos 2 963 #define ITM_LSR_ByteAcc_Msk (1UL << ITM_LSR_ByteAcc_Pos) 965 #define ITM_LSR_Access_Pos 1 966 #define ITM_LSR_Access_Msk (1UL << ITM_LSR_Access_Pos) 968 #define ITM_LSR_Present_Pos 0 969 #define ITM_LSR_Present_Msk (1UL << ITM_LSR_Present_Pos) 985 __IO uint32_t CYCCNT;
986 __IO uint32_t CPICNT;
987 __IO uint32_t EXCCNT;
988 __IO uint32_t SLEEPCNT;
989 __IO uint32_t LSUCNT;
990 __IO uint32_t FOLDCNT;
994 __IO uint32_t FUNCTION0;
995 uint32_t RESERVED0[1];
998 __IO uint32_t FUNCTION1;
999 uint32_t RESERVED1[1];
1000 __IO uint32_t COMP2;
1001 __IO uint32_t MASK2;
1002 __IO uint32_t FUNCTION2;
1003 uint32_t RESERVED2[1];
1004 __IO uint32_t COMP3;
1005 __IO uint32_t MASK3;
1006 __IO uint32_t FUNCTION3;
1007 uint32_t RESERVED3[981];
1013 #define DWT_CTRL_NUMCOMP_Pos 28 1014 #define DWT_CTRL_NUMCOMP_Msk (0xFUL << DWT_CTRL_NUMCOMP_Pos) 1016 #define DWT_CTRL_NOTRCPKT_Pos 27 1017 #define DWT_CTRL_NOTRCPKT_Msk (0x1UL << DWT_CTRL_NOTRCPKT_Pos) 1019 #define DWT_CTRL_NOEXTTRIG_Pos 26 1020 #define DWT_CTRL_NOEXTTRIG_Msk (0x1UL << DWT_CTRL_NOEXTTRIG_Pos) 1022 #define DWT_CTRL_NOCYCCNT_Pos 25 1023 #define DWT_CTRL_NOCYCCNT_Msk (0x1UL << DWT_CTRL_NOCYCCNT_Pos) 1025 #define DWT_CTRL_NOPRFCNT_Pos 24 1026 #define DWT_CTRL_NOPRFCNT_Msk (0x1UL << DWT_CTRL_NOPRFCNT_Pos) 1028 #define DWT_CTRL_CYCEVTENA_Pos 22 1029 #define DWT_CTRL_CYCEVTENA_Msk (0x1UL << DWT_CTRL_CYCEVTENA_Pos) 1031 #define DWT_CTRL_FOLDEVTENA_Pos 21 1032 #define DWT_CTRL_FOLDEVTENA_Msk (0x1UL << DWT_CTRL_FOLDEVTENA_Pos) 1034 #define DWT_CTRL_LSUEVTENA_Pos 20 1035 #define DWT_CTRL_LSUEVTENA_Msk (0x1UL << DWT_CTRL_LSUEVTENA_Pos) 1037 #define DWT_CTRL_SLEEPEVTENA_Pos 19 1038 #define DWT_CTRL_SLEEPEVTENA_Msk (0x1UL << DWT_CTRL_SLEEPEVTENA_Pos) 1040 #define DWT_CTRL_EXCEVTENA_Pos 18 1041 #define DWT_CTRL_EXCEVTENA_Msk (0x1UL << DWT_CTRL_EXCEVTENA_Pos) 1043 #define DWT_CTRL_CPIEVTENA_Pos 17 1044 #define DWT_CTRL_CPIEVTENA_Msk (0x1UL << DWT_CTRL_CPIEVTENA_Pos) 1046 #define DWT_CTRL_EXCTRCENA_Pos 16 1047 #define DWT_CTRL_EXCTRCENA_Msk (0x1UL << DWT_CTRL_EXCTRCENA_Pos) 1049 #define DWT_CTRL_PCSAMPLENA_Pos 12 1050 #define DWT_CTRL_PCSAMPLENA_Msk (0x1UL << DWT_CTRL_PCSAMPLENA_Pos) 1052 #define DWT_CTRL_SYNCTAP_Pos 10 1053 #define DWT_CTRL_SYNCTAP_Msk (0x3UL << DWT_CTRL_SYNCTAP_Pos) 1055 #define DWT_CTRL_CYCTAP_Pos 9 1056 #define DWT_CTRL_CYCTAP_Msk (0x1UL << DWT_CTRL_CYCTAP_Pos) 1058 #define DWT_CTRL_POSTINIT_Pos 5 1059 #define DWT_CTRL_POSTINIT_Msk (0xFUL << DWT_CTRL_POSTINIT_Pos) 1061 #define DWT_CTRL_POSTPRESET_Pos 1 1062 #define DWT_CTRL_POSTPRESET_Msk (0xFUL << DWT_CTRL_POSTPRESET_Pos) 1064 #define DWT_CTRL_CYCCNTENA_Pos 0 1065 #define DWT_CTRL_CYCCNTENA_Msk (0x1UL << DWT_CTRL_CYCCNTENA_Pos) 1068 #define DWT_CPICNT_CPICNT_Pos 0 1069 #define DWT_CPICNT_CPICNT_Msk (0xFFUL << DWT_CPICNT_CPICNT_Pos) 1072 #define DWT_EXCCNT_EXCCNT_Pos 0 1073 #define DWT_EXCCNT_EXCCNT_Msk (0xFFUL << DWT_EXCCNT_EXCCNT_Pos) 1076 #define DWT_SLEEPCNT_SLEEPCNT_Pos 0 1077 #define DWT_SLEEPCNT_SLEEPCNT_Msk (0xFFUL << DWT_SLEEPCNT_SLEEPCNT_Pos) 1080 #define DWT_LSUCNT_LSUCNT_Pos 0 1081 #define DWT_LSUCNT_LSUCNT_Msk (0xFFUL << DWT_LSUCNT_LSUCNT_Pos) 1084 #define DWT_FOLDCNT_FOLDCNT_Pos 0 1085 #define DWT_FOLDCNT_FOLDCNT_Msk (0xFFUL << DWT_FOLDCNT_FOLDCNT_Pos) 1088 #define DWT_MASK_MASK_Pos 0 1089 #define DWT_MASK_MASK_Msk (0x1FUL << DWT_MASK_MASK_Pos) 1092 #define DWT_FUNCTION_MATCHED_Pos 24 1093 #define DWT_FUNCTION_MATCHED_Msk (0x1UL << DWT_FUNCTION_MATCHED_Pos) 1095 #define DWT_FUNCTION_DATAVADDR1_Pos 16 1096 #define DWT_FUNCTION_DATAVADDR1_Msk (0xFUL << DWT_FUNCTION_DATAVADDR1_Pos) 1098 #define DWT_FUNCTION_DATAVADDR0_Pos 12 1099 #define DWT_FUNCTION_DATAVADDR0_Msk (0xFUL << DWT_FUNCTION_DATAVADDR0_Pos) 1101 #define DWT_FUNCTION_DATAVSIZE_Pos 10 1102 #define DWT_FUNCTION_DATAVSIZE_Msk (0x3UL << DWT_FUNCTION_DATAVSIZE_Pos) 1104 #define DWT_FUNCTION_LNK1ENA_Pos 9 1105 #define DWT_FUNCTION_LNK1ENA_Msk (0x1UL << DWT_FUNCTION_LNK1ENA_Pos) 1107 #define DWT_FUNCTION_DATAVMATCH_Pos 8 1108 #define DWT_FUNCTION_DATAVMATCH_Msk (0x1UL << DWT_FUNCTION_DATAVMATCH_Pos) 1110 #define DWT_FUNCTION_CYCMATCH_Pos 7 1111 #define DWT_FUNCTION_CYCMATCH_Msk (0x1UL << DWT_FUNCTION_CYCMATCH_Pos) 1113 #define DWT_FUNCTION_EMITRANGE_Pos 5 1114 #define DWT_FUNCTION_EMITRANGE_Msk (0x1UL << DWT_FUNCTION_EMITRANGE_Pos) 1116 #define DWT_FUNCTION_FUNCTION_Pos 0 1117 #define DWT_FUNCTION_FUNCTION_Msk (0xFUL << DWT_FUNCTION_FUNCTION_Pos) 1132 __IO uint32_t SSPSR;
1133 __IO uint32_t CSPSR;
1134 uint32_t RESERVED0[2];
1136 uint32_t RESERVED1[55];
1138 uint32_t RESERVED2[131];
1142 uint32_t RESERVED3[759];
1143 __I uint32_t TRIGGER;
1145 __I uint32_t ITATBCTR2;
1146 uint32_t RESERVED4[1];
1147 __I uint32_t ITATBCTR0;
1149 __IO uint32_t ITCTRL;
1150 uint32_t RESERVED5[39];
1151 __IO uint32_t CLAIMSET;
1152 __IO uint32_t CLAIMCLR;
1153 uint32_t RESERVED7[8];
1155 __I uint32_t DEVTYPE;
1159 #define TPI_ACPR_PRESCALER_Pos 0 1160 #define TPI_ACPR_PRESCALER_Msk (0x1FFFUL << TPI_ACPR_PRESCALER_Pos) 1163 #define TPI_SPPR_TXMODE_Pos 0 1164 #define TPI_SPPR_TXMODE_Msk (0x3UL << TPI_SPPR_TXMODE_Pos) 1167 #define TPI_FFSR_FtNonStop_Pos 3 1168 #define TPI_FFSR_FtNonStop_Msk (0x1UL << TPI_FFSR_FtNonStop_Pos) 1170 #define TPI_FFSR_TCPresent_Pos 2 1171 #define TPI_FFSR_TCPresent_Msk (0x1UL << TPI_FFSR_TCPresent_Pos) 1173 #define TPI_FFSR_FtStopped_Pos 1 1174 #define TPI_FFSR_FtStopped_Msk (0x1UL << TPI_FFSR_FtStopped_Pos) 1176 #define TPI_FFSR_FlInProg_Pos 0 1177 #define TPI_FFSR_FlInProg_Msk (0x1UL << TPI_FFSR_FlInProg_Pos) 1180 #define TPI_FFCR_TrigIn_Pos 8 1181 #define TPI_FFCR_TrigIn_Msk (0x1UL << TPI_FFCR_TrigIn_Pos) 1183 #define TPI_FFCR_EnFCont_Pos 1 1184 #define TPI_FFCR_EnFCont_Msk (0x1UL << TPI_FFCR_EnFCont_Pos) 1187 #define TPI_TRIGGER_TRIGGER_Pos 0 1188 #define TPI_TRIGGER_TRIGGER_Msk (0x1UL << TPI_TRIGGER_TRIGGER_Pos) 1191 #define TPI_FIFO0_ITM_ATVALID_Pos 29 1192 #define TPI_FIFO0_ITM_ATVALID_Msk (0x3UL << TPI_FIFO0_ITM_ATVALID_Pos) 1194 #define TPI_FIFO0_ITM_bytecount_Pos 27 1195 #define TPI_FIFO0_ITM_bytecount_Msk (0x3UL << TPI_FIFO0_ITM_bytecount_Pos) 1197 #define TPI_FIFO0_ETM_ATVALID_Pos 26 1198 #define TPI_FIFO0_ETM_ATVALID_Msk (0x3UL << TPI_FIFO0_ETM_ATVALID_Pos) 1200 #define TPI_FIFO0_ETM_bytecount_Pos 24 1201 #define TPI_FIFO0_ETM_bytecount_Msk (0x3UL << TPI_FIFO0_ETM_bytecount_Pos) 1203 #define TPI_FIFO0_ETM2_Pos 16 1204 #define TPI_FIFO0_ETM2_Msk (0xFFUL << TPI_FIFO0_ETM2_Pos) 1206 #define TPI_FIFO0_ETM1_Pos 8 1207 #define TPI_FIFO0_ETM1_Msk (0xFFUL << TPI_FIFO0_ETM1_Pos) 1209 #define TPI_FIFO0_ETM0_Pos 0 1210 #define TPI_FIFO0_ETM0_Msk (0xFFUL << TPI_FIFO0_ETM0_Pos) 1213 #define TPI_ITATBCTR2_ATREADY_Pos 0 1214 #define TPI_ITATBCTR2_ATREADY_Msk (0x1UL << TPI_ITATBCTR2_ATREADY_Pos) 1217 #define TPI_FIFO1_ITM_ATVALID_Pos 29 1218 #define TPI_FIFO1_ITM_ATVALID_Msk (0x3UL << TPI_FIFO1_ITM_ATVALID_Pos) 1220 #define TPI_FIFO1_ITM_bytecount_Pos 27 1221 #define TPI_FIFO1_ITM_bytecount_Msk (0x3UL << TPI_FIFO1_ITM_bytecount_Pos) 1223 #define TPI_FIFO1_ETM_ATVALID_Pos 26 1224 #define TPI_FIFO1_ETM_ATVALID_Msk (0x3UL << TPI_FIFO1_ETM_ATVALID_Pos) 1226 #define TPI_FIFO1_ETM_bytecount_Pos 24 1227 #define TPI_FIFO1_ETM_bytecount_Msk (0x3UL << TPI_FIFO1_ETM_bytecount_Pos) 1229 #define TPI_FIFO1_ITM2_Pos 16 1230 #define TPI_FIFO1_ITM2_Msk (0xFFUL << TPI_FIFO1_ITM2_Pos) 1232 #define TPI_FIFO1_ITM1_Pos 8 1233 #define TPI_FIFO1_ITM1_Msk (0xFFUL << TPI_FIFO1_ITM1_Pos) 1235 #define TPI_FIFO1_ITM0_Pos 0 1236 #define TPI_FIFO1_ITM0_Msk (0xFFUL << TPI_FIFO1_ITM0_Pos) 1239 #define TPI_ITATBCTR0_ATREADY_Pos 0 1240 #define TPI_ITATBCTR0_ATREADY_Msk (0x1UL << TPI_ITATBCTR0_ATREADY_Pos) 1243 #define TPI_ITCTRL_Mode_Pos 0 1244 #define TPI_ITCTRL_Mode_Msk (0x1UL << TPI_ITCTRL_Mode_Pos) 1247 #define TPI_DEVID_NRZVALID_Pos 11 1248 #define TPI_DEVID_NRZVALID_Msk (0x1UL << TPI_DEVID_NRZVALID_Pos) 1250 #define TPI_DEVID_MANCVALID_Pos 10 1251 #define TPI_DEVID_MANCVALID_Msk (0x1UL << TPI_DEVID_MANCVALID_Pos) 1253 #define TPI_DEVID_PTINVALID_Pos 9 1254 #define TPI_DEVID_PTINVALID_Msk (0x1UL << TPI_DEVID_PTINVALID_Pos) 1256 #define TPI_DEVID_MinBufSz_Pos 6 1257 #define TPI_DEVID_MinBufSz_Msk (0x7UL << TPI_DEVID_MinBufSz_Pos) 1259 #define TPI_DEVID_AsynClkIn_Pos 5 1260 #define TPI_DEVID_AsynClkIn_Msk (0x1UL << TPI_DEVID_AsynClkIn_Pos) 1262 #define TPI_DEVID_NrTraceInput_Pos 0 1263 #define TPI_DEVID_NrTraceInput_Msk (0x1FUL << TPI_DEVID_NrTraceInput_Pos) 1266 #define TPI_DEVTYPE_SubType_Pos 0 1267 #define TPI_DEVTYPE_SubType_Msk (0xFUL << TPI_DEVTYPE_SubType_Pos) 1269 #define TPI_DEVTYPE_MajorType_Pos 4 1270 #define TPI_DEVTYPE_MajorType_Msk (0xFUL << TPI_DEVTYPE_MajorType_Pos) 1275 #if (__MPU_PRESENT == 1) 1291 __IO uint32_t RBAR_A1;
1292 __IO uint32_t RASR_A1;
1293 __IO uint32_t RBAR_A2;
1294 __IO uint32_t RASR_A2;
1295 __IO uint32_t RBAR_A3;
1296 __IO uint32_t RASR_A3;
1300 #define MPU_TYPE_IREGION_Pos 16 1301 #define MPU_TYPE_IREGION_Msk (0xFFUL << MPU_TYPE_IREGION_Pos) 1303 #define MPU_TYPE_DREGION_Pos 8 1304 #define MPU_TYPE_DREGION_Msk (0xFFUL << MPU_TYPE_DREGION_Pos) 1306 #define MPU_TYPE_SEPARATE_Pos 0 1307 #define MPU_TYPE_SEPARATE_Msk (1UL << MPU_TYPE_SEPARATE_Pos) 1310 #define MPU_CTRL_PRIVDEFENA_Pos 2 1311 #define MPU_CTRL_PRIVDEFENA_Msk (1UL << MPU_CTRL_PRIVDEFENA_Pos) 1313 #define MPU_CTRL_HFNMIENA_Pos 1 1314 #define MPU_CTRL_HFNMIENA_Msk (1UL << MPU_CTRL_HFNMIENA_Pos) 1316 #define MPU_CTRL_ENABLE_Pos 0 1317 #define MPU_CTRL_ENABLE_Msk (1UL << MPU_CTRL_ENABLE_Pos) 1320 #define MPU_RNR_REGION_Pos 0 1321 #define MPU_RNR_REGION_Msk (0xFFUL << MPU_RNR_REGION_Pos) 1324 #define MPU_RBAR_ADDR_Pos 5 1325 #define MPU_RBAR_ADDR_Msk (0x7FFFFFFUL << MPU_RBAR_ADDR_Pos) 1327 #define MPU_RBAR_VALID_Pos 4 1328 #define MPU_RBAR_VALID_Msk (1UL << MPU_RBAR_VALID_Pos) 1330 #define MPU_RBAR_REGION_Pos 0 1331 #define MPU_RBAR_REGION_Msk (0xFUL << MPU_RBAR_REGION_Pos) 1334 #define MPU_RASR_ATTRS_Pos 16 1335 #define MPU_RASR_ATTRS_Msk (0xFFFFUL << MPU_RASR_ATTRS_Pos) 1337 #define MPU_RASR_XN_Pos 28 1338 #define MPU_RASR_XN_Msk (1UL << MPU_RASR_XN_Pos) 1340 #define MPU_RASR_AP_Pos 24 1341 #define MPU_RASR_AP_Msk (0x7UL << MPU_RASR_AP_Pos) 1343 #define MPU_RASR_TEX_Pos 19 1344 #define MPU_RASR_TEX_Msk (0x7UL << MPU_RASR_TEX_Pos) 1346 #define MPU_RASR_S_Pos 18 1347 #define MPU_RASR_S_Msk (1UL << MPU_RASR_S_Pos) 1349 #define MPU_RASR_C_Pos 17 1350 #define MPU_RASR_C_Msk (1UL << MPU_RASR_C_Pos) 1352 #define MPU_RASR_B_Pos 16 1353 #define MPU_RASR_B_Msk (1UL << MPU_RASR_B_Pos) 1355 #define MPU_RASR_SRD_Pos 8 1356 #define MPU_RASR_SRD_Msk (0xFFUL << MPU_RASR_SRD_Pos) 1358 #define MPU_RASR_SIZE_Pos 1 1359 #define MPU_RASR_SIZE_Msk (0x1FUL << MPU_RASR_SIZE_Pos) 1361 #define MPU_RASR_ENABLE_Pos 0 1362 #define MPU_RASR_ENABLE_Msk (1UL << MPU_RASR_ENABLE_Pos) 1368 #if (__FPU_PRESENT == 1) 1379 uint32_t RESERVED0[1];
1380 __IO uint32_t FPCCR;
1381 __IO uint32_t FPCAR;
1382 __IO uint32_t FPDSCR;
1389 #define FPU_FPCCR_ASPEN_Pos 31 1390 #define FPU_FPCCR_ASPEN_Msk (1UL << FPU_FPCCR_ASPEN_Pos) 1392 #define FPU_FPCCR_LSPEN_Pos 30 1393 #define FPU_FPCCR_LSPEN_Msk (1UL << FPU_FPCCR_LSPEN_Pos) 1395 #define FPU_FPCCR_MONRDY_Pos 8 1396 #define FPU_FPCCR_MONRDY_Msk (1UL << FPU_FPCCR_MONRDY_Pos) 1398 #define FPU_FPCCR_BFRDY_Pos 6 1399 #define FPU_FPCCR_BFRDY_Msk (1UL << FPU_FPCCR_BFRDY_Pos) 1401 #define FPU_FPCCR_MMRDY_Pos 5 1402 #define FPU_FPCCR_MMRDY_Msk (1UL << FPU_FPCCR_MMRDY_Pos) 1404 #define FPU_FPCCR_HFRDY_Pos 4 1405 #define FPU_FPCCR_HFRDY_Msk (1UL << FPU_FPCCR_HFRDY_Pos) 1407 #define FPU_FPCCR_THREAD_Pos 3 1408 #define FPU_FPCCR_THREAD_Msk (1UL << FPU_FPCCR_THREAD_Pos) 1410 #define FPU_FPCCR_USER_Pos 1 1411 #define FPU_FPCCR_USER_Msk (1UL << FPU_FPCCR_USER_Pos) 1413 #define FPU_FPCCR_LSPACT_Pos 0 1414 #define FPU_FPCCR_LSPACT_Msk (1UL << FPU_FPCCR_LSPACT_Pos) 1417 #define FPU_FPCAR_ADDRESS_Pos 3 1418 #define FPU_FPCAR_ADDRESS_Msk (0x1FFFFFFFUL << FPU_FPCAR_ADDRESS_Pos) 1421 #define FPU_FPDSCR_AHP_Pos 26 1422 #define FPU_FPDSCR_AHP_Msk (1UL << FPU_FPDSCR_AHP_Pos) 1424 #define FPU_FPDSCR_DN_Pos 25 1425 #define FPU_FPDSCR_DN_Msk (1UL << FPU_FPDSCR_DN_Pos) 1427 #define FPU_FPDSCR_FZ_Pos 24 1428 #define FPU_FPDSCR_FZ_Msk (1UL << FPU_FPDSCR_FZ_Pos) 1430 #define FPU_FPDSCR_RMode_Pos 22 1431 #define FPU_FPDSCR_RMode_Msk (3UL << FPU_FPDSCR_RMode_Pos) 1434 #define FPU_MVFR0_FP_rounding_modes_Pos 28 1435 #define FPU_MVFR0_FP_rounding_modes_Msk (0xFUL << FPU_MVFR0_FP_rounding_modes_Pos) 1437 #define FPU_MVFR0_Short_vectors_Pos 24 1438 #define FPU_MVFR0_Short_vectors_Msk (0xFUL << FPU_MVFR0_Short_vectors_Pos) 1440 #define FPU_MVFR0_Square_root_Pos 20 1441 #define FPU_MVFR0_Square_root_Msk (0xFUL << FPU_MVFR0_Square_root_Pos) 1443 #define FPU_MVFR0_Divide_Pos 16 1444 #define FPU_MVFR0_Divide_Msk (0xFUL << FPU_MVFR0_Divide_Pos) 1446 #define FPU_MVFR0_FP_excep_trapping_Pos 12 1447 #define FPU_MVFR0_FP_excep_trapping_Msk (0xFUL << FPU_MVFR0_FP_excep_trapping_Pos) 1449 #define FPU_MVFR0_Double_precision_Pos 8 1450 #define FPU_MVFR0_Double_precision_Msk (0xFUL << FPU_MVFR0_Double_precision_Pos) 1452 #define FPU_MVFR0_Single_precision_Pos 4 1453 #define FPU_MVFR0_Single_precision_Msk (0xFUL << FPU_MVFR0_Single_precision_Pos) 1455 #define FPU_MVFR0_A_SIMD_registers_Pos 0 1456 #define FPU_MVFR0_A_SIMD_registers_Msk (0xFUL << FPU_MVFR0_A_SIMD_registers_Pos) 1459 #define FPU_MVFR1_FP_fused_MAC_Pos 28 1460 #define FPU_MVFR1_FP_fused_MAC_Msk (0xFUL << FPU_MVFR1_FP_fused_MAC_Pos) 1462 #define FPU_MVFR1_FP_HPFP_Pos 24 1463 #define FPU_MVFR1_FP_HPFP_Msk (0xFUL << FPU_MVFR1_FP_HPFP_Pos) 1465 #define FPU_MVFR1_D_NaN_mode_Pos 4 1466 #define FPU_MVFR1_D_NaN_mode_Msk (0xFUL << FPU_MVFR1_D_NaN_mode_Pos) 1468 #define FPU_MVFR1_FtZ_mode_Pos 0 1469 #define FPU_MVFR1_FtZ_mode_Msk (0xFUL << FPU_MVFR1_FtZ_mode_Pos) 1487 __IO uint32_t DHCSR;
1489 __IO uint32_t DCRDR;
1490 __IO uint32_t DEMCR;
1494 #define CoreDebug_DHCSR_DBGKEY_Pos 16 1495 #define CoreDebug_DHCSR_DBGKEY_Msk (0xFFFFUL << CoreDebug_DHCSR_DBGKEY_Pos) 1497 #define CoreDebug_DHCSR_S_RESET_ST_Pos 25 1498 #define CoreDebug_DHCSR_S_RESET_ST_Msk (1UL << CoreDebug_DHCSR_S_RESET_ST_Pos) 1500 #define CoreDebug_DHCSR_S_RETIRE_ST_Pos 24 1501 #define CoreDebug_DHCSR_S_RETIRE_ST_Msk (1UL << CoreDebug_DHCSR_S_RETIRE_ST_Pos) 1503 #define CoreDebug_DHCSR_S_LOCKUP_Pos 19 1504 #define CoreDebug_DHCSR_S_LOCKUP_Msk (1UL << CoreDebug_DHCSR_S_LOCKUP_Pos) 1506 #define CoreDebug_DHCSR_S_SLEEP_Pos 18 1507 #define CoreDebug_DHCSR_S_SLEEP_Msk (1UL << CoreDebug_DHCSR_S_SLEEP_Pos) 1509 #define CoreDebug_DHCSR_S_HALT_Pos 17 1510 #define CoreDebug_DHCSR_S_HALT_Msk (1UL << CoreDebug_DHCSR_S_HALT_Pos) 1512 #define CoreDebug_DHCSR_S_REGRDY_Pos 16 1513 #define CoreDebug_DHCSR_S_REGRDY_Msk (1UL << CoreDebug_DHCSR_S_REGRDY_Pos) 1515 #define CoreDebug_DHCSR_C_SNAPSTALL_Pos 5 1516 #define CoreDebug_DHCSR_C_SNAPSTALL_Msk (1UL << CoreDebug_DHCSR_C_SNAPSTALL_Pos) 1518 #define CoreDebug_DHCSR_C_MASKINTS_Pos 3 1519 #define CoreDebug_DHCSR_C_MASKINTS_Msk (1UL << CoreDebug_DHCSR_C_MASKINTS_Pos) 1521 #define CoreDebug_DHCSR_C_STEP_Pos 2 1522 #define CoreDebug_DHCSR_C_STEP_Msk (1UL << CoreDebug_DHCSR_C_STEP_Pos) 1524 #define CoreDebug_DHCSR_C_HALT_Pos 1 1525 #define CoreDebug_DHCSR_C_HALT_Msk (1UL << CoreDebug_DHCSR_C_HALT_Pos) 1527 #define CoreDebug_DHCSR_C_DEBUGEN_Pos 0 1528 #define CoreDebug_DHCSR_C_DEBUGEN_Msk (1UL << CoreDebug_DHCSR_C_DEBUGEN_Pos) 1531 #define CoreDebug_DCRSR_REGWnR_Pos 16 1532 #define CoreDebug_DCRSR_REGWnR_Msk (1UL << CoreDebug_DCRSR_REGWnR_Pos) 1534 #define CoreDebug_DCRSR_REGSEL_Pos 0 1535 #define CoreDebug_DCRSR_REGSEL_Msk (0x1FUL << CoreDebug_DCRSR_REGSEL_Pos) 1538 #define CoreDebug_DEMCR_TRCENA_Pos 24 1539 #define CoreDebug_DEMCR_TRCENA_Msk (1UL << CoreDebug_DEMCR_TRCENA_Pos) 1541 #define CoreDebug_DEMCR_MON_REQ_Pos 19 1542 #define CoreDebug_DEMCR_MON_REQ_Msk (1UL << CoreDebug_DEMCR_MON_REQ_Pos) 1544 #define CoreDebug_DEMCR_MON_STEP_Pos 18 1545 #define CoreDebug_DEMCR_MON_STEP_Msk (1UL << CoreDebug_DEMCR_MON_STEP_Pos) 1547 #define CoreDebug_DEMCR_MON_PEND_Pos 17 1548 #define CoreDebug_DEMCR_MON_PEND_Msk (1UL << CoreDebug_DEMCR_MON_PEND_Pos) 1550 #define CoreDebug_DEMCR_MON_EN_Pos 16 1551 #define CoreDebug_DEMCR_MON_EN_Msk (1UL << CoreDebug_DEMCR_MON_EN_Pos) 1553 #define CoreDebug_DEMCR_VC_HARDERR_Pos 10 1554 #define CoreDebug_DEMCR_VC_HARDERR_Msk (1UL << CoreDebug_DEMCR_VC_HARDERR_Pos) 1556 #define CoreDebug_DEMCR_VC_INTERR_Pos 9 1557 #define CoreDebug_DEMCR_VC_INTERR_Msk (1UL << CoreDebug_DEMCR_VC_INTERR_Pos) 1559 #define CoreDebug_DEMCR_VC_BUSERR_Pos 8 1560 #define CoreDebug_DEMCR_VC_BUSERR_Msk (1UL << CoreDebug_DEMCR_VC_BUSERR_Pos) 1562 #define CoreDebug_DEMCR_VC_STATERR_Pos 7 1563 #define CoreDebug_DEMCR_VC_STATERR_Msk (1UL << CoreDebug_DEMCR_VC_STATERR_Pos) 1565 #define CoreDebug_DEMCR_VC_CHKERR_Pos 6 1566 #define CoreDebug_DEMCR_VC_CHKERR_Msk (1UL << CoreDebug_DEMCR_VC_CHKERR_Pos) 1568 #define CoreDebug_DEMCR_VC_NOCPERR_Pos 5 1569 #define CoreDebug_DEMCR_VC_NOCPERR_Msk (1UL << CoreDebug_DEMCR_VC_NOCPERR_Pos) 1571 #define CoreDebug_DEMCR_VC_MMERR_Pos 4 1572 #define CoreDebug_DEMCR_VC_MMERR_Msk (1UL << CoreDebug_DEMCR_VC_MMERR_Pos) 1574 #define CoreDebug_DEMCR_VC_CORERESET_Pos 0 1575 #define CoreDebug_DEMCR_VC_CORERESET_Msk (1UL << CoreDebug_DEMCR_VC_CORERESET_Pos) 1587 #define SCS_BASE (0xE000E000UL) 1588 #define ITM_BASE (0xE0000000UL) 1589 #define DWT_BASE (0xE0001000UL) 1590 #define TPI_BASE (0xE0040000UL) 1591 #define CoreDebug_BASE (0xE000EDF0UL) 1592 #define SysTick_BASE (SCS_BASE + 0x0010UL) 1593 #define NVIC_BASE (SCS_BASE + 0x0100UL) 1594 #define SCB_BASE (SCS_BASE + 0x0D00UL) 1596 #define SCnSCB ((SCnSCB_Type *) SCS_BASE ) 1597 #define SCB ((SCB_Type *) SCB_BASE ) 1598 #define SysTick ((SysTick_Type *) SysTick_BASE ) 1599 #define NVIC ((NVIC_Type *) NVIC_BASE ) 1600 #define ITM ((ITM_Type *) ITM_BASE ) 1601 #define DWT ((DWT_Type *) DWT_BASE ) 1602 #define TPI ((TPI_Type *) TPI_BASE ) 1603 #define CoreDebug ((CoreDebug_Type *) CoreDebug_BASE) 1605 #if (__MPU_PRESENT == 1) 1606 #define MPU_BASE (SCS_BASE + 0x0D90UL) 1607 #define MPU ((MPU_Type *) MPU_BASE ) 1610 #if (__FPU_PRESENT == 1) 1611 #define FPU_BASE (SCS_BASE + 0x0F30UL) 1612 #define FPU ((FPU_Type *) FPU_BASE ) 1652 uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07);
1654 reg_value =
SCB->AIRCR;
1656 reg_value = (reg_value |
1658 (PriorityGroupTmp << 8));
1659 SCB->AIRCR = reg_value;
1684 NVIC->ISER[(uint32_t)((int32_t)
IRQn) >> 5] = (uint32_t)(1 << ((uint32_t)((int32_t)
IRQn) & (uint32_t)0x1F));
1696 NVIC->ICER[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(
IRQn) & 0x1F));
1712 return((uint32_t) ((
NVIC->ISPR[(uint32_t)(IRQn) >> 5] & (1 << ((uint32_t)(IRQn) & 0x1F)))?1:0));
1724 NVIC->ISPR[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(
IRQn) & 0x1F));
1736 NVIC->ICPR[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(
IRQn) & 0x1F));
1751 return((uint32_t)((
NVIC->IABR[(uint32_t)(IRQn) >> 5] & (1 << ((uint32_t)(IRQn) & 0x1F)))?1:0));
1806 __STATIC_INLINE uint32_t
NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority)
1808 uint32_t PriorityGroupTmp = (PriorityGroup & 0x07);
1809 uint32_t PreemptPriorityBits;
1810 uint32_t SubPriorityBits;
1816 ((PreemptPriority & ((1 << (PreemptPriorityBits)) - 1)) << SubPriorityBits) |
1817 ((SubPriority & ((1 << (SubPriorityBits )) - 1)))
1834 __STATIC_INLINE
void NVIC_DecodePriority (uint32_t Priority, uint32_t PriorityGroup, uint32_t* pPreemptPriority, uint32_t* pSubPriority)
1836 uint32_t PriorityGroupTmp = (PriorityGroup & 0x07);
1837 uint32_t PreemptPriorityBits;
1838 uint32_t SubPriorityBits;
1843 *pPreemptPriority = (Priority >> SubPriorityBits) & ((1 << (PreemptPriorityBits)) - 1);
1844 *pSubPriority = (Priority ) & ((1 << (SubPriorityBits )) - 1);
1874 #define CCSIDR_WAYS(x) (((x) & SCB_CCSIDR_ASSOCIATIVITY_Msk) >> SCB_CCSIDR_ASSOCIATIVITY_Pos) 1875 #define CCSIDR_SETS(x) (((x) & SCB_CCSIDR_NUMSETS_Msk ) >> SCB_CCSIDR_NUMSETS_Pos ) 1876 #define CCSIDR_LSSHIFT(x) (((x) & SCB_CCSIDR_LINESIZE_Msk ) >> SCB_CCSIDR_LINESIZE_Pos ) 1885 #if (__ICACHE_PRESENT == 1) 1902 #if (__ICACHE_PRESENT == 1) 1919 #if (__ICACHE_PRESENT == 1) 1935 #if (__DCACHE_PRESENT == 1) 1936 uint32_t ccsidr, sshift, wshift, sw;
1937 uint32_t sets, ways;
1939 ccsidr =
SCB->CCSIDR;
1943 wshift = __CLZ(ways) & 0x1f;
1948 int32_t tmpways = ways;
1950 sw = ((tmpways << wshift) | (sets << sshift));
1970 #if (__DCACHE_PRESENT == 1) 1971 uint32_t ccsidr, sshift, wshift, sw;
1972 uint32_t sets, ways;
1974 ccsidr =
SCB->CCSIDR;
1978 wshift = __CLZ(ways) & 0x1f;
1985 int32_t tmpways = ways;
1987 sw = ((tmpways << wshift) | (sets << sshift));
2005 #if (__DCACHE_PRESENT == 1) 2006 uint32_t ccsidr, sshift, wshift, sw;
2007 uint32_t sets, ways;
2009 ccsidr =
SCB->CCSIDR;
2013 wshift = __CLZ(ways) & 0x1f;
2018 int32_t tmpways = ways;
2020 sw = ((tmpways << wshift) | (sets << sshift));
2037 #if (__DCACHE_PRESENT == 1) 2038 uint32_t ccsidr, sshift, wshift, sw;
2039 uint32_t sets, ways;
2041 ccsidr =
SCB->CCSIDR;
2045 wshift = __CLZ(ways) & 0x1f;
2050 int32_t tmpways = ways;
2052 sw = ((tmpways << wshift) | (sets << sshift));
2069 #if (__DCACHE_PRESENT == 1) 2070 uint32_t ccsidr, sshift, wshift, sw;
2071 uint32_t sets, ways;
2073 ccsidr =
SCB->CCSIDR;
2077 wshift = __CLZ(ways) & 0x1f;
2082 int32_t tmpways = ways;
2084 sw = ((tmpways << wshift) | (sets << sshift));
2106 #if (__Vendor_SysTickConfig == 0) 2150 #define ITM_RXBUFFER_EMPTY 0x5AA55AA5 2163 __STATIC_INLINE uint32_t ITM_SendChar (uint32_t ch) 2166 (
ITM->TER & (1UL << 0) ) )
2168 while (
ITM->PORT[0].u32 == 0);
2169 ITM->PORT[0].u8 = (uint8_t) ch;
CMSIS Cortex-M Core Function Access Header File.
__STATIC_INLINE void SCB_InvalidateICache(void)
Invalidate I-Cache.
__STATIC_INLINE int32_t ITM_CheckChar(void)
ITM Check Character.
__STATIC_INLINE void SCB_DisableDCache(void)
Disable D-Cache.
#define SCB_AIRCR_VECTKEY_Pos
Structure type to access the Nested Vectored Interrupt Controller (NVIC).
enum IRQn IRQn_Type
STM32F4XX Interrupt Number Definition, according to the selected device in Library_configuration_sect...
#define SysTick_CTRL_CLKSOURCE_Msk
Structure type to access the System Control Block (SCB).
Structure type to access the Data Watchpoint and Trace Register (DWT).
CMSIS Cortex-M Core Instruction Access Header File.
IRQn
STM32F4XX Interrupt Number Definition, according to the selected device in Library_configuration_sect...
__STATIC_INLINE uint32_t NVIC_EncodePriority(uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority)
Encode Priority.
#define ITM_RXBUFFER_EMPTY
__STATIC_INLINE void NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
Set Interrupt Priority.
__STATIC_INLINE void SCB_EnableDCache(void)
Enable D-Cache.
__STATIC_INLINE void SCB_DisableICache(void)
Disable I-Cache.
volatile int32_t ITM_RxBuffer
__STATIC_INLINE void SCB_EnableICache(void)
Enable I-Cache.
__STATIC_INLINE void SCB_InvalidateDCache(void)
Invalidate D-Cache.
#define SysTick_CTRL_TICKINT_Msk
__STATIC_INLINE void NVIC_DisableIRQ(IRQn_Type IRQn)
Disable External Interrupt.
Structure type to access the System Timer (SysTick).
Structure type to access the Core Debug Register (CoreDebug).
CMSIS Cortex-M SIMD Header File.
__STATIC_INLINE void NVIC_SystemReset(void)
System Reset.
Union type to access the Application Program Status Register (APSR).
__STATIC_INLINE void NVIC_EnableIRQ(IRQn_Type IRQn)
Enable External Interrupt.
#define SCB_AIRCR_VECTKEY_Msk
__STATIC_INLINE uint32_t NVIC_GetPendingIRQ(IRQn_Type IRQn)
Get Pending Interrupt.
__STATIC_INLINE void SCB_CleanInvalidateDCache(void)
Clean & Invalidate D-Cache.
#define SCB_AIRCR_PRIGROUP_Msk
__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
System Tick Configuration.
Union type to access the Control Registers (CONTROL).
Structure type to access the Trace Port Interface Register (TPI).
#define SysTick_LOAD_RELOAD_Msk
__STATIC_INLINE void NVIC_DecodePriority(uint32_t Priority, uint32_t PriorityGroup, uint32_t *pPreemptPriority, uint32_t *pSubPriority)
Decode Priority.
Structure type to access the System Control and ID Register not in the SCB.
__STATIC_INLINE void NVIC_SetPendingIRQ(IRQn_Type IRQn)
Set Pending Interrupt.
__STATIC_INLINE void NVIC_ClearPendingIRQ(IRQn_Type IRQn)
Clear Pending Interrupt.
Union type to access the Interrupt Program Status Register (IPSR).
__STATIC_INLINE int32_t ITM_ReceiveChar(void)
ITM Receive Character.
Union type to access the Special-Purpose Program Status Registers (xPSR).
__STATIC_INLINE uint32_t NVIC_GetPriority(IRQn_Type IRQn)
Get Interrupt Priority.
#define SysTick_CTRL_ENABLE_Msk
__STATIC_INLINE void SCB_CleanDCache(void)
Clean D-Cache.
#define CCSIDR_LSSHIFT(x)
__STATIC_INLINE uint32_t NVIC_GetActive(IRQn_Type IRQn)
Get Active Interrupt.
__STATIC_INLINE void NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
Set Priority Grouping.
__STATIC_INLINE uint32_t NVIC_GetPriorityGrouping(void)
Get Priority Grouping.
#define ITM_TCR_ITMENA_Msk
#define SCB_AIRCR_SYSRESETREQ_Msk
Structure type to access the Instrumentation Trace Macrocell Register (ITM).
#define SCB_AIRCR_PRIGROUP_Pos