2837xD_FLASH_lnk_cpu2.cmd 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. MEMORY
  2. {
  3. PAGE 0 :
  4. /* BEGIN is used for the "boot to SARAM" bootloader mode */
  5. BEGIN : origin = 0x080000, length = 0x000002
  6. RAMM0 : origin = 0x000080, length = 0x000380
  7. RAMD0 : origin = 0x00B000, length = 0x000800
  8. RAMLS0 : origin = 0x008000, length = 0x000800
  9. RAMLS1 : origin = 0x008800, length = 0x000800
  10. RAMLS2 : origin = 0x009000, length = 0x000800
  11. RAMLS3 : origin = 0x009800, length = 0x000800
  12. RAMLS4 : origin = 0x00A000, length = 0x000800
  13. RAMGS14 : origin = 0x01A000, length = 0x001000 /* Only Available on F28379D, F28377D, F28375D devices. Remove line on other devices. */
  14. RAMGS15 : origin = 0x01B000, length = 0x001000 /* Only Available on F28379D, F28377D, F28375D devices. Remove line on other devices. */
  15. RESET : origin = 0x3FFFC0, length = 0x000002
  16. /* Flash sectors */
  17. FLASHA : origin = 0x080002, length = 0x001FFE /* on-chip Flash */
  18. FLASHB : origin = 0x082000, length = 0x002000 /* on-chip Flash */
  19. FLASHC : origin = 0x084000, length = 0x002000 /* on-chip Flash */
  20. FLASHD : origin = 0x086000, length = 0x002000 /* on-chip Flash */
  21. FLASHE : origin = 0x088000, length = 0x008000 /* on-chip Flash */
  22. FLASHF : origin = 0x090000, length = 0x008000 /* on-chip Flash */
  23. FLASHG : origin = 0x098000, length = 0x008000 /* on-chip Flash */
  24. FLASHH : origin = 0x0A0000, length = 0x008000 /* on-chip Flash */
  25. FLASHI : origin = 0x0A8000, length = 0x008000 /* on-chip Flash */
  26. FLASHJ : origin = 0x0B0000, length = 0x008000 /* on-chip Flash */
  27. FLASHK : origin = 0x0B8000, length = 0x002000 /* on-chip Flash */
  28. FLASHL : origin = 0x0BA000, length = 0x002000 /* on-chip Flash */
  29. FLASHM : origin = 0x0BC000, length = 0x002000 /* on-chip Flash */
  30. FLASHN : origin = 0x0BE000, length = 0x002000 /* on-chip Flash */
  31. PAGE 1 :
  32. BOOT_RSVD : origin = 0x000002, length = 0x00007E /* 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. RAMLS5 : origin = 0x00A800, length = 0x000800
  36. RAMGS0 : origin = 0x00C000, length = 0x001000
  37. RAMGS1 : origin = 0x00D000, length = 0x001000
  38. CPU2TOCPU1RAM : origin = 0x03F800, length = 0x000400
  39. CPU1TOCPU2RAM : origin = 0x03FC00, length = 0x000400
  40. }
  41. SECTIONS
  42. {
  43. /* Allocate program areas: */
  44. .cinit : > FLASHB PAGE = 0, ALIGN(4)
  45. .pinit : > FLASHB, PAGE = 0, ALIGN(4)
  46. .text : > FLASHB PAGE = 0, ALIGN(4)
  47. codestart : > BEGIN PAGE = 0, ALIGN(4)
  48. /* Allocate uninitalized data sections: */
  49. .stack : > RAMM1 PAGE = 1
  50. .ebss : > RAMLS5 PAGE = 1
  51. .esysmem : > RAMLS5 PAGE = 1
  52. /* Initalized sections go in Flash */
  53. .econst : > FLASHB PAGE = 0, ALIGN(4)
  54. .switch : > FLASHB PAGE = 0, ALIGN(4)
  55. .reset : > RESET, PAGE = 0, TYPE = DSECT /* not used, */
  56. SHARERAMGS0 : > RAMGS0, PAGE = 1
  57. SHARERAMGS1 : > RAMGS1, PAGE = 1
  58. #ifdef __TI_COMPILER_VERSION__
  59. #if __TI_COMPILER_VERSION__ >= 15009000
  60. .TI.ramfunc : {} LOAD = FLASHD,
  61. RUN = RAMLS0 | RAMLS1 | RAMLS2 |RAMLS3,
  62. LOAD_START(_RamfuncsLoadStart),
  63. LOAD_SIZE(_RamfuncsLoadSize),
  64. LOAD_END(_RamfuncsLoadEnd),
  65. RUN_START(_RamfuncsRunStart),
  66. RUN_SIZE(_RamfuncsRunSize),
  67. RUN_END(_RamfuncsRunEnd),
  68. PAGE = 0, ALIGN(4)
  69. #else
  70. ramfuncs : LOAD = FLASHD,
  71. RUN = RAMLS0 | RAMLS1 | RAMLS2 |RAMLS3,
  72. LOAD_START(_RamfuncsLoadStart),
  73. LOAD_SIZE(_RamfuncsLoadSize),
  74. LOAD_END(_RamfuncsLoadEnd),
  75. RUN_START(_RamfuncsRunStart),
  76. RUN_SIZE(_RamfuncsRunSize),
  77. RUN_END(_RamfuncsRunEnd),
  78. PAGE = 0, ALIGN(4)
  79. #endif
  80. #endif
  81. /* The following section definitions are required when using the IPC API Drivers */
  82. GROUP : > CPU2TOCPU1RAM, PAGE = 1
  83. {
  84. PUTBUFFER
  85. PUTWRITEIDX
  86. GETREADIDX
  87. }
  88. GROUP : > CPU1TOCPU2RAM, PAGE = 1
  89. {
  90. GETBUFFER : TYPE = DSECT
  91. GETWRITEIDX : TYPE = DSECT
  92. PUTREADIDX : TYPE = DSECT
  93. }
  94. }
  95. /*
  96. //===========================================================================
  97. // End of file.
  98. //===========================================================================
  99. */