EE445M RTOS
Taken at the University of Texas Spring 2015
hw_memmap.h
Go to the documentation of this file.
1 //*****************************************************************************
2 //
3 // hw_memmap.h - Macros defining the memory map of the device.
4 //
5 // Copyright (c) 2005-2014 Texas Instruments Incorporated. All rights reserved.
6 // Software License Agreement
7 //
8 // Redistribution and use in source and binary forms, with or without
9 // modification, are permitted provided that the following conditions
10 // are met:
11 //
12 // Redistributions of source code must retain the above copyright
13 // notice, this list of conditions and the following disclaimer.
14 //
15 // Redistributions in binary form must reproduce the above copyright
16 // notice, this list of conditions and the following disclaimer in the
17 // documentation and/or other materials provided with the
18 // distribution.
19 //
20 // Neither the name of Texas Instruments Incorporated nor the names of
21 // its contributors may be used to endorse or promote products derived
22 // from this software without specific prior written permission.
23 //
24 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
25 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
26 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
27 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
28 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
29 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
30 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
31 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
32 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
33 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
34 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35 //
36 // This is part of revision 2.1.0.12573 of the Tiva Firmware Development Package.
37 //
38 //*****************************************************************************
39 
40 #ifndef __HW_MEMMAP_H__
41 #define __HW_MEMMAP_H__
42 
43 //*****************************************************************************
44 //
45 // The following are defines for the base address of the memories and
46 // peripherals.
47 //
48 //*****************************************************************************
49 #define FLASH_BASE 0x00000000 // FLASH memory
50 #define SRAM_BASE 0x20000000 // SRAM memory
51 #define WATCHDOG0_BASE 0x40000000 // Watchdog0
52 #define WATCHDOG1_BASE 0x40001000 // Watchdog1
53 #define GPIO_PORTA_BASE 0x40004000 // GPIO Port A
54 #define GPIO_PORTB_BASE 0x40005000 // GPIO Port B
55 #define GPIO_PORTC_BASE 0x40006000 // GPIO Port C
56 #define GPIO_PORTD_BASE 0x40007000 // GPIO Port D
57 #define SSI0_BASE 0x40008000 // SSI0
58 #define SSI1_BASE 0x40009000 // SSI1
59 #define SSI2_BASE 0x4000A000 // SSI2
60 #define SSI3_BASE 0x4000B000 // SSI3
61 #define UART0_BASE 0x4000C000 // UART0
62 #define UART1_BASE 0x4000D000 // UART1
63 #define UART2_BASE 0x4000E000 // UART2
64 #define UART3_BASE 0x4000F000 // UART3
65 #define UART4_BASE 0x40010000 // UART4
66 #define UART5_BASE 0x40011000 // UART5
67 #define UART6_BASE 0x40012000 // UART6
68 #define UART7_BASE 0x40013000 // UART7
69 #define I2C0_BASE 0x40020000 // I2C0
70 #define I2C1_BASE 0x40021000 // I2C1
71 #define I2C2_BASE 0x40022000 // I2C2
72 #define I2C3_BASE 0x40023000 // I2C3
73 #define GPIO_PORTE_BASE 0x40024000 // GPIO Port E
74 #define GPIO_PORTF_BASE 0x40025000 // GPIO Port F
75 #define GPIO_PORTG_BASE 0x40026000 // GPIO Port G
76 #define GPIO_PORTH_BASE 0x40027000 // GPIO Port H
77 #define PWM0_BASE 0x40028000 // Pulse Width Modulator (PWM)
78 #define PWM1_BASE 0x40029000 // Pulse Width Modulator (PWM)
79 #define QEI0_BASE 0x4002C000 // QEI0
80 #define QEI1_BASE 0x4002D000 // QEI1
81 #define TIMER0_BASE 0x40030000 // Timer0
82 #define TIMER1_BASE 0x40031000 // Timer1
83 #define TIMER2_BASE 0x40032000 // Timer2
84 #define TIMER3_BASE 0x40033000 // Timer3
85 #define TIMER4_BASE 0x40034000 // Timer4
86 #define TIMER5_BASE 0x40035000 // Timer5
87 #define WTIMER0_BASE 0x40036000 // Wide Timer0
88 #define WTIMER1_BASE 0x40037000 // Wide Timer1
89 #define ADC0_BASE 0x40038000 // ADC0
90 #define ADC1_BASE 0x40039000 // ADC1
91 #define COMP_BASE 0x4003C000 // Analog comparators
92 #define GPIO_PORTJ_BASE 0x4003D000 // GPIO Port J
93 #define CAN0_BASE 0x40040000 // CAN0
94 #define CAN1_BASE 0x40041000 // CAN1
95 #define WTIMER2_BASE 0x4004C000 // Wide Timer2
96 #define WTIMER3_BASE 0x4004D000 // Wide Timer3
97 #define WTIMER4_BASE 0x4004E000 // Wide Timer4
98 #define WTIMER5_BASE 0x4004F000 // Wide Timer5
99 #define USB0_BASE 0x40050000 // USB 0 Controller
100 #define GPIO_PORTA_AHB_BASE 0x40058000 // GPIO Port A (high speed)
101 #define GPIO_PORTB_AHB_BASE 0x40059000 // GPIO Port B (high speed)
102 #define GPIO_PORTC_AHB_BASE 0x4005A000 // GPIO Port C (high speed)
103 #define GPIO_PORTD_AHB_BASE 0x4005B000 // GPIO Port D (high speed)
104 #define GPIO_PORTE_AHB_BASE 0x4005C000 // GPIO Port E (high speed)
105 #define GPIO_PORTF_AHB_BASE 0x4005D000 // GPIO Port F (high speed)
106 #define GPIO_PORTG_AHB_BASE 0x4005E000 // GPIO Port G (high speed)
107 #define GPIO_PORTH_AHB_BASE 0x4005F000 // GPIO Port H (high speed)
108 #define GPIO_PORTJ_AHB_BASE 0x40060000 // GPIO Port J (high speed)
109 #define GPIO_PORTK_BASE 0x40061000 // GPIO Port K
110 #define GPIO_PORTL_BASE 0x40062000 // GPIO Port L
111 #define GPIO_PORTM_BASE 0x40063000 // GPIO Port M
112 #define GPIO_PORTN_BASE 0x40064000 // GPIO Port N
113 #define GPIO_PORTP_BASE 0x40065000 // GPIO Port P
114 #define GPIO_PORTQ_BASE 0x40066000 // GPIO Port Q
115 #define GPIO_PORTR_BASE 0x40067000 // General-Purpose Input/Outputs
116  // (GPIOs)
117 #define GPIO_PORTS_BASE 0x40068000 // General-Purpose Input/Outputs
118  // (GPIOs)
119 #define GPIO_PORTT_BASE 0x40069000 // General-Purpose Input/Outputs
120  // (GPIOs)
121 #define EEPROM_BASE 0x400AF000 // EEPROM memory
122 #define ONEWIRE0_BASE 0x400B6000 // 1-Wire Master Module
123 #define I2C8_BASE 0x400B8000 // I2C8
124 #define I2C9_BASE 0x400B9000 // I2C9
125 #define I2C4_BASE 0x400C0000 // I2C4
126 #define I2C5_BASE 0x400C1000 // I2C5
127 #define I2C6_BASE 0x400C2000 // I2C6
128 #define I2C7_BASE 0x400C3000 // I2C7
129 #define EPI0_BASE 0x400D0000 // EPI0
130 #define TIMER6_BASE 0x400E0000 // General-Purpose Timers
131 #define TIMER7_BASE 0x400E1000 // General-Purpose Timers
132 #define EMAC0_BASE 0x400EC000 // Ethernet Controller
133 #define SYSEXC_BASE 0x400F9000 // System Exception Module
134 #define HIB_BASE 0x400FC000 // Hibernation Module
135 #define FLASH_CTRL_BASE 0x400FD000 // FLASH Controller
136 #define SYSCTL_BASE 0x400FE000 // System Control
137 #define UDMA_BASE 0x400FF000 // uDMA Controller
138 #define CCM0_BASE 0x44030000 // Cyclical Redundancy Check (CRC)
139 #define SHAMD5_BASE 0x44034000 // SHA/MD5 Accelerator
140 #define AES_BASE 0x44036000 // Advance Encryption
141  // Hardware-Accelerated Module
142 #define DES_BASE 0x44038000 // Data Encryption Standard
143  // Accelerator (DES)
144 #define LCD0_BASE 0x44050000 // LCD Controller
145 #define ITM_BASE 0xE0000000 // Instrumentation Trace Macrocell
146 #define DWT_BASE 0xE0001000 // Data Watchpoint and Trace
147 #define FPB_BASE 0xE0002000 // FLASH Patch and Breakpoint
148 #define NVIC_BASE 0xE000E000 // Nested Vectored Interrupt Ctrl
149 #define TPIU_BASE 0xE0040000 // Trace Port Interface Unit
150 
151 #endif // __HW_MEMMAP_H__