hw_memmap.h 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. //*****************************************************************************
  2. //
  3. // hw_memmap.h - Macros defining the memory map of Stellaris.
  4. //
  5. // Copyright (c) 2005-2010 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 6459 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 UART0_BASE 0x4000C000 // UART0
  43. #define UART1_BASE 0x4000D000 // UART1
  44. #define UART2_BASE 0x4000E000 // UART2
  45. #define I2C0_MASTER_BASE 0x40020000 // I2C0 Master
  46. #define I2C0_SLAVE_BASE 0x40020800 // I2C0 Slave
  47. #define I2C1_MASTER_BASE 0x40021000 // I2C1 Master
  48. #define I2C1_SLAVE_BASE 0x40021800 // I2C1 Slave
  49. #define GPIO_PORTE_BASE 0x40024000 // GPIO Port E
  50. #define GPIO_PORTF_BASE 0x40025000 // GPIO Port F
  51. #define GPIO_PORTG_BASE 0x40026000 // GPIO Port G
  52. #define GPIO_PORTH_BASE 0x40027000 // GPIO Port H
  53. #define PWM_BASE 0x40028000 // PWM
  54. #define QEI0_BASE 0x4002C000 // QEI0
  55. #define QEI1_BASE 0x4002D000 // QEI1
  56. #define TIMER0_BASE 0x40030000 // Timer0
  57. #define TIMER1_BASE 0x40031000 // Timer1
  58. #define TIMER2_BASE 0x40032000 // Timer2
  59. #define TIMER3_BASE 0x40033000 // Timer3
  60. #define ADC0_BASE 0x40038000 // ADC0
  61. #define ADC1_BASE 0x40039000 // ADC1
  62. #define COMP_BASE 0x4003C000 // Analog comparators
  63. #define GPIO_PORTJ_BASE 0x4003D000 // GPIO Port J
  64. #define CAN0_BASE 0x40040000 // CAN0
  65. #define CAN1_BASE 0x40041000 // CAN1
  66. #define CAN2_BASE 0x40042000 // CAN2
  67. #define ETH_BASE 0x40048000 // Ethernet
  68. #define MAC_BASE 0x40048000 // Ethernet
  69. #define USB0_BASE 0x40050000 // USB 0 Controller
  70. #define I2S0_BASE 0x40054000 // I2S0
  71. #define GPIO_PORTA_AHB_BASE 0x40058000 // GPIO Port A (high speed)
  72. #define GPIO_PORTB_AHB_BASE 0x40059000 // GPIO Port B (high speed)
  73. #define GPIO_PORTC_AHB_BASE 0x4005A000 // GPIO Port C (high speed)
  74. #define GPIO_PORTD_AHB_BASE 0x4005B000 // GPIO Port D (high speed)
  75. #define GPIO_PORTE_AHB_BASE 0x4005C000 // GPIO Port E (high speed)
  76. #define GPIO_PORTF_AHB_BASE 0x4005D000 // GPIO Port F (high speed)
  77. #define GPIO_PORTG_AHB_BASE 0x4005E000 // GPIO Port G (high speed)
  78. #define GPIO_PORTH_AHB_BASE 0x4005F000 // GPIO Port H (high speed)
  79. #define GPIO_PORTJ_AHB_BASE 0x40060000 // GPIO Port J (high speed)
  80. #define EPI0_BASE 0x400D0000 // EPI0
  81. #define HIB_BASE 0x400FC000 // Hibernation Module
  82. #define FLASH_CTRL_BASE 0x400FD000 // FLASH Controller
  83. #define SYSCTL_BASE 0x400FE000 // System Control
  84. #define UDMA_BASE 0x400FF000 // uDMA Controller
  85. #define ITM_BASE 0xE0000000 // Instrumentation Trace Macrocell
  86. #define DWT_BASE 0xE0001000 // Data Watchpoint and Trace
  87. #define FPB_BASE 0xE0002000 // FLASH Patch and Breakpoint
  88. #define NVIC_BASE 0xE000E000 // Nested Vectored Interrupt Ctrl
  89. #define TPIU_BASE 0xE0040000 // Trace Port Interface Unit
  90. //*****************************************************************************
  91. //
  92. // The following definitions are deprecated.
  93. //
  94. //*****************************************************************************
  95. #ifndef DEPRECATED
  96. //*****************************************************************************
  97. //
  98. // The following are deprecated defines for the base address of the memories
  99. // and peripherals.
  100. //
  101. //*****************************************************************************
  102. #define WATCHDOG_BASE 0x40000000 // Watchdog
  103. #define SSI_BASE 0x40008000 // SSI
  104. #define I2C_MASTER_BASE 0x40020000 // I2C Master
  105. #define I2C_SLAVE_BASE 0x40020800 // I2C Slave
  106. #define QEI_BASE 0x4002C000 // QEI
  107. #define ADC_BASE 0x40038000 // ADC
  108. #endif
  109. #endif // __HW_MEMMAP_H__