1
0

2837xD_RAM_CLA_lnk_cpu1.cmd 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. // The user must define CLA_C in the project linker settings if using the
  2. // CLA C compiler
  3. // Project Properties -> C2000 Linker -> Advanced Options -> Command File
  4. // Preprocessing -> --define
  5. #ifdef CLA_C
  6. // Define a size for the CLA scratchpad area that will be used
  7. // by the CLA compiler for local symbols and temps
  8. // Also force references to the special symbols that mark the
  9. // scratchpad are.
  10. CLA_SCRATCHPAD_SIZE = 0x100;
  11. --undef_sym=__cla_scratchpad_end
  12. --undef_sym=__cla_scratchpad_start
  13. #endif //CLA_C
  14. MEMORY
  15. {
  16. PAGE 0 :
  17. /* BEGIN is used for the "boot to SARAM" bootloader mode */
  18. BEGIN : origin = 0x000000, length = 0x000002
  19. RAMM0 : origin = 0x000122, length = 0x0002DE
  20. RAMD0 : origin = 0x00B000, length = 0x000800
  21. RAMD1 : origin = 0x00B800, length = 0x000800
  22. /* RAMLS4 : origin = 0x00A000, length = 0x000800 */
  23. /* RAMLS5 : origin = 0x00A800, length = 0x000800 */
  24. RAMLS4_5 : origin = 0x00A000, length = 0x001000
  25. RESET : origin = 0x3FFFC0, length = 0x000002
  26. PAGE 1 :
  27. BOOT_RSVD : origin = 0x000002, length = 0x000120 /* Part of M0, BOOT rom will use this for stack */
  28. RAMM1 : origin = 0x000400, length = 0x000400 /* on-chip RAM block M1 */
  29. RAMLS0 : origin = 0x008000, length = 0x000800
  30. RAMLS1 : origin = 0x008800, length = 0x000800
  31. RAMLS2 : origin = 0x009000, length = 0x000800
  32. RAMLS3 : origin = 0x009800, length = 0x000800
  33. RAMGS0 : origin = 0x00C000, length = 0x001000
  34. RAMGS1 : origin = 0x00D000, length = 0x001000
  35. RAMGS2 : origin = 0x00E000, length = 0x001000
  36. RAMGS3 : origin = 0x00F000, length = 0x001000
  37. RAMGS4 : origin = 0x010000, length = 0x001000
  38. RAMGS5 : origin = 0x011000, length = 0x001000
  39. RAMGS6 : origin = 0x012000, length = 0x001000
  40. RAMGS7 : origin = 0x013000, length = 0x001000
  41. RAMGS8 : origin = 0x014000, length = 0x001000
  42. RAMGS9 : origin = 0x015000, length = 0x001000
  43. RAMGS10 : origin = 0x016000, length = 0x001000
  44. RAMGS11 : origin = 0x017000, length = 0x001000
  45. RAMGS12 : origin = 0x018000, length = 0x001000 /* Only Available on F28379D, F28377D, F28375D devices. Remove line on other devices. */
  46. RAMGS13 : origin = 0x019000, length = 0x001000 /* Only Available on F28379D, F28377D, F28375D devices. Remove line on other devices. */
  47. RAMGS14 : origin = 0x01A000, length = 0x001000 /* Only Available on F28379D, F28377D, F28375D devices. Remove line on other devices. */
  48. RAMGS15 : origin = 0x01B000, length = 0x001000 /* Only Available on F28379D, F28377D, F28375D devices. Remove line on other devices. */
  49. EMIF1_CS0n : origin = 0x80000000, length = 0x10000000
  50. EMIF1_CS2n : origin = 0x00100000, length = 0x00200000
  51. EMIF1_CS3n : origin = 0x00300000, length = 0x00080000
  52. EMIF1_CS4n : origin = 0x00380000, length = 0x00060000
  53. EMIF2_CS0n : origin = 0x90000000, length = 0x10000000
  54. EMIF2_CS2n : origin = 0x00002000, length = 0x00001000
  55. CANA_MSG_RAM : origin = 0x049000, length = 0x000800
  56. CANB_MSG_RAM : origin = 0x04B000, length = 0x000800
  57. CLA1_MSGRAMLOW : origin = 0x001480, length = 0x000080
  58. CLA1_MSGRAMHIGH : origin = 0x001500, length = 0x000080
  59. }
  60. SECTIONS
  61. {
  62. codestart : > BEGIN, PAGE = 0
  63. .text : >> RAMM0 | RAMD0 | RAMD1, PAGE = 0
  64. .cinit : > RAMM0, PAGE = 0
  65. .pinit : > RAMM0, PAGE = 0
  66. .switch : > RAMM0, PAGE = 0
  67. .reset : > RESET, PAGE = 0, TYPE = DSECT /* not used, */
  68. .stack : > RAMM1, PAGE = 1
  69. .ebss : > RAMLS2, PAGE = 1
  70. .econst : > RAMLS3, PAGE = 1
  71. .esysmem : > RAMLS3, PAGE = 1
  72. Filter_RegsFile : > RAMGS0, 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. /* CLA specific sections */
  80. Cla1Prog : > RAMLS4_5, PAGE=0
  81. CLADataLS0 : > RAMLS0, PAGE=1
  82. CLADataLS1 : > RAMLS1, PAGE=1
  83. Cla1ToCpuMsgRAM : > CLA1_MSGRAMLOW, PAGE = 1
  84. CpuToCla1MsgRAM : > CLA1_MSGRAMHIGH, PAGE = 1
  85. /* The following section definition are for SDFM examples */
  86. Filter1_RegsFile : > RAMGS1, PAGE = 1, fill=0x1111
  87. Filter2_RegsFile : > RAMGS2, PAGE = 1, fill=0x2222
  88. Filter3_RegsFile : > RAMGS3, PAGE = 1, fill=0x3333
  89. Filter4_RegsFile : > RAMGS4, PAGE = 1, fill=0x4444
  90. #ifdef __TI_COMPILER_VERSION__
  91. #if __TI_COMPILER_VERSION__ >= 15009000
  92. .TI.ramfunc : {} > RAMM0, PAGE = 0
  93. #else
  94. ramfuncs : > RAMM0 PAGE = 0
  95. #endif
  96. #endif
  97. #ifdef CLA_C
  98. /* CLA C compiler sections */
  99. //
  100. // Must be allocated to memory the CLA has write access to
  101. //
  102. CLAscratch :
  103. { *.obj(CLAscratch)
  104. . += CLA_SCRATCHPAD_SIZE;
  105. *.obj(CLAscratch_end) } > RAMLS1, PAGE = 1
  106. .scratchpad : > RAMLS1, PAGE = 1
  107. .bss_cla : > RAMLS1, PAGE = 1
  108. .const_cla : > RAMLS1, PAGE = 1
  109. #endif //CLA_C
  110. }
  111. /*
  112. //===========================================================================
  113. // End of file.
  114. //===========================================================================
  115. */