2837x_FLASH_lnk_cpu1.cmd 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  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. RAMLS0 : origin = 0x008000, length = 0x000800
  8. RAMLS1 : origin = 0x008800, length = 0x000800
  9. RAMLS2 : origin = 0x009000, length = 0x000800
  10. RAMLS3 : origin = 0x009800, length = 0x000800
  11. RAMLS4 : origin = 0x00A000, length = 0x000800
  12. RAMGS14 : origin = 0x01A000, length = 0x001000
  13. RAMGS15 : origin = 0x01B000, length = 0x001000
  14. RESET : origin = 0x3FFFC0, length = 0x000002
  15. /* Flash sectors */
  16. FLASHA : origin = 0x080002, length = 0x001FFE /* on-chip Flash */
  17. FLASHB : origin = 0x082000, length = 0x002000 /* on-chip Flash */
  18. FLASHC : origin = 0x084000, length = 0x002000 /* on-chip Flash */
  19. FLASHD : origin = 0x086000, length = 0x002000 /* on-chip Flash */
  20. FLASHE : origin = 0x088000, length = 0x008000 /* on-chip Flash */
  21. FLASHF : origin = 0x090000, length = 0x008000 /* on-chip Flash */
  22. FLASHG : origin = 0x098000, length = 0x008000 /* on-chip Flash */
  23. FLASHH : origin = 0x0A0000, length = 0x008000 /* on-chip Flash */
  24. FLASHI : origin = 0x0A8000, length = 0x008000 /* on-chip Flash */
  25. FLASHJ : origin = 0x0B0000, length = 0x008000 /* on-chip Flash */
  26. FLASHK : origin = 0x0B8000, length = 0x002000 /* on-chip Flash */
  27. FLASHL : origin = 0x0BA000, length = 0x002000 /* on-chip Flash */
  28. FLASHM : origin = 0x0BC000, length = 0x002000 /* on-chip Flash */
  29. FLASHN : origin = 0x0BE000, length = 0x002000 /* on-chip Flash */
  30. PAGE 1 : /* Data Memory */
  31. /* Memory (RAM/FLASH) blocks can be moved to PAGE0 for program allocation */
  32. BOOT_RSVD : origin = 0x000002, length = 0x000120 /* Part of M0, BOOT rom will use this for stack */
  33. RAMM1 : origin = 0x000400, length = 0x000400 /* on-chip RAM block M1 */
  34. RAMD1 : origin = 0x00B800, length = 0x000800
  35. RAMM0 : origin = 0x000122, length = 0x0002DE
  36. RAMD0 : origin = 0x00B000, 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
  51. RAMGS13 : origin = 0x019000, length = 0x001000
  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. #ifdef __TI_COMPILER_VERSION__
  63. #if __TI_COMPILER_VERSION__ >= 15009000
  64. .TI.ramfunc : {} LOAD = FLASHD,
  65. RUN = RAMLS0 | RAMLS1 | RAMLS2 |RAMLS3,
  66. LOAD_START(_RamfuncsLoadStart),
  67. LOAD_SIZE(_RamfuncsLoadSize),
  68. LOAD_END(_RamfuncsLoadEnd),
  69. RUN_START(_RamfuncsRunStart),
  70. RUN_SIZE(_RamfuncsRunSize),
  71. RUN_END(_RamfuncsRunEnd),
  72. PAGE = 0, ALIGN(4)
  73. #else
  74. ramfuncs : LOAD = FLASHD,
  75. RUN = RAMLS0 | RAMLS1 | RAMLS2 |RAMLS3,
  76. LOAD_START(_RamfuncsLoadStart),
  77. LOAD_SIZE(_RamfuncsLoadSize),
  78. LOAD_END(_RamfuncsLoadEnd),
  79. RUN_START(_RamfuncsRunStart),
  80. RUN_SIZE(_RamfuncsRunSize),
  81. RUN_END(_RamfuncsRunEnd),
  82. PAGE = 0, ALIGN(4)
  83. #endif
  84. #endif
  85. FSymTab : > RAMD0, PAGE = 1, ALIGN(4)
  86. LOAD_START(___fsymtab_start)
  87. LOAD_END(___fsymtab_end)
  88. /* Allocate uninitalized data sections: */
  89. .stack : > RAMM1 PAGE = 1
  90. .ebss : >> RAMLS5 | RAMGS0 | RAMGS1 PAGE = 1
  91. .esysmem : >> RAMGS2 | RAMGS3 | RAMGS4 | RAMGS5 | RAMGS6 | RAMGS7 | RAMGS8 | RAMGS9 | RAMGS10 | RAMGS11 | RAMGS12 | RAMGS13 PAGE = 1
  92. /* Initalized sections go in Flash */
  93. .econst : >> FLASHF | FLASHG | FLASHH PAGE = 0, ALIGN(4)
  94. .switch : > FLASHB PAGE = 0, ALIGN(4)
  95. .reset : > RESET, PAGE = 0, TYPE = DSECT /* not used, */
  96. Filter_RegsFile : > RAMGS0, PAGE = 1
  97. SHARERAMGS0 : > RAMGS0, PAGE = 1
  98. SHARERAMGS1 : > RAMGS1, PAGE = 1
  99. /* The following section definitions are required when using the IPC API Drivers */
  100. GROUP : > CPU1TOCPU2RAM, PAGE = 1
  101. {
  102. PUTBUFFER
  103. PUTWRITEIDX
  104. GETREADIDX
  105. }
  106. GROUP : > CPU2TOCPU1RAM, PAGE = 1
  107. {
  108. GETBUFFER : TYPE = DSECT
  109. GETWRITEIDX : TYPE = DSECT
  110. PUTREADIDX : TYPE = DSECT
  111. }
  112. }
  113. /*
  114. //===========================================================================
  115. // End of file.
  116. //===========================================================================
  117. */