123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800 |
- #pragma once
- #include <stdint.h>
- #define NVIC_ISER(idx) (0xE000E100 + 0x00 + 4 * (idx))))
- #define NVIC_ICER(idx) (0xE000E100 + 0x80 + 4 * (idx))))
- #define NVIC_ISPR(idx) (0xE000E100 + 0x100 + 4 * (idx))))
- #define NVIC_ICPR(idx) (0xE000E100 + 0x180 + 4 * (idx))))
- #define NVIC_IABR(idx) (0xE000E100 + 0x200 + 4 * (idx))))
- #define NVIC_IPR(idx) (0xE000E100 + 0x300 + 4 * (idx))))
- #define NVIC_STIR (0xE000E100 + 0xE00)))
-
- inline uint32_t NVIC_STIR_INTID (const uint32_t inValue)
- #define SCB_ACTLR (0xE000E000 + 0x8)))
-
- static const uint32_t SCB_ACTLR_DISFOLD = 1U << 2 ;
-
- static const uint32_t SCB_ACTLR_PFEXCODIS = 1U << 10 ;
-
- static const uint32_t SCB_ACTLR_DISRAMODE = 1U << 11 ;
-
- static const uint32_t SCB_ACTLR_DISITMATBFLUSH = 1U << 12 ;
-
- static const uint32_t SCB_ACTLR_DISBTACREAD = 1U << 13 ;
-
- static const uint32_t SCB_ACTLR_DISBTACALLOC = 1U << 14 ;
-
- static const uint32_t SCB_ACTLR_DISCRITAXIRUR = 1U << 15 ;
-
- static const uint32_t SCB_ACTLR_DISDI_DB = 1U << 16 ;
-
- static const uint32_t SCB_ACTLR_DISDI_IB = 1U << 17 ;
-
- static const uint32_t SCB_ACTLR_DISDI_LPC = 1U << 18 ;
-
- static const uint32_t SCB_ACTLR_DISDI_MAC_MUL = 1U << 19 ;
-
- static const uint32_t SCB_ACTLR_DISDI_VFP = 1U << 20 ;
-
- static const uint32_t SCB_ACTLR_DISISSCH1_DB = 1U << 21 ;
-
- static const uint32_t SCB_ACTLR_DISISSCH1_IB = 1U << 22 ;
-
- static const uint32_t SCB_ACTLR_DISISSCH1_LPC = 1U << 23 ;
-
- static const uint32_t SCB_ACTLR_DISISSCH1_MAC_MUL = 1U << 24 ;
-
- static const uint32_t SCB_ACTLR_DISISSCH1_VFP = 1U << 25 ;
-
- static const uint32_t SCB_ACTLR_DISDYNADD = 1U << 26 ;
- #define SCB_CPUID (0xE000E000 + 0xD00)))
-
- inline uint32_t SCB_CPUID_Revision (const uint32_t inValue)
-
- inline uint32_t SCB_CPUID_PartNo (const uint32_t inValue)
-
- inline uint32_t SCB_CPUID_Constant (const uint32_t inValue)
-
- inline uint32_t SCB_CPUID_Variant (const uint32_t inValue)
-
- inline uint32_t SCB_CPUID_Implementer (const uint32_t inValue)
- #define SCB_ICSR (0xE000E000 + 0xD04)))
-
- inline uint32_t SCB_ICSR_VECTACTIVE (const uint32_t inValue)
-
- static const uint32_t SCB_ICSR_RETTOBASE = 1U << 11 ;
-
- inline uint32_t SCB_ICSR_VECTPENDING (const uint32_t inValue)
-
- static const uint32_t SCB_ICSR_ISRPENDING = 1U << 22 ;
-
- static const uint32_t SCB_ICSR_PENDSTCLR = 1U << 25 ;
-
- static const uint32_t SCB_ICSR_PENDSTSET = 1U << 26 ;
-
- static const uint32_t SCB_ICSR_PENDSVCLR = 1U << 27 ;
-
- static const uint32_t SCB_ICSR_PENDSVSET = 1U << 28 ;
-
- static const uint32_t SCB_ICSR_NMIPENDSET = 1U << 31 ;
- #define SCB_VTOR (0xE000E000 + 0xD08)))
- #define SCB_AIRCR (0xE000E000 + 0xD0C)))
-
- static const uint32_t SCB_AIRCR_SYSRESETREQ = 1U << 2 ;
-
- inline uint32_t SCB_AIRCR_PRIGROUP (const uint32_t inValue)
-
- static const uint32_t SCB_AIRCR_ENDIANNESS = 1U << 15 ;
-
- inline uint32_t SCB_AIRCR_VECTKEY (const uint32_t inValue)
- #define SCB_SCR (0xE000E000 + 0xD10)))
-
- static const uint32_t SCB_SCR_SLEEPONEXIT = 1U << 1 ;
-
- static const uint32_t SCB_SCR_SLEEPDEEP = 1U << 2 ;
-
- static const uint32_t SCB_SCR_SEVONPEND = 1U << 4 ;
- #define SCB_CCR (0xE000E000 + 0xD14)))
-
- static const uint32_t SCB_CCR_NONBASETHREADENA = 1U << 0 ;
-
- static const uint32_t SCB_CCR_USERSETMPEND = 1U << 1 ;
-
- static const uint32_t SCB_CCR_UNALIGNED_TRP = 1U << 3 ;
-
- static const uint32_t SCB_CCR_DIV0_TRP = 1U << 4 ;
-
- static const uint32_t SCB_CCR_BFHFNMIGN = 1U << 8 ;
-
- static const uint32_t SCB_CCR_STKALIGN = 1U << 9 ;
-
- static const uint32_t SCB_CCR_DC = 1U << 16 ;
-
- static const uint32_t SCB_CCR_IC = 1U << 17 ;
- #define SCB_SHPR1 (0xE000E000 + 0xD18)))
-
- inline uint32_t SCB_SHPR1_PRI_4 (const uint32_t inValue)
-
- inline uint32_t SCB_SHPR1_PRI_5 (const uint32_t inValue)
-
- inline uint32_t SCB_SHPR1_PRI_6 (const uint32_t inValue)
- #define SCB_SHPR2 (0xE000E000 + 0xD1C)))
-
- inline uint32_t SCB_SHPR2_PRI_11 (const uint32_t inValue)
- #define SCB_SHPR3 (0xE000E000 + 0xD20)))
-
- inline uint32_t SCB_SHPR3_PRI_14 (const uint32_t inValue)
-
- inline uint32_t SCB_SHPR3_PRI_15 (const uint32_t inValue)
- #define SCB_SHCSR (0xE000E000 + 0xD24)))
-
- static const uint32_t SCB_SHCSR_MEMFAULTACT = 1U << 0 ;
-
- static const uint32_t SCB_SHCSR_BUSFAULTACT = 1U << 1 ;
-
- static const uint32_t SCB_SHCSR_USGFAULTACT = 1U << 3 ;
-
- static const uint32_t SCB_SHCSR_SVCALLACT = 1U << 7 ;
-
- static const uint32_t SCB_SHCSR_MONITORACT = 1U << 8 ;
-
- static const uint32_t SCB_SHCSR_PENDSVACT = 1U << 10 ;
-
- static const uint32_t SCB_SHCSR_SYSTICKACT = 1U << 11 ;
-
- static const uint32_t SCB_SHCSR_USGFAULTPENDED = 1U << 12 ;
-
- static const uint32_t SCB_SHCSR_MEMFAULTPENDED = 1U << 13 ;
-
- static const uint32_t SCB_SHCSR_BUSFAULTPENDED = 1U << 14 ;
-
- static const uint32_t SCB_SHCSR_SVCALLPENDED = 1U << 15 ;
-
- static const uint32_t SCB_SHCSR_MEMFAULTENA = 1U << 16 ;
-
- static const uint32_t SCB_SHCSR_BUSFAULTENA = 1U << 17 ;
-
- static const uint32_t SCB_SHCSR_USGFAULTENA = 1U << 18 ;
- #define SCB_CFSR (0xE000E000 + 0xD28)))
-
- static const uint8_t SCB_CFSR_IACCVIOL = 1U << 0 ;
-
- static const uint8_t SCB_CFSR_DACCVIOL = 1U << 1 ;
-
- static const uint8_t SCB_CFSR_MUNSTKERR = 1U << 3 ;
-
- static const uint8_t SCB_CFSR_MSTKERR = 1U << 4 ;
-
- static const uint8_t SCB_CFSR_MLSPERR = 1U << 5 ;
-
- static const uint8_t SCB_CFSR_MMARVALID = 1U << 7 ;
- #define SCB_BFSR (0xE000E000 + 0xD29)))
-
- static const uint8_t SCB_BFSR_IBUSERR = 1U << 0 ;
-
- static const uint8_t SCB_BFSR_PRECISERR = 1U << 1 ;
-
- static const uint8_t SCB_BFSR_IMPRECISERR = 1U << 2 ;
-
- static const uint8_t SCB_BFSR_UNSTKERR = 1U << 3 ;
-
- static const uint8_t SCB_BFSR_STKERR = 1U << 4 ;
-
- static const uint8_t SCB_BFSR_LSPERR = 1U << 5 ;
-
- static const uint8_t SCB_BFSR_BFARVALID = 1U << 7 ;
- #define SCB_UFSR (0xE000E000 + 0xD2A)))
-
- static const uint16_t SCB_UFSR_UNDEFINSTR = 1U << 0 ;
-
- static const uint16_t SCB_UFSR_INVSTATE = 1U << 1 ;
-
- static const uint16_t SCB_UFSR_INVPC = 1U << 2 ;
-
- static const uint16_t SCB_UFSR_NOCP = 1U << 3 ;
-
- static const uint16_t SCB_UFSR_UNALIGNED = 1U << 8 ;
-
- static const uint16_t SCB_UFSR_DIVBYZERO = 1U << 9 ;
- #define SCB_HFSR (0xE000E000 + 0xD2C)))
-
- static const uint32_t SCB_HFSR_VECTTBL = 1U << 1 ;
-
- static const uint32_t SCB_HFSR_FORCED = 1U << 30 ;
-
- static const uint32_t SCB_HFSR_DEBUGEVT = 1U << 31 ;
- #define SCB_MMAR (0xE000E000 + 0xD34)))
- #define SCB_BFAR (0xE000E000 + 0xD38)))
- #define SysTick_CSR (0xE000E010 + 0)))
-
- static const uint32_t SysTick_CSR_ENABLE = 1U << 0 ;
-
- static const uint32_t SysTick_CSR_TICKINT = 1U << 1 ;
-
- static const uint32_t SysTick_CSR_CLKSOURCE = 1U << 2 ;
-
- static const uint32_t SysTick_CSR_COUNTFLAG = 1U << 16 ;
- #define SysTick_RVR (0xE000E010 + 0x4)))
-
- inline uint32_t SysTick_RVR_RELOAD (const uint32_t inValue)
- #define SysTick_CVR (0xE000E010 + 0x8)))
-
- inline uint32_t SysTick_CVR_CURRENT (const uint32_t inValue)
- #define SysTick_CALIB (0xE000E010 + 0xC)))
-
- inline uint32_t SysTick_CALIB_TENMS (const uint32_t inValue)
-
- static const uint32_t SysTick_CALIB_SKEW = 1U << 30 ;
-
- static const uint32_t SysTick_CALIB_NOREF = 1U << 31 ;
- #define MPU_TYPE (0xE000ED90 + 0x0)))
-
- static const uint32_t MPU_TYPE_SEPARATE = 1U << 0 ;
-
- inline uint32_t MPU_TYPE_DREGION (const uint32_t inValue)
-
- inline uint32_t MPU_TYPE_IREGION (const uint32_t inValue)
- #define MPU_CTRL (0xE000ED90 + 0x4)))
-
- static const uint32_t MPU_CTRL_ENABLE = 1U << 0 ;
-
- static const uint32_t MPU_CTRL_HFNMIENA = 1U << 1 ;
-
- static const uint32_t MPU_CTRL_PRIVDEFENA = 1U << 2 ;
- #define MPU_RNR (0xE000ED90 + 0x8)))
-
- inline uint32_t MPU_RNR_REGION (const uint32_t inValue)
- #define MPU_RBAR (0xE000ED90 + 0xC)))
-
- inline uint32_t MPU_RBAR_REGION (const uint32_t inValue)
-
- static const uint32_t MPU_RBAR_VALID = 1U << 4 ;
-
- inline uint32_t MPU_RBAR_ADDR (const uint32_t inValue)
- #define MPU_RASR (0xE000ED90 + 0x10)))
-
- static const uint32_t MPU_RASR_ENABLE = 1U << 0 ;
-
- inline uint32_t MPU_RASR_SIZE (const uint32_t inValue)
-
- static const uint32_t MPU_RASR_SRD0 = 1U << 8 ;
-
- static const uint32_t MPU_RASR_SRD1 = 1U << 9 ;
-
- static const uint32_t MPU_RASR_SRD2 = 1U << 10 ;
-
- static const uint32_t MPU_RASR_SRD3 = 1U << 11 ;
-
- static const uint32_t MPU_RASR_SRD4 = 1U << 12 ;
-
- static const uint32_t MPU_RASR_SRD5 = 1U << 13 ;
-
- static const uint32_t MPU_RASR_SRD6 = 1U << 14 ;
-
- static const uint32_t MPU_RASR_SRD7 = 1U << 15 ;
-
- static const uint32_t MPU_RASR_B = 1U << 16 ;
-
- static const uint32_t MPU_RASR_C = 1U << 17 ;
-
- static const uint32_t MPU_RASR_S = 1U << 18 ;
-
- inline uint32_t MPU_RASR_TEX (const uint32_t inValue)
-
- inline uint32_t MPU_RASR_AP (const uint32_t inValue)
-
- static const uint32_t MPU_RASR_XN = 1U << 28 ;
- #define MPU_RBAR_A1 (0xE000ED90 + 0x14)))
- #define MPU_RASR_A1 (0xE000ED90 + 0x18)))
- #define MPU_RBAR_A2 (0xE000ED90 + 0x1C)))
- #define MPU_RASR_A2 (0xE000ED90 + 0x20)))
- #define MPU_RBAR_A3 (0xE000ED90 + 0x24)))
- #define MPU_RASR_A3 (0xE000ED90 + 0x28)))
- #define Debug_DFSR (0xE000ED00 + 0x30)))
-
- static const uint32_t Debug_DFSR_HALTED = 1U << 0 ;
-
- static const uint32_t Debug_DFSR_BKPT = 1U << 1 ;
-
- static const uint32_t Debug_DFSR_DWTTRAP = 1U << 2 ;
-
- static const uint32_t Debug_DFSR_VCATCH = 1U << 3 ;
-
- static const uint32_t Debug_DFSR_EXTERNAL = 1U << 4 ;
- #define Debug_DHCSR_RO (0xE000ED00 + 0xF0)))
-
- static const uint32_t Debug_DHCSR_RO_C_DEBUGGEN = 1U << 0 ;
-
- static const uint32_t Debug_DHCSR_RO_C_HALT = 1U << 1 ;
-
- static const uint32_t Debug_DHCSR_RO_C_STEP = 1U << 2 ;
-
- static const uint32_t Debug_DHCSR_RO_C_MASKINTS = 1U << 3 ;
-
- static const uint32_t Debug_DHCSR_RO_C_SNAPSTALL = 1U << 5 ;
-
- static const uint32_t Debug_DHCSR_RO_S_REGRDY = 1U << 16 ;
-
- static const uint32_t Debug_DHCSR_RO_S_HALT = 1U << 17 ;
-
- static const uint32_t Debug_DHCSR_RO_S_SLEEP = 1U << 18 ;
-
- static const uint32_t Debug_DHCSR_RO_S_LOCKUP = 1U << 19 ;
-
- static const uint32_t Debug_DHCSR_RO_S_RETIRE_ST = 1U << 24 ;
-
- static const uint32_t Debug_DHCSR_RO_S_RESET_ST = 1U << 25 ;
- #define Debug_DHCSR_WO (0xE000ED00 + 0xF0)))
-
- static const uint32_t Debug_DHCSR_WO_C_DEBUGGEN = 1U << 0 ;
-
- static const uint32_t Debug_DHCSR_WO_C_HALT = 1U << 1 ;
-
- static const uint32_t Debug_DHCSR_WO_C_STEP = 1U << 2 ;
-
- static const uint32_t Debug_DHCSR_WO_C_MASKINTS = 1U << 3 ;
-
- static const uint32_t Debug_DHCSR_WO_C_SNAPSTALL = 1U << 5 ;
-
- inline uint32_t Debug_DHCSR_WO_S_RESET_ST (const uint32_t inValue)
- #define Debug_DCRSR (0xE000ED00 + 0xF4)))
-
- inline uint32_t Debug_DCRSR_REGSEL (const uint32_t inValue)
-
- static const uint32_t Debug_DCRSR_REGWnR = 1U << 16 ;
- #define Debug_DCRDR (0xE000ED00 + 0xF8)))
- #define Debug_DEMCR (0xE000ED00 + 0xFC)))
-
- static const uint32_t Debug_DEMCR_VC_CORERESET = 1U << 0 ;
-
- static const uint32_t Debug_DEMCR_VC_MMERR = 1U << 4 ;
-
- static const uint32_t Debug_DEMCR_VC_NOCPERR = 1U << 5 ;
-
- static const uint32_t Debug_DEMCR_VC_CHKERR = 1U << 6 ;
-
- static const uint32_t Debug_DEMCR_VC_STATERR = 1U << 7 ;
-
- static const uint32_t Debug_DEMCR_VC_BUSERR = 1U << 8 ;
-
- static const uint32_t Debug_DEMCR_VC_INTERR = 1U << 9 ;
-
- static const uint32_t Debug_DEMCR_VC_HARDERR = 1U << 10 ;
-
- static const uint32_t Debug_DEMCR_MON_EN = 1U << 16 ;
-
- static const uint32_t Debug_DEMCR_MON_PEND = 1U << 17 ;
-
- static const uint32_t Debug_DEMCR_MON_STEP = 1U << 18 ;
-
- static const uint32_t Debug_DEMCR_MON_REQ = 1U << 19 ;
-
- static const uint32_t Debug_DEMCR_TRCENA = 1U << 24 ;
- #define DWT_CTRL (0xE0001000 + 0)))
-
- inline uint32_t DWT_CTRL_NUMCOMP (const uint32_t inValue)
-
- static const uint32_t DWT_CTRL_NOTRCPKT = 1U << 27 ;
-
- static const uint32_t DWT_CTRL_NOEXTTRIG = 1U << 26 ;
-
- static const uint32_t DWT_CTRL_NOCYCCNT = 1U << 25 ;
-
- static const uint32_t DWT_CTRL_NOPRFCNT = 1U << 24 ;
-
- static const uint32_t DWT_CTRL_Reserved_23 = 1U << 23 ;
-
- static const uint32_t DWT_CTRL_CYCEVTENA = 1U << 22 ;
-
- static const uint32_t DWT_CTRL_FOLDEVTENA = 1U << 21 ;
-
- static const uint32_t DWT_CTRL_LSUEVTENA = 1U << 20 ;
-
- static const uint32_t DWT_CTRL_SLEEPEVTENA = 1U << 19 ;
-
- static const uint32_t DWT_CTRL_EXCEVTENA = 1U << 18 ;
-
- static const uint32_t DWT_CTRL_CPIEVTENA = 1U << 17 ;
-
- static const uint32_t DWT_CTRL_EXCTRCENA = 1U << 16 ;
-
- inline uint32_t DWT_CTRL_Reserved_13_15 (const uint32_t inValue)
-
- static const uint32_t DWT_CTRL_PCSAMPLENA = 1U << 12 ;
-
- inline uint32_t DWT_CTRL_SYNCTAP (const uint32_t inValue)
-
- static const uint32_t DWT_CTRL_CYCTAP = 1U << 9 ;
-
- inline uint32_t DWT_CTRL_POSTINIT (const uint32_t inValue)
-
- inline uint32_t DWT_CTRL_POSTPRESET (const uint32_t inValue)
-
- static const uint32_t DWT_CTRL_CYCCNTENA = 1U << 0 ;
- #define DWT_CYCCNT (0xE0001000 + 4)))
- #define DWT_CPICNT (0xE0001000 + 8)))
- #define DWT_EXCCNT (0xE0001000 + 0xC)))
- #define DWT_SLEEPCNT (0xE0001000 + 0x10)))
- #define DWT_LSUCNT (0xE0001000 + 0x14)))
- #define DWT_FOLDCNT (0xE0001000 + 0x18)))
- #define DWT_PCSR (0xE0001000 + 0x1C)))
- #define DWT_COMP0 (0xE0001000 + 0x20)))
- #define DWT_MASK0 (0xE0001000 + 0x24)))
- #define DWT_FUNCTION0 (0xE0001000 + 0x28)))
- #define DWT_COMP1 (0xE0001000 + 0x30)))
- #define DWT_MASK1 (0xE0001000 + 0x34)))
- #define DWT_FUNCTION1 (0xE0001000 + 0x38)))
- #define DWT_COMP2 (0xE0001000 + 0x40)))
- #define DWT_MASK2 (0xE0001000 + 0x44)))
- #define DWT_FUNCTION2 (0xE0001000 + 0x48)))
- #define DWT_COMP3 (0xE0001000 + 0x50)))
- #define DWT_MASK3 (0xE0001000 + 0x54)))
- #define DWT_FUNCTION3 (0xE0001000 + 0x58)))
- #define SYST_CSR (0xE000E000 + 0x10)))
-
- static const uint32_t SYST_CSR_ENABLE = 1U << 0 ;
-
- static const uint32_t SYST_CSR_TICKINT = 1U << 1 ;
-
- static const uint32_t SYST_CSR_CLKSOURCE = 1U << 2 ;
-
- static const uint32_t SYST_CSR_COUNTFLAG = 1U << 16 ;
- #define SYST_RVR (0xE000E000 + 0x14)))
- #define SYST_CVR (0xE000E000 + 0x18)))
- #define SYST_CALIB (0xE000E000 + 0x1C)))
|