init vector implementation
[cortex-from-scratch] / include / mmap.h
1 /* 
2  * Example memory map for the Cortex-A3
3  * Implementations vary among manufacturers. This one is
4  * a STM32F013RC6. Addresses of peripherals vary amongst 
5  * manufacturers of boards with similar chips
6  * 
7  * Peaceļ¼
8  * */
9
10 /* VECTOR TABLE */
11 #define NVIC_VECTTBL ((volatile unsigned long *)( 0xE000ED08))
12 #define NVIC_EN0 ((volatile unsigned long *)( 0xE000E100))
13 #define NVIC_EN1 ((volatile unsigned long *)( 0xE000E104))
14
15 /* SYSTEM CONTROL REGISTERS */
16 #define SYSCTRL_RCC ((volatile unsigned long *)(0x400FE060))
17 #define SYSCTRL_RIS ((volatile unsigned long *)(0x400FE050))
18 #define SYSCTRL_RCGC1 ((volatile unsigned long *)(0x400FE104))
19 #define SYSCTRL_RCGC2 ((volatile unsigned long *)(0x400FE108))
20 #define GPIOPA_AFSEL ((volatile unsigned long *)(0x40004420))
21
22 /* USART REGISTERS */
23 #define UART0_DATA ((volatile unsigned long *)(0x4000C000))
24 #define UART0_FLAG ((volatile unsigned long *)(0x4000C018))
25 #define UART0_IBRD ((volatile unsigned long *)(0x4000C024))
26 #define UART0_FBRD ((volatile unsigned long *)(0x4000C028))
27 #define UART0_LCRH ((volatile unsigned long *)(0x4000C02C))
28 #define UART0_CTRL ((volatile unsigned long *)(0x4000C030))
29 #define UART0_RIS ((volatile unsigned long *)(0x4000C03C))
30
31 #define UART1_DATA ((volatile unsigned long *)(0x4000D000))
32 #define UART1_FLAG ((volatile unsigned long *)(0x4000D018))
33 #define UART1_IBRD ((volatile unsigned long *)(0x4000D024))
34 #define UART1_FBRD ((volatile unsigned long *)(0x4000D028))
35 #define UART1_LCRH ((volatile unsigned long *)(0x4000D02C))
36 #define UART1_CTRL ((volatile unsigned long *)(0x4000D030))
37 #define UART1_RIS ((volatile unsigned long *)(0x4000D03C))