link.cmd 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. //-heap 0x1000000
  2. -heap 0x600000
  3. -stack 0x600000
  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. .const > DDR3_RW_DATA
  22. .switch > LL2_RW_DATA
  23. /*.stack > SL2*/
  24. .stack > DDR3_RW_DATA
  25. GROUP
  26. {
  27. .neardata
  28. .rodata
  29. .bss
  30. } > LL2_RW_DATA
  31. .far > LL2_RW_DATA
  32. .fardata > LL2_RW_DATA
  33. .cio > LL2_RW_DATA
  34. .sysmem > DDR3_RW_DATA
  35. /* QMSS_Data:linkingRAM1 > DDR3_RW_DATA
  36. QMSS_Data:Descriptor_SL2 > DDR3_RW_DATA
  37. PacketData:buffer_SL2 > DDR3_RW_DATA
  38. QMSS_Data:Descriptor_LL2 > DDR3_RW_DATA
  39. PacketData:buffer_LL2 > DDR3_RW_DATA
  40. QMSS_Data:Descriptor_DDR > DDR3_RW_DATA
  41. PacketData:buffer_DDR > DDR3_RW_DATA*/
  42. .c6xabi.extab > LL2_RW_DATA
  43. .c6xabi.exidx > LL2_RW_DATA
  44. .init_array > LL2_RW_DATA
  45. /* SL2Mem > SL2
  46. .SL2 > SL2
  47. .flag_buf > DDR3_RW_DATA*/
  48. }