2837xD_FLASH_afe031_lnk_cpu1.cmd 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. MEMORY
  2. {
  3. PAGE 0 : /* Program Memory */
  4. /* Memory (RAM/FLASH) blocks can be moved to PAGE1 for data allocation */
  5. /* BEGIN is used for the "boot to Flash" bootloader mode */
  6. BEGIN : origin = 0x080000, length = 0x000002
  7. RAMM0 : origin = 0x000122, length = 0x0002DE
  8. RAMD0 : origin = 0x00B000, length = 0x000800
  9. RAMLS0 : origin = 0x008000, length = 0x000800
  10. RAMLS1 : origin = 0x008800, length = 0x000800
  11. RAMLS2 : origin = 0x009000, length = 0x001800
  12. // RAMLS3 : origin = 0x009800, length = 0x000800
  13. // RAMLS4 : origin = 0x00A000, length = 0x000800
  14. RAMGS14 : origin = 0x01A000, length = 0x001000 /* Only Available on F28379D, F28377D, F28375D devices. Remove line on other devices. */
  15. RAMGS15 : origin = 0x01B000, length = 0x001000 /* Only Available on F28379D, F28377D, F28375D devices. Remove line on other devices. */
  16. RESET : origin = 0x3FFFC0, length = 0x000002
  17. /* Flash sectors */
  18. FLASHA : origin = 0x080002, length = 0x001FFE /* on-chip Flash */
  19. FLASHB : origin = 0x082000, length = 0x002000 /* on-chip Flash */
  20. FLASHC : origin = 0x084000, length = 0x002000 /* on-chip Flash */
  21. FLASHD : origin = 0x086000, length = 0x002000 /* on-chip Flash */
  22. FLASHE : origin = 0x088000, length = 0x008000 /* on-chip Flash */
  23. FLASHF : origin = 0x090000, length = 0x008000 /* on-chip Flash */
  24. FLASHG : origin = 0x098000, length = 0x008000 /* on-chip Flash */
  25. FLASHH : origin = 0x0A0000, length = 0x008000 /* on-chip Flash */
  26. FLASHI : origin = 0x0A8000, length = 0x008000 /* on-chip Flash */
  27. FLASHJ : origin = 0x0B0000, length = 0x008000 /* on-chip Flash */
  28. FLASHK : origin = 0x0B8000, length = 0x002000 /* on-chip Flash */
  29. FLASHL : origin = 0x0BA000, length = 0x002000 /* on-chip Flash */
  30. FLASHM : origin = 0x0BC000, length = 0x002000 /* on-chip Flash */
  31. FLASHN : origin = 0x0BE000, length = 0x002000 /* on-chip Flash */
  32. PAGE 1 : /* Data Memory */
  33. /* Memory (RAM/FLASH) blocks can be moved to PAGE0 for program allocation */
  34. BOOT_RSVD : origin = 0x000002, length = 0x000120 /* Part of M0, BOOT rom will use this for stack */
  35. RAMM1 : origin = 0x000400, length = 0x000400 /* on-chip RAM block M1 */
  36. RAMD1 : origin = 0x00B800, length = 0x000800
  37. RAMLS5 : origin = 0x00A800, length = 0x000800
  38. RAMGS0 : origin = 0x00C000, length = 0x001000
  39. RAMGS1 : origin = 0x00D000, length = 0x001000
  40. RAMGS2 : origin = 0x00E000, length = 0x001000
  41. RAMGS3 : origin = 0x00F000, length = 0x001000
  42. RAMGS4 : origin = 0x010000, length = 0x001000
  43. RAMGS5 : origin = 0x011000, length = 0x001000
  44. RAMGS6 : origin = 0x012000, length = 0x001000
  45. RAMGS7 : origin = 0x013000, length = 0x001000
  46. RAMGS8 : origin = 0x014000, length = 0x001000
  47. RAMGS9 : origin = 0x015000, length = 0x001000
  48. RAMGS10 : origin = 0x016000, length = 0x001000
  49. RAMGS11 : origin = 0x017000, length = 0x001000
  50. RAMGS12 : origin = 0x018000, length = 0x001000 /* Only Available on F28379D, F28377D, F28375D devices. Remove line on other devices. */
  51. RAMGS13 : origin = 0x019000, length = 0x001000 /* Only Available on F28379D, F28377D, F28375D devices. Remove line on other devices. */
  52. CPU2TOCPU1RAM : origin = 0x03F800, length = 0x000400
  53. CPU1TOCPU2RAM : origin = 0x03FC00, length = 0x000400
  54. }
  55. SECTIONS
  56. {
  57. /* Allocate program areas: */
  58. .cinit : > FLASHB PAGE = 0, ALIGN(4)
  59. .pinit : > FLASHB, PAGE = 0, ALIGN(4)
  60. .text : >> FLASHB | FLASHC | FLASHD | FLASHE PAGE = 0, ALIGN(4)
  61. codestart : > BEGIN PAGE = 0, ALIGN(4)
  62. /* Allocate uninitalized data sections: */
  63. .stack : > RAMM1 PAGE = 1
  64. .ebss : >> RAMGS0 | RAMGS1 PAGE = 1
  65. .esysmem : > RAMLS5 PAGE = 1
  66. .cio : > RAMLS5 PAGE = 1
  67. /* Initalized sections go in Flash */
  68. .econst : >> FLASHG | FLASHH PAGE = 0, ALIGN(4)
  69. .switch : > FLASHB PAGE = 0, ALIGN(4)
  70. .reset : > RESET, PAGE = 0, TYPE = DSECT /* not used, */
  71. Filter_RegsFile : > RAMGS0, PAGE = 1
  72. SHARERAMGS0 : > RAMGS0, PAGE = 1
  73. SHARERAMGS1 : > RAMGS1, PAGE = 1
  74. ramgs0 : > RAMGS0, PAGE = 1
  75. ramgs1 : > RAMGS1, PAGE = 1
  76. ramls2 : > RAMLS2, PAGE = 0
  77. // SINETABLE : > FLASHF PAGE = 0, ALIGN(4)
  78. fsk_corr_lib_data : > RAMGS5 PAGE = 1 /* Flash block for lib data */
  79. #ifdef __TI_COMPILER_VERSION__
  80. #if __TI_COMPILER_VERSION__ >= 15009000
  81. .TI.ramfunc : {} LOAD = FLASHD,
  82. RUN = RAMLS0 | RAMLS1 | RAMLS2 ,
  83. LOAD_START(_RamfuncsLoadStart),
  84. LOAD_SIZE(_RamfuncsLoadSize),
  85. LOAD_END(_RamfuncsLoadEnd),
  86. RUN_START(_RamfuncsRunStart),
  87. RUN_SIZE(_RamfuncsRunSize),
  88. RUN_END(_RamfuncsRunEnd),
  89. PAGE = 0, ALIGN(4)
  90. #else
  91. ramfuncs : LOAD = FLASHD,
  92. RUN = RAMLS0 | RAMLS1 | RAMLS2,
  93. LOAD_START(_RamfuncsLoadStart),
  94. LOAD_SIZE(_RamfuncsLoadSize),
  95. LOAD_END(_RamfuncsLoadEnd),
  96. RUN_START(_RamfuncsRunStart),
  97. RUN_SIZE(_RamfuncsRunSize),
  98. RUN_END(_RamfuncsRunEnd),
  99. PAGE = 0, ALIGN(4)
  100. #endif
  101. #endif
  102. #ifdef __TI_COMPILER_VERSION__
  103. #if __TI_COMPILER_VERSION__ >= 15009000
  104. SINETABLE : {} LOAD = FLASHF,
  105. RUN = RAMLS2 ,
  106. LOAD_START(_SineTableLoadStart),
  107. LOAD_SIZE(_SineTableLoadSize),
  108. LOAD_END(_SineTableLoadEnd),
  109. RUN_START(_SineTableRunStart),
  110. RUN_SIZE(_SineTableRunSize),
  111. RUN_END(_SineTableRunEnd),
  112. PAGE = 0, ALIGN(4)
  113. #else
  114. SINETABLE : LOAD = FLASHF,
  115. RUN = RAMLS2 ,
  116. LOAD_START(_SineTableLoadStart),
  117. LOAD_SIZE(_SineTableLoadSize),
  118. LOAD_END(_SineTableLoadEnd),
  119. RUN_START(_SineTableRunStart),
  120. RUN_SIZE(_SineTableRunSize),
  121. RUN_END(_SineTableRunEnd),
  122. PAGE = 0, ALIGN(4)
  123. #endif
  124. #endif
  125. /* The following section definitions are required when using the IPC API Drivers */
  126. GROUP : > CPU1TOCPU2RAM, PAGE = 1
  127. {
  128. PUTBUFFER
  129. PUTWRITEIDX
  130. GETREADIDX
  131. }
  132. GROUP : > CPU2TOCPU1RAM, PAGE = 1
  133. {
  134. GETBUFFER : TYPE = DSECT
  135. GETWRITEIDX : TYPE = DSECT
  136. PUTREADIDX : TYPE = DSECT
  137. }
  138. /* The following section definition are for SDFM examples */
  139. Filter1_RegsFile : > RAMGS1, PAGE = 1, fill=0x1111
  140. Filter2_RegsFile : > RAMGS2, PAGE = 1, fill=0x2222
  141. Filter3_RegsFile : > RAMGS3, PAGE = 1, fill=0x3333
  142. Filter4_RegsFile : > RAMGS4, PAGE = 1, fill=0x4444
  143. Difference_RegsFile : >RAMGS5, PAGE = 1, fill=0x3333
  144. }
  145. /*
  146. //===========================================================================
  147. // End of file.
  148. //===========================================================================
  149. */