hw_memmap.h 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. //*****************************************************************************
  2. //
  3. // hw_memmap.h - Macros defining the memory map of Stellaris.
  4. //
  5. // Copyright (c) 2005-2011 Texas Instruments Incorporated. All rights reserved.
  6. // Software License Agreement
  7. //
  8. // Texas Instruments (TI) is supplying this software for use solely and
  9. // exclusively on TI's microcontroller products. The software is owned by
  10. // TI and/or its suppliers, and is protected under applicable copyright
  11. // laws. You may not combine this software with "viral" open-source
  12. // software in order to form a larger program.
  13. //
  14. // THIS SOFTWARE IS PROVIDED "AS IS" AND WITH ALL FAULTS.
  15. // NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT
  16. // NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  17. // A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. TI SHALL NOT, UNDER ANY
  18. // CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
  19. // DAMAGES, FOR ANY REASON WHATSOEVER.
  20. //
  21. // This is part of revision 8264 of the Stellaris Firmware Development Package.
  22. //
  23. //*****************************************************************************
  24. #ifndef __HW_MEMMAP_H__
  25. #define __HW_MEMMAP_H__
  26. //*****************************************************************************
  27. //
  28. // The following are defines for the base address of the memories and
  29. // peripherals.
  30. //
  31. //*****************************************************************************
  32. #define FLASH_BASE 0x00000000 // FLASH memory
  33. #define SRAM_BASE 0x20000000 // SRAM memory
  34. #define WATCHDOG0_BASE 0x40000000 // Watchdog0
  35. #define WATCHDOG1_BASE 0x40001000 // Watchdog1
  36. #define GPIO_PORTA_BASE 0x40004000 // GPIO Port A
  37. #define GPIO_PORTB_BASE 0x40005000 // GPIO Port B
  38. #define GPIO_PORTC_BASE 0x40006000 // GPIO Port C
  39. #define GPIO_PORTD_BASE 0x40007000 // GPIO Port D
  40. #define SSI0_BASE 0x40008000 // SSI0
  41. #define SSI1_BASE 0x40009000 // SSI1
  42. #define SSI2_BASE 0x4000A000 // SSI2
  43. #define SSI3_BASE 0x4000B000 // SSI3
  44. #define UART0_BASE 0x4000C000 // UART0
  45. #define UART1_BASE 0x4000D000 // UART1
  46. #define UART2_BASE 0x4000E000 // UART2
  47. #define UART3_BASE 0x4000F000 // UART3
  48. #define UART4_BASE 0x40010000 // UART4
  49. #define UART5_BASE 0x40011000 // UART5
  50. #define UART6_BASE 0x40012000 // UART6
  51. #define UART7_BASE 0x40013000 // UART7
  52. #define I2C0_MASTER_BASE 0x40020000 // I2C0 Master
  53. #define I2C0_SLAVE_BASE 0x40020800 // I2C0 Slave
  54. #define I2C1_MASTER_BASE 0x40021000 // I2C1 Master
  55. #define I2C1_SLAVE_BASE 0x40021800 // I2C1 Slave
  56. #define I2C2_MASTER_BASE 0x40022000 // I2C2 Master
  57. #define I2C2_SLAVE_BASE 0x40022800 // I2C2 Slave
  58. #define I2C3_MASTER_BASE 0x40023000 // I2C3 Master
  59. #define I2C3_SLAVE_BASE 0x40023800 // I2C3 Slave
  60. #define GPIO_PORTE_BASE 0x40024000 // GPIO Port E
  61. #define GPIO_PORTF_BASE 0x40025000 // GPIO Port F
  62. #define GPIO_PORTG_BASE 0x40026000 // GPIO Port G
  63. #define GPIO_PORTH_BASE 0x40027000 // GPIO Port H
  64. #define PWM0_BASE 0x40028000 // Pulse Width Modulator (PWM)
  65. #define PWM1_BASE 0x40029000 // Pulse Width Modulator (PWM)
  66. #define QEI0_BASE 0x4002C000 // QEI0
  67. #define QEI1_BASE 0x4002D000 // QEI1
  68. #define TIMER0_BASE 0x40030000 // Timer0
  69. #define TIMER1_BASE 0x40031000 // Timer1
  70. #define TIMER2_BASE 0x40032000 // Timer2
  71. #define TIMER3_BASE 0x40033000 // Timer3
  72. #define TIMER4_BASE 0x40034000 // Timer4
  73. #define TIMER5_BASE 0x40035000 // Timer5
  74. #define WTIMER0_BASE 0x40036000 // Wide Timer0
  75. #define WTIMER1_BASE 0x40037000 // Wide Timer1
  76. #define ADC0_BASE 0x40038000 // ADC0
  77. #define ADC1_BASE 0x40039000 // ADC1
  78. #define COMP_BASE 0x4003C000 // Analog comparators
  79. #define GPIO_PORTJ_BASE 0x4003D000 // GPIO Port J
  80. #define CAN0_BASE 0x40040000 // CAN0
  81. #define CAN1_BASE 0x40041000 // CAN1
  82. #define CAN2_BASE 0x40042000 // CAN2
  83. #define ETH_BASE 0x40048000 // Ethernet
  84. #define MAC_BASE 0x40048000 // Ethernet
  85. #define WTIMER2_BASE 0x4004C000 // Wide Timer2
  86. #define WTIMER3_BASE 0x4004D000 // Wide Timer3
  87. #define WTIMER4_BASE 0x4004E000 // Wide Timer4
  88. #define WTIMER5_BASE 0x4004F000 // Wide Timer5
  89. #define USB0_BASE 0x40050000 // USB 0 Controller
  90. #define I2S0_BASE 0x40054000 // I2S0
  91. #define GPIO_PORTA_AHB_BASE 0x40058000 // GPIO Port A (high speed)
  92. #define GPIO_PORTB_AHB_BASE 0x40059000 // GPIO Port B (high speed)
  93. #define GPIO_PORTC_AHB_BASE 0x4005A000 // GPIO Port C (high speed)
  94. #define GPIO_PORTD_AHB_BASE 0x4005B000 // GPIO Port D (high speed)
  95. #define GPIO_PORTE_AHB_BASE 0x4005C000 // GPIO Port E (high speed)
  96. #define GPIO_PORTF_AHB_BASE 0x4005D000 // GPIO Port F (high speed)
  97. #define GPIO_PORTG_AHB_BASE 0x4005E000 // GPIO Port G (high speed)
  98. #define GPIO_PORTH_AHB_BASE 0x4005F000 // GPIO Port H (high speed)
  99. #define GPIO_PORTJ_AHB_BASE 0x40060000 // GPIO Port J (high speed)
  100. #define GPIO_PORTK_BASE 0x40061000 // GPIO Port K
  101. #define GPIO_PORTL_BASE 0x40062000 // GPIO Port L
  102. #define GPIO_PORTM_BASE 0x40063000 // GPIO Port M
  103. #define GPIO_PORTN_BASE 0x40064000 // GPIO Port N
  104. #define GPIO_PORTP_BASE 0x40065000 // GPIO Port P
  105. #define GPIO_PORTQ_BASE 0x40066000 // GPIO Port Q
  106. #define LPC0_BASE 0x40080000 // Low Pin Count Interface (LPC)
  107. #define FAN0_BASE 0x40084000 // Fan Control (FAN)
  108. #define EEPROM_BASE 0x400AF000 // EEPROM memory
  109. #define PECI0_BASE 0x400B0000 // Platform Environment Control
  110. // Interface (PECI)
  111. #define I2C4_MASTER_BASE 0x400C0000 // I2C4 Master
  112. #define I2C4_SLAVE_BASE 0x400C0800 // I2C4 Slave
  113. #define I2C5_MASTER_BASE 0x400C1000 // I2C5 Master
  114. #define I2C5_SLAVE_BASE 0x400C1800 // I2C5 Slave
  115. #define EPI0_BASE 0x400D0000 // EPI0
  116. #define SYSEXC_BASE 0x400F9000 // System Exception Module
  117. #define HIB_BASE 0x400FC000 // Hibernation Module
  118. #define FLASH_CTRL_BASE 0x400FD000 // FLASH Controller
  119. #define SYSCTL_BASE 0x400FE000 // System Control
  120. #define UDMA_BASE 0x400FF000 // uDMA Controller
  121. #define ITM_BASE 0xE0000000 // Instrumentation Trace Macrocell
  122. #define DWT_BASE 0xE0001000 // Data Watchpoint and Trace
  123. #define FPB_BASE 0xE0002000 // FLASH Patch and Breakpoint
  124. #define NVIC_BASE 0xE000E000 // Nested Vectored Interrupt Ctrl
  125. #define TPIU_BASE 0xE0040000 // Trace Port Interface Unit
  126. //*****************************************************************************
  127. //
  128. // The following definitions are deprecated.
  129. //
  130. //*****************************************************************************
  131. #ifndef DEPRECATED
  132. //*****************************************************************************
  133. //
  134. // The following are deprecated defines for the base address of the memories
  135. // and peripherals.
  136. //
  137. //*****************************************************************************
  138. #define WATCHDOG_BASE 0x40000000 // Watchdog
  139. #define SSI_BASE 0x40008000 // SSI
  140. #define I2C_MASTER_BASE 0x40020000 // I2C Master
  141. #define I2C_SLAVE_BASE 0x40020800 // I2C Slave
  142. #define PWM_BASE 0x40028000 // PWM
  143. #define QEI_BASE 0x4002C000 // QEI
  144. #define ADC_BASE 0x40038000 // ADC
  145. #endif
  146. #endif // __HW_MEMMAP_H__