2837x_FLASH_lnk_cpu1.cmd 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  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
  15. RAMGS15 : origin = 0x01B000, length = 0x001000
  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
  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. /* Allocate uninitalized data sections: */
  86. .stack : > RAMM1 PAGE = 1
  87. .ebss : >> RAMLS5 | RAMGS0 | RAMGS1 PAGE = 1
  88. .esysmem : >> RAMGS2 | RAMGS3 | RAMGS4 | RAMGS5 | RAMGS6 | RAMGS7 | RAMGS8 | RAMGS9 | RAMGS10 | RAMGS11 | RAMGS12 | RAMGS13 PAGE = 1
  89. /* Initalized sections go in Flash */
  90. .econst : >> FLASHF | FLASHG | FLASHH PAGE = 0, ALIGN(4)
  91. .switch : > FLASHB PAGE = 0, ALIGN(4)
  92. .reset : > RESET, PAGE = 0, TYPE = DSECT /* not used, */
  93. Filter_RegsFile : > RAMGS0, PAGE = 1
  94. SHARERAMGS0 : > RAMGS0, PAGE = 1
  95. SHARERAMGS1 : > RAMGS1, PAGE = 1
  96. /* The following section definitions are required when using the IPC API Drivers */
  97. GROUP : > CPU1TOCPU2RAM, PAGE = 1
  98. {
  99. PUTBUFFER
  100. PUTWRITEIDX
  101. GETREADIDX
  102. }
  103. GROUP : > CPU2TOCPU1RAM, PAGE = 1
  104. {
  105. GETBUFFER : TYPE = DSECT
  106. GETWRITEIDX : TYPE = DSECT
  107. PUTREADIDX : TYPE = DSECT
  108. }
  109. }
  110. /*
  111. //===========================================================================
  112. // End of file.
  113. //===========================================================================
  114. */