X-Git-Url: https://robinkrens.nl/gitweb/?p=cortex-from-scratch;a=blobdiff_plain;f=include%2Fsys%2Fmmap.h;h=9aae914dabca35030d5e7a59f742a95dd8a43c2e;hp=a5d2228490397df247d97d82c1e0bde3d72b1b66;hb=8b8d6edcd57f69b40f430bc172e1c290a629a6a9;hpb=09ef787389713bb6dbba15b603d0071af8709cb2 diff --git a/include/sys/mmap.h b/include/sys/mmap.h index a5d2228..9aae914 100644 --- a/include/sys/mmap.h +++ b/include/sys/mmap.h @@ -32,7 +32,10 @@ /* SYSTEM INFO AND DEBUG */ #define MCU_ID MEM_ADDR(0xE000ED00) -#define FLASH_MEM MEM_ADDR(0x1FFFF000) +#define FLASH_MEM MEM_ADDR(0x1FFFF000) + +/* POWER CONTROL REGISTERS */ +#define PWR_CR MEM_ADDR(0x40007000) /* SYSTEM CONTROL BLOCK REGISTER */ #define SCB_VTOR MEM_ADDR(0xE000ED08) // VECTOR TABLE @@ -46,10 +49,12 @@ /* SYSTICK REGISTER */ #define STK_CTRL MEM_ADDR(0xE000E010) #define STK_RELOAD MEM_ADDR(0xE000E014) +#define STK_CALIB MEM_ADDR(0xE000E01C) -/* CLOCK REGISTER */ +/* RESET AND CLOCK REGISTER */ #define RCC_CR MEM_ADDR(0x40021000) #define RCC_CFGR MEM_ADDR(0x40021004) +#define RCC_BDCR MEM_ADDR(0x40021020) /* SYSTEM CONTROL REGISTER */ #define SYSCTRL_RCC MEM_ADDR(0x40021000) @@ -63,9 +68,15 @@ #define GPIOPA_AFSEL MEM_ADDR(0x40004420) #define GPIOA_CRH MEM_ADDR(0x40010804) // for USART1 +#define GPIOA_ODR MEM_ADDR(0x4001080C) #define GPIOB_CRL MEM_ADDR(0x40010C00) // low register (!) for I2C1 -#define GPIOC_CRL MEM_ADDR(0x40011000) // for led -#define GPIOC_ODR MEM_ADDR(0x4001100C) // +#define GPIOB_BSRR MEM_ADDR(0x40010C10) +#define GPIOC_CRL MEM_ADDR(0x40011000) // led +#define GPIOC_CRH MEM_ADDR(0x40011004) +#define GPIOC_ODR MEM_ADDR(0x4001100C) + +#define GPIOD_CRL MEM_ADDR(0x40011400) +#define GPIOD_ODR MEM_ADDR(0x4001140C) #define AFIO_EVCR MEM_ADDR(0x40010000) @@ -90,3 +101,26 @@ #define USART1_CR1 MEM_ADDR(0x4001380C) #define USART1_CR2 MEM_ADDR(0x40013810) #define USART1_CR3 MEM_ADDR(0x40013814) + +/* REAL TIME CLOCK REGISTERS */ +#define RTC_CRH MEM_ADDR(0x40002800) // interrupts +#define RTC_CRL MEM_ADDR(0x40002804) +#define RTC_PRLL MEM_ADDR(0x4000280C) +#define RTC_CNTH MEM_ADDR(0x40002818) +#define RTC_CNTL MEM_ADDR(0x4000281C) +/* BACKUP (CALIBR) REGISTERS */ +#define BKP_RTCCR MEM_ADDR(0x40006C2C) // RTC Calibration + +#define TIM4_CR1 MEM_ADDR(0x40000800) +#define TIM4_RCR MEM_ADDR(0x40000830) +#define TIM4_ARR MEM_ADDR(0x4000082C) +#define TIM4_EGR MEM_ADDR(0x40000814) +#define TIM4_SR1 MEM_ADDR(0x40000810) +#define TIM4_CCR1 MEM_ADDR(0x40000834) +#define TIM4_CCR2 MEM_ADDR(0x40000838) +#define TIM4_PSC MEM_ADDR(0x40000828) +#define TIM4_SMCR MEM_ADDR(0x40000808) +#define TIM4_CCER MEM_ADDR(0x40000820) +//#define TIM1_BDTR MEM_ADDR(0x40000844) +#define TIM4_CCMR1 MEM_ADDR(0x40000818) +#define TIM4_DIER MEM_ADDR(0x4000080C)