#define RCC_BASE 0x40021000
#define RCC_IOPENR *(volatile uint32_t*)(RCC_BASE + 0x34)
#define GPIOA_BASE 0x50000000
#define GPIOA_MODER (GPIOA_BASE + 0x00)
#define GPIOA_ODR (GPIOA_BASE + 0x14)
#define PA15 15
#define register_value(x) *(volatile uint32_t*)(x)
int main()
{
RCC_IOPENR |= 0x1;
register_value(GPIOA_MODER) &= ~(0x3 << (PA15 * 2));
register_value(GPIOA_MODER) |= (0x1 << (PA15 * 2));
register_value(GPIOA_ODR) |= (0x1 << PA15);
return 0;
}