link.cmd 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. //-heap 0x1000000
  2. -heap 0x6000000
  3. -stack 0x6000000
  4. MEMORY
  5. {
  6. /* Local L2, 0.5~1MB*/
  7. VECTORS: o = 0x00800000 l = 0x00000200
  8. LL2_RW_DATA: o = 0x00800200 l = 0x0003FE00
  9. /* Shared L2 2~4MB*/
  10. SL2: o = 0x0C000000 l = 0x003fffff
  11. /* External DDR3, upto 2GB per core */
  12. DDR3_CODE: o = 0x80000000 l = 0x01000000 /*set memory protection attribitue as execution only*/
  13. DDR3_R_DATA: o = 0x81000000 l = 0x01000000 /*set memory protection attribitue as read only*/
  14. DDR3_RW_DATA: o = 0x82000000 l = 0x20000000 /*set memory protection attribitue as read/write*/
  15. }
  16. SECTIONS
  17. {
  18. vecs > VECTORS
  19. .text > DDR3_RW_DATA
  20. .cinit > LL2_RW_DATA
  21. .cinit > DDR3_RW_DATA
  22. .const > LL2_RW_DATA
  23. .switch > LL2_RW_DATA
  24. .const > DDR3_RW_DATA
  25. .switch > DDR3_RW_DATA
  26. /*.stack > SL2*/
  27. .stack > DDR3_RW_DATA
  28. GROUP
  29. {
  30. .neardata
  31. .rodata
  32. .bss
  33. /*} > LL2_RW_DATA*/
  34. } > DDR3_RW_DATA
  35. /*.far > LL2_RW_DATA*/
  36. .far > DDR3_RW_DATA
  37. /*.fardata > LL2_RW_DATA
  38. .cio > LL2_RW_DATA*/
  39. .fardata > DDR3_RW_DATA
  40. .cio > DDR3_RW_DATA
  41. .sysmem > DDR3_RW_DATA
  42. /* QMSS_Data:linkingRAM1 > DDR3_RW_DATA
  43. QMSS_Data:Descriptor_SL2 > DDR3_RW_DATA
  44. PacketData:buffer_SL2 > DDR3_RW_DATA
  45. QMSS_Data:Descriptor_LL2 > DDR3_RW_DATA
  46. PacketData:buffer_LL2 > DDR3_RW_DATA
  47. QMSS_Data:Descriptor_DDR > DDR3_RW_DATA
  48. PacketData:buffer_DDR > DDR3_RW_DATA*/
  49. .c6xabi.extab > DDR3_RW_DATA
  50. /*.c6xabi.exidx > LL2_RW_DATA*/
  51. .c6xabi.exidx > DDR3_RW_DATA
  52. .init_array > DDR3_RW_DATA
  53. /* SL2Mem > SL2
  54. .SL2 > SL2
  55. .flag_buf > DDR3_RW_DATA*/
  56. }