2837xD_FLASH_lnk_cpu1_far.cmd 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  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 = 0x000800
  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. EMIF1_CS0n : origin = 0x80000000, length = 0x10000000
  53. EMIF1_CS2n : origin = 0x00100000, length = 0x00200000
  54. EMIF1_CS3n : origin = 0x00300000, length = 0x00080000
  55. EMIF1_CS4n : origin = 0x00380000, length = 0x00060000
  56. EMIF2_CS0n : origin = 0x90000000, length = 0x10000000
  57. EMIF2_CS2n : origin = 0x00002000, length = 0x00001000
  58. CPU2TOCPU1RAM : origin = 0x03F800, length = 0x000400
  59. CPU1TOCPU2RAM : origin = 0x03FC00, length = 0x000400
  60. }
  61. SECTIONS
  62. {
  63. /* Allocate program areas: */
  64. .cinit : > FLASHB PAGE = 0, ALIGN(4)
  65. .pinit : > FLASHB, PAGE = 0, ALIGN(4)
  66. .text : >> FLASHB | FLASHC | FLASHD | FLASHE PAGE = 0, ALIGN(4)
  67. codestart : > BEGIN PAGE = 0, ALIGN(4)
  68. /* Allocate uninitalized data sections: */
  69. .stack : > RAMM1 PAGE = 1
  70. .ebss : >> RAMLS5 | RAMGS0 | RAMGS1 PAGE = 1
  71. .esysmem : > RAMLS5 PAGE = 1
  72. .farbss : > EMIF1_CS0n, PAGE = 1
  73. .em1_cs0 : > EMIF1_CS0n, PAGE = 1
  74. .em1_cs2 : > EMIF1_CS2n, PAGE = 1
  75. .em1_cs3 : > EMIF1_CS3n, PAGE = 1
  76. .em1_cs4 : > EMIF1_CS4n, PAGE = 1
  77. .em2_cs0 : > EMIF2_CS0n, PAGE = 1
  78. .em2_cs2 : > EMIF2_CS2n, PAGE = 1
  79. /* Initalized sections go in Flash */
  80. .econst : >> FLASHF | FLASHG | FLASHH PAGE = 0, ALIGN(4)
  81. .switch : > FLASHB PAGE = 0, ALIGN(4)
  82. .reset : > RESET, PAGE = 0, TYPE = DSECT /* not used, */
  83. .farconst : > EMIF1_CS0n, PAGE = 1
  84. Filter_RegsFile : > RAMGS0, PAGE = 1
  85. SHARERAMGS0 : > RAMGS0, PAGE = 1
  86. SHARERAMGS1 : > RAMGS1, PAGE = 1
  87. ramgs0 : > RAMGS0, PAGE = 1
  88. ramgs1 : > RAMGS1, PAGE = 1
  89. #ifdef __TI_COMPILER_VERSION__
  90. #if __TI_COMPILER_VERSION__ >= 15009000
  91. .TI.ramfunc : {} LOAD = FLASHD,
  92. RUN = RAMLS0 | RAMLS1 | RAMLS2 |RAMLS3,
  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. #else
  101. ramfuncs : LOAD = FLASHD,
  102. RUN = RAMLS0 | RAMLS1 | RAMLS2 |RAMLS3,
  103. LOAD_START(_RamfuncsLoadStart),
  104. LOAD_SIZE(_RamfuncsLoadSize),
  105. LOAD_END(_RamfuncsLoadEnd),
  106. RUN_START(_RamfuncsRunStart),
  107. RUN_SIZE(_RamfuncsRunSize),
  108. RUN_END(_RamfuncsRunEnd),
  109. PAGE = 0, ALIGN(4)
  110. #endif
  111. #endif
  112. /* The following section definitions are required when using the IPC API Drivers */
  113. GROUP : > CPU1TOCPU2RAM, PAGE = 1
  114. {
  115. PUTBUFFER
  116. PUTWRITEIDX
  117. GETREADIDX
  118. }
  119. GROUP : > CPU2TOCPU1RAM, PAGE = 1
  120. {
  121. GETBUFFER : TYPE = DSECT
  122. GETWRITEIDX : TYPE = DSECT
  123. PUTREADIDX : TYPE = DSECT
  124. }
  125. /* The following section definition are for SDFM examples */
  126. Filter1_RegsFile : > RAMGS1, PAGE = 1, fill=0x1111
  127. Filter2_RegsFile : > RAMGS2, PAGE = 1, fill=0x2222
  128. Filter3_RegsFile : > RAMGS3, PAGE = 1, fill=0x3333
  129. Filter4_RegsFile : > RAMGS4, PAGE = 1, fill=0x4444
  130. Difference_RegsFile : >RAMGS5, PAGE = 1, fill=0x3333
  131. }
  132. /*
  133. //===========================================================================
  134. // End of file.
  135. //===========================================================================
  136. */