mem_ARMCA5.h 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. /**************************************************************************//**
  2. * @file mem_ARMCA5.h
  3. * @brief Memory base and size definitions (used in scatter file)
  4. * @version V1.1.0
  5. * @date 15. May 2019
  6. *
  7. * @note
  8. *
  9. ******************************************************************************/
  10. /*
  11. * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
  12. *
  13. * SPDX-License-Identifier: Apache-2.0
  14. *
  15. * Licensed under the Apache License, Version 2.0 (the License); you may
  16. * not use this file except in compliance with the License.
  17. * You may obtain a copy of the License at
  18. *
  19. * www.apache.org/licenses/LICENSE-2.0
  20. *
  21. * Unless required by applicable law or agreed to in writing, software
  22. * distributed under the License is distributed on an AS IS BASIS, WITHOUT
  23. * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  24. * See the License for the specific language governing permissions and
  25. * limitations under the License.
  26. */
  27. #ifndef __MEM_ARMCA5_H
  28. #define __MEM_ARMCA5_H
  29. /*----------------------------------------------------------------------------
  30. User Stack & Heap size definition
  31. *----------------------------------------------------------------------------*/
  32. /*
  33. //-------- <<< Use Configuration Wizard in Context Menu >>> ------------------
  34. */
  35. /*--------------------- ROM Configuration ------------------------------------
  36. //
  37. // <h> ROM Configuration
  38. // <i> For compatibility with MMU config the sections must be multiple of 1MB
  39. // <o0> ROM Base Address <0x0-0xFFFFFFFF:0x100000>
  40. // <o1> ROM Size (in Bytes) <0x0-0xFFFFFFFF:0x100000>
  41. // </h>
  42. *----------------------------------------------------------------------------*/
  43. #define __ROM_BASE 0x80000000
  44. #define __ROM_SIZE 0x00200000
  45. /*--------------------- RAM Configuration -----------------------------------
  46. // <h> RAM Configuration
  47. // <i> For compatibility with MMU config the sections must be multiple of 1MB
  48. // <o0> RAM Base Address <0x0-0xFFFFFFFF:0x100000>
  49. // <o1> RAM Total Size (in Bytes) <0x0-0xFFFFFFFF:0x100000>
  50. // <h> Data Sections
  51. // <o2> RW_DATA Size (in Bytes) <0x0-0xFFFFFFFF:8>
  52. // <o3> ZI_DATA Size (in Bytes) <0x0-0xFFFFFFFF:8>
  53. // </h>
  54. // <h> Stack / Heap Configuration
  55. // <o4> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
  56. // <o5> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
  57. // <h> Exceptional Modes
  58. // <o6> UND Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
  59. // <o7> ABT Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
  60. // <o8> SVC Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
  61. // <o9> IRQ Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
  62. // <o10> FIQ Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
  63. // </h>
  64. // </h>
  65. // </h>
  66. *----------------------------------------------------------------------------*/
  67. #define __RAM_BASE 0x80200000
  68. #define __RAM_SIZE 0x00200000
  69. #define __RW_DATA_SIZE 0x00100000
  70. #define __ZI_DATA_SIZE 0x000F0000
  71. #define __STACK_SIZE 0x00001000
  72. #define __HEAP_SIZE 0x00008000
  73. #define __UND_STACK_SIZE 0x00000100
  74. #define __ABT_STACK_SIZE 0x00000100
  75. #define __SVC_STACK_SIZE 0x00000100
  76. #define __IRQ_STACK_SIZE 0x00000100
  77. #define __FIQ_STACK_SIZE 0x00000100
  78. /*----------------------------------------------------------------------------*/
  79. /*--------------------- TTB Configuration ------------------------------------
  80. //
  81. // <h> TTB Configuration
  82. // <i> The TLB L1 contains 4096 32-bit entries and must be 16kB aligned
  83. // <i> The TLB L2 entries are placed after the L1 in the MMU config
  84. // <o0> TTB Base Address <0x0-0xFFFFFFFF:0x4000>
  85. // <o1> TTB Size (in Bytes) <0x0-0xFFFFFFFF:8>
  86. // </h>
  87. *----------------------------------------------------------------------------*/
  88. #define __TTB_BASE 0x80500000
  89. #define __TTB_SIZE 0x00005000
  90. #endif /* __MEM_ARMCA5_H */