2837x_FLASH_lnk_cpu1.cmd 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. __heap_end = 0x010000;
  2. MEMORY
  3. {
  4. PAGE 0 : /* Program Memory */
  5. /* Memory (RAM/FLASH) blocks can be moved to PAGE1 for data allocation */
  6. /* BEGIN is used for the "boot to Flash" bootloader mode */
  7. BEGIN : origin = 0x080000, length = 0x000002
  8. RESET : origin = 0x3FFFC0, length = 0x000002
  9. RAMGS8_15 : origin = 0x013000, length = 0x009000
  10. /* Flash sectors */
  11. FLASHA : origin = 0x080002, length = 0x001FFE /* on-chip Flash */
  12. FLASHB : origin = 0x082000, length = 0x002000 /* on-chip Flash */
  13. FLASHC : origin = 0x084000, length = 0x002000 /* on-chip Flash */
  14. FLASHD : origin = 0x086000, length = 0x002000 /* on-chip Flash */
  15. FLASHE : origin = 0x088000, length = 0x008000 /* on-chip Flash */
  16. FLASHF : origin = 0x090000, length = 0x008000 /* on-chip Flash */
  17. FLASHG : origin = 0x098000, length = 0x008000 /* on-chip Flash */
  18. FLASHH : origin = 0x0A0000, length = 0x008000 /* on-chip Flash */
  19. FLASHI : origin = 0x0A8000, length = 0x008000 /* on-chip Flash */
  20. FLASHJ : origin = 0x0B0000, length = 0x008000 /* on-chip Flash */
  21. FLASHK : origin = 0x0B8000, length = 0x002000 /* on-chip Flash */
  22. FLASHL : origin = 0x0BA000, length = 0x002000 /* on-chip Flash */
  23. FLASHM : origin = 0x0BC000, length = 0x002000 /* on-chip Flash */
  24. FLASHN : origin = 0x0BE000, length = 0x002000 /* on-chip Flash */
  25. PAGE 1 : /* Data Memory */
  26. /* Memory (RAM/FLASH) blocks can be moved to PAGE0 for program allocation */
  27. BOOT_RSVD : origin = 0x000002, length = 0x000120 /* Part of M0, BOOT rom will use this for stack */
  28. RAMM0 : origin = 0x000122, length = 0x0002DE
  29. RAMM1 : origin = 0x000400, length = 0x000400 /* on-chip RAM block M1 */
  30. EBSS : origin = 0x008000, length = 0x008000 /* RAMLS0-4, 5*0x0800 */
  31. CPU2TOCPU1RAM : origin = 0x03F800, length = 0x000400
  32. CPU1TOCPU2RAM : origin = 0x03FC00, length = 0x000400
  33. }
  34. SECTIONS
  35. {
  36. /* Allocate program areas: */
  37. .cinit : > FLASHF PAGE = 0, ALIGN(4)
  38. .init_array : > FLASHF, PAGE = 0, ALIGN(4)
  39. .text : > FLASHE PAGE = 0, ALIGN(4)
  40. codestart : > BEGIN PAGE = 0, ALIGN(4)
  41. #ifdef __TI_COMPILER_VERSION__
  42. #if __TI_COMPILER_VERSION__ >= 15009000
  43. .TI.ramfunc : {} LOAD = FLASHF,
  44. RUN = RAMGS8_15,
  45. LOAD_START(RamfuncsLoadStart),
  46. LOAD_SIZE(RamfuncsLoadSize),
  47. LOAD_END(RamfuncsLoadEnd),
  48. RUN_START(RamfuncsRunStart),
  49. RUN_SIZE(RamfuncsRunSize),
  50. RUN_END(RamfuncsRunEnd),
  51. PAGE = 0, ALIGN(4)
  52. #else
  53. ramfuncs : LOAD = FLASHF,
  54. RUN = RAMGS8_15,
  55. LOAD_START(RamfuncsLoadStart),
  56. LOAD_SIZE(RamfuncsLoadSize),
  57. LOAD_END(RamfuncsLoadEnd),
  58. RUN_START(RamfuncsRunStart),
  59. RUN_SIZE(RamfuncsRunSize),
  60. RUN_END(RamfuncsRunEnd),
  61. PAGE = 0, ALIGN(4)
  62. #endif
  63. #endif
  64. FSymTab : > RAMM1, PAGE = 1
  65. LOAD_START(__fsymtab_start)
  66. LOAD_END(__fsymtab_end)
  67. .rti_fn.0.end : > RAMM1, PAGE = 1
  68. .rti_fn.0 : > RAMM1, PAGE = 1
  69. .rti_fn.1 : > RAMM1, PAGE = 1
  70. .rti_fn.2 : > RAMM1, PAGE = 1
  71. .rti_fn.3 : > RAMM1, PAGE = 1
  72. .rti_fn.4 : > RAMM1, PAGE = 1
  73. .rti_fn.5 : > RAMM1, PAGE = 1
  74. .rti_fn.1.end : > RAMM1, PAGE = 1
  75. .rti_fn.6.end : > RAMM1, PAGE = 1
  76. .rti_fn.6 : > RAMM1, PAGE = 1
  77. /* Allocate uninitalized data sections: */
  78. .stack : > RAMM1 PAGE = 1
  79. .sysmem : > RAMM1 PAGE = 1
  80. .bss : > EBSS, PAGE = 1
  81. .data : > EBSS,
  82. LOAD_END(__ebss_end),
  83. PAGE = 1
  84. /* Initalized sections go in Flash */
  85. .const : > FLASHF PAGE = 0, ALIGN(4)
  86. .switch : > FLASHF PAGE = 0, ALIGN(4)
  87. .reset : > RESET, PAGE = 0, TYPE = DSECT /* not used, */
  88. /* The following section definitions are required when using the IPC API Drivers */
  89. GROUP : > CPU1TOCPU2RAM, PAGE = 1
  90. {
  91. PUTBUFFER
  92. PUTWRITEIDX
  93. GETREADIDX
  94. }
  95. GROUP : > CPU2TOCPU1RAM, PAGE = 1
  96. {
  97. GETBUFFER : TYPE = DSECT
  98. GETWRITEIDX : TYPE = DSECT
  99. PUTREADIDX : TYPE = DSECT
  100. }
  101. }
  102. /*
  103. //===========================================================================
  104. // End of file.
  105. //===========================================================================
  106. */