Guest User

Untitled

a guest
Mar 30th, 2021
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.48 KB | None | 0 0
  1. /*
  2. * Copyright (c) 2015-2017, Texas Instruments Incorporated
  3. * All rights reserved.
  4. *
  5. * Redistribution and use in source and binary forms, with or without
  6. * modification, are permitted provided that the following conditions
  7. * are met:
  8. *
  9. * * Redistributions of source code must retain the above copyright
  10. * notice, this list of conditions and the following disclaimer.
  11. *
  12. * * Redistributions in binary form must reproduce the above copyright
  13. * notice, this list of conditions and the following disclaimer in the
  14. * documentation and/or other materials provided with the distribution.
  15. *
  16. * * Neither the name of Texas Instruments Incorporated nor the names of
  17. * its contributors may be used to endorse or promote products derived
  18. * from this software without specific prior written permission.
  19. *
  20. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  21. * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
  22. * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  23. * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
  24. * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
  25. * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
  26. * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
  27. * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
  28. * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
  29. * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
  30. * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  31. */
  32. /*
  33. * ======== TMS320F28377S.cmd ========
  34. * Define the memory block start/length for the TMS320F28377S
  35. */
  36.  
  37. MEMORY
  38. {
  39. PAGE 0 : /* Program Memory */
  40. /* BEGIN is used for the "boot to FLASH" bootloader mode */
  41.  
  42. D01SARAM : origin = 0x00B000, length = 0x001000
  43.  
  44. /* Flash boot address */
  45. BEGIN : origin = 0x080000, length = 0x000002
  46. M01SARAM : origin = 0x000122, length = 0x0006DE
  47. LS05SARAM : origin = 0x008000, length = 0x003000
  48. RAMGS0 : origin = 0x00C000, length = 0x001000
  49. RAMGS1 : origin = 0x00D000, length = 0x001000
  50.  
  51. /* Flash sectors */
  52. FLASHA : origin = 0x080002, length = 0x001FFE /* on-chip Flash */
  53. FLASHB : origin = 0x082000, length = 0x002000 /* on-chip Flash */
  54. FLASHC : origin = 0x084000, length = 0x002000 /* on-chip Flash */
  55. FLASHD : origin = 0x086000, length = 0x002000 /* on-chip Flash */
  56. FLASHE : origin = 0x088000, length = 0x008000 /* on-chip Flash */
  57. FLASHF : origin = 0x090000, length = 0x008000 /* on-chip Flash */
  58. FLASHG : origin = 0x098000, length = 0x008000 /* on-chip Flash */
  59. FLASHH : origin = 0x0A0000, length = 0x008000 /* on-chip Flash */
  60. FLASHI : origin = 0x0A8000, length = 0x008000 /* on-chip Flash */
  61. FLASHJ : origin = 0x0B0000, length = 0x008000 /* on-chip Flash */
  62. FLASHK : origin = 0x0B8000, length = 0x002000 /* on-chip Flash */
  63. FLASHL : origin = 0x0BA000, length = 0x002000 /* on-chip Flash */
  64. FLASHM : origin = 0x0BC000, length = 0x002000 /* on-chip Flash */
  65. FLASHN : origin = 0x0BE000, length = 0x002000 /* on-chip Flash */
  66. FLASHO : origin = 0x0C0000, length = 0x002000 /* on-chip Flash */
  67. FLASHP : origin = 0x0C2000, length = 0x002000 /* on-chip Flash */
  68. FLASHQ : origin = 0x0C4000, length = 0x002000 /* on-chip Flash */
  69. FLASHR : origin = 0x0C6000, length = 0x002000 /* on-chip Flash */
  70. FLASHS : origin = 0x0C8000, length = 0x008000 /* on-chip Flash */
  71. FLASHT : origin = 0x0D0000, length = 0x008000 /* on-chip Flash */
  72. FLASHU : origin = 0x0D8000, length = 0x008000 /* on-chip Flash */
  73. FLASHV : origin = 0x0E0000, length = 0x008000 /* on-chip Flash */
  74. FLASHW : origin = 0x0E8000, length = 0x008000 /* on-chip Flash */
  75. FLASHX : origin = 0x0F0000, length = 0x008000 /* on-chip Flash */
  76. FLASHY : origin = 0x0F8000, length = 0x002000 /* on-chip Flash */
  77. FLASHZ : origin = 0x0FA000, length = 0x002000 /* on-chip Flash */
  78. FLASHAA : origin = 0x0FC000, length = 0x002000 /* on-chip Flash */
  79. FLASHAB : origin = 0x0FE000, length = 0x002000 /* on-chip Flash */
  80. RESET : origin = 0x3FFFC0, length = 0x000002
  81.  
  82. PAGE 1 : /* Data Memory */
  83.  
  84. BOOT_RSVD : origin = 0x000002, length = 0x000120 /* Part of M0, BOOT rom
  85. will use this for
  86. stack */
  87.  
  88. /* M01SARAM : origin = 0x000122, length = 0x0006DE /* on-chip RAM */
  89.  
  90. /* LS05SARAM : origin = 0x008000, length = 0x003000 /* on-chip RAM */
  91.  
  92. /* on-chip Global shared RAMs */
  93. RAMGS2 : origin = 0x00E000, length = 0x001000
  94. RAMGS3 : origin = 0x00F000, length = 0x001000
  95. RAMGS4 : origin = 0x010000, length = 0x001000
  96. RAMGS5 : origin = 0x011000, length = 0x001000
  97. RAMGS6 : origin = 0x012000, length = 0x001000
  98. RAMGS7 : origin = 0x013000, length = 0x001000
  99. RAMGS8 : origin = 0x014000, length = 0x001000
  100. RAMGS9 : origin = 0x015000, length = 0x001000
  101. RAMGS10 : origin = 0x016000, length = 0x001000
  102. RAMGS11 : origin = 0x017000, length = 0x001000
  103. RAMGS12 : origin = 0x018000, length = 0x001000
  104. RAMGS13 : origin = 0x019000, length = 0x001000
  105. RAMGS14 : origin = 0x01A000, length = 0x001000
  106. RAMGS15 : origin = 0x01B000, length = 0x001000
  107. }
  108.  
  109.  
  110. SECTIONS
  111. {
  112. /* Allocate program areas: */
  113. .cinit : > FLASHA | FLASHB | FLASHC | FLASHD | FLASHE |
  114. FLASHF | FLASHG | FLASHH | FLASHI | FLASHJ |
  115. FLASHK | FLASHL | FLASHM | FLASHN | FLASHO |
  116. FLASHP | FLASHQ | FLASHR | FLASHS | FLASHT |
  117. FLASHU | FLASHV | FLASHW | FLASHX | FLASHY |
  118. FLASHZ | FLASHAA | FLASHAB PAGE = 0
  119. .binit : > FLASHA | FLASHB | FLASHC | FLASHD | FLASHE |
  120. FLASHF | FLASHG | FLASHH | FLASHI | FLASHJ |
  121. FLASHK | FLASHL | FLASHM | FLASHN | FLASHO |
  122. FLASHP | FLASHQ | FLASHR | FLASHS | FLASHT |
  123. FLASHU | FLASHV | FLASHW | FLASHX | FLASHY |
  124. FLASHZ | FLASHAA | FLASHAB PAGE = 0
  125. #ifdef __TI_EABI__
  126. .init_array : > FLASHA | FLASHB | FLASHC | FLASHD | FLASHE |
  127. FLASHF | FLASHG | FLASHH | FLASHI | FLASHJ |
  128. FLASHK | FLASHL | FLASHM | FLASHN | FLASHO |
  129. FLASHP | FLASHQ | FLASHR | FLASHS | FLASHT |
  130. FLASHU | FLASHV | FLASHW | FLASHX | FLASHY |
  131. FLASHZ | FLASHAA | FLASHAB PAGE = 0
  132. #else
  133. .pinit : > FLASHA | FLASHB | FLASHC | FLASHD | FLASHE |
  134. FLASHF | FLASHG | FLASHH | FLASHI | FLASHJ |
  135. FLASHK | FLASHL | FLASHM | FLASHN | FLASHO |
  136. FLASHP | FLASHQ | FLASHR | FLASHS | FLASHT |
  137. FLASHU | FLASHV | FLASHW | FLASHX | FLASHY |
  138. FLASHZ | FLASHAA | FLASHAB PAGE = 0
  139. #endif
  140. .text : > FLASHA | FLASHB | FLASHC | FLASHD | FLASHE |
  141. FLASHF | FLASHG | FLASHH | FLASHI | FLASHJ |
  142. FLASHK | FLASHL | FLASHM | FLASHN | FLASHO |
  143. FLASHP | FLASHQ | FLASHR | FLASHS | FLASHT |
  144. FLASHU | FLASHV | FLASHW | FLASHX | FLASHY |
  145. FLASHZ | FLASHAA | FLASHAB PAGE = 0
  146. codestart : > BEGIN PAGE = 0
  147. ramfuncs : LOAD = FLASHA | FLASHB | FLASHC | FLASHD | FLASHE |
  148. FLASHF | FLASHG | FLASHH | FLASHI | FLASHJ |
  149. FLASHK | FLASHL | FLASHM | FLASHN | FLASHO |
  150. FLASHP | FLASHQ | FLASHR | FLASHS | FLASHT |
  151. FLASHU | FLASHV | FLASHW | FLASHX | FLASHY |
  152. FLASHZ | FLASHAA | FLASHAB PAGE = 0
  153. RUN = LS05SARAM PAGE = 0
  154. LOAD_START(_RamfuncsLoadStart),
  155. LOAD_SIZE(_RamfuncsLoadSize),
  156. LOAD_END(_RamfuncsLoadEnd),
  157. RUN_START(_RamfuncsRunStart),
  158. RUN_SIZE(_RamfuncsRunSize),
  159. RUN_END(_RamfuncsRunEnd)
  160.  
  161. #ifdef __TI_COMPILER_VERSION__
  162. #if __TI_COMPILER_VERSION__ >= 15009000
  163. .TI.ramfunc : {} LOAD = FLASHA | FLASHB | FLASHC | FLASHD | FLASHE |
  164. FLASHF | FLASHG | FLASHH | FLASHI | FLASHJ |
  165. FLASHK | FLASHL | FLASHM | FLASHN | FLASHO |
  166. FLASHP | FLASHQ | FLASHR | FLASHS | FLASHT |
  167. FLASHU | FLASHV | FLASHW | FLASHX | FLASHY |
  168. FLASHZ | FLASHAA | FLASHAB PAGE = 0,
  169. RUN = LS05SARAM PAGE = 0,
  170. table(BINIT)
  171. #endif
  172. #endif
  173.  
  174. /* Allocate uninitalized data sections: */
  175. .stack : > M01SARAM | LS05SARAM PAGE = 0
  176. #ifdef __TI_EABI__
  177. .bss : >> M01SARAM | LS05SARAM | RAMGS0 | RAMGS1 PAGE = 1
  178. .sysmem : > LS05SARAM | M01SARAM PAGE = 1
  179. .data : >> M01SARAM | LS05SARAM | RAMGS0 | RAMGS1 PAGE = 1
  180. #else
  181. .ebss : >> M01SARAM | LS05SARAM | RAMGS0 | RAMGS1 PAGE = 0
  182. .esysmem : > LS05SARAM | M01SARAM PAGE = 0
  183. #endif
  184. .cio : > LS05SARAM | M01SARAM PAGE = 0
  185.  
  186. /* Initalized sections go in Flash */
  187. #ifdef __TI_EABI__
  188. .const : > FLASHA | FLASHB | FLASHC | FLASHD | FLASHE |
  189. FLASHF | FLASHG | FLASHH | FLASHI | FLASHJ |
  190. FLASHK | FLASHL | FLASHM | FLASHN | FLASHO |
  191. FLASHP | FLASHQ | FLASHR | FLASHS | FLASHT |
  192. FLASHU | FLASHV | FLASHW | FLASHX | FLASHY |
  193. FLASHZ | FLASHAA | FLASHAB PAGE = 0
  194. #else
  195. .econst : > FLASHA | FLASHB | FLASHC | FLASHD | FLASHE |
  196. FLASHF | FLASHG | FLASHH | FLASHI | FLASHJ |
  197. FLASHK | FLASHL | FLASHM | FLASHN | FLASHO |
  198. FLASHP | FLASHQ | FLASHR | FLASHS | FLASHT |
  199. FLASHU | FLASHV | FLASHW | FLASHX | FLASHY |
  200. FLASHZ | FLASHAA | FLASHAB PAGE = 0
  201. #endif
  202. .switch : > FLASHA | FLASHB | FLASHC | FLASHD | FLASHE |
  203. FLASHF | FLASHG | FLASHH | FLASHI | FLASHJ |
  204. FLASHK | FLASHL | FLASHM | FLASHN | FLASHO |
  205. FLASHP | FLASHQ | FLASHR | FLASHS | FLASHT |
  206. FLASHU | FLASHV | FLASHW | FLASHX | FLASHY |
  207. FLASHZ | FLASHAA | FLASHAB PAGE = 0
  208. .args : > FLASHA | FLASHB | FLASHC | FLASHD | FLASHE |
  209. FLASHF | FLASHG | FLASHH | FLASHI | FLASHJ |
  210. FLASHK | FLASHL | FLASHM | FLASHN | FLASHO |
  211. FLASHP | FLASHQ | FLASHR | FLASHS | FLASHT |
  212. FLASHU | FLASHV | FLASHW | FLASHX | FLASHY |
  213. FLASHZ | FLASHAA | FLASHAB PAGE = 0
  214. .reset : > RESET, PAGE = 0, TYPE = DSECT /* not used, */
  215. }
  216.  
Advertisement
Add Comment
Please, Sign In to add comment