memmap.xmm 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. // Memory map file to generate linker scripts for programs without board I/O.
  2. // Customer ID=16470; Build=0x8e648; Copyright (c) 2004-2015 Cadence Design Systems, Inc.
  3. //
  4. // Permission is hereby granted, free of charge, to any person obtaining
  5. // a copy of this software and associated documentation files (the
  6. // "Software"), to deal in the Software without restriction, including
  7. // without limitation the rights to use, copy, modify, merge, publish,
  8. // distribute, sublicense, and/or sell copies of the Software, and to
  9. // permit persons to whom the Software is furnished to do so, subject to
  10. // the following conditions:
  11. //
  12. // The above copyright notice and this permission notice shall be included
  13. // in all copies or substantial portions of the Software.
  14. //
  15. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  16. // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  17. // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
  18. // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
  19. // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
  20. // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
  21. // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  22. // Place stack in local RAM:
  23. PLACE SECTIONS(STACK) WITH_SECTION(.dram1.bss)
  24. // A memory map is a sequence of memory descriptions and
  25. // optional parameter assignments.
  26. //
  27. // Each memory description has the following format:
  28. // BEGIN <name>
  29. // <addr> [,<paddr>] : <mem-type> : <mem-name> : <size> [,<psize>]
  30. // : [writable] [,executable] [,device] ;
  31. // <segment>*
  32. // END <name>
  33. //
  34. // where each <segment> description has the following format:
  35. // <seg-name> : F|C : <start-addr> - <end-addr> [ : STACK ] [ : HEAP ]
  36. // : <section-name>* ;
  37. //
  38. // Each parameter assignment is a keyword/value pair in the following format:
  39. // <keyword> = <value> (no spaces in <value>)
  40. // or
  41. // <keyword> = "<value>" (spaces allowed in <value>)
  42. //
  43. // The following primitives are also defined:
  44. // PLACE SECTIONS( <section-name>* ) { WITH_SECTION(<section-name>)
  45. // | IN_SEGMENT(<seg-name>) }
  46. //
  47. // NOLOAD <section-name1> [ <section-name2> ... ]
  48. //
  49. // Please refer to the Xtensa LSP Reference Manual for more details.
  50. //
  51. VECSELECT=1
  52. VECRESET=0x20000000
  53. VECBASE= 0x20000000
  54. BEGIN sram
  55. 0x20000000: extra_mem : sram : 0x00280000 : executable, writable ;
  56. sram0 : F : 0x20000000 - 0x20000fff : .DispatchVector.text .ResetVector.text .ResetHandler.literal .ResetHandler.text .DispatchHandler.literal .DispatchHandler.text;
  57. sram1 : C : 0x20001000 - 0x201fffff : HEAP : .sram.rodata .clib.rodata .rtos.rodata .sram.literal .rtos.literal .clib.literal .sram.text .clib.text .rtos.text .clib.data .clib.percpu.data .rtos.percpu.data .rtos.data .sram.data __llvm_prf_names .clib.bss .clib.percpu.bss .rtos.percpu.bss .rtos.bss .sram.bss .debug.bss;
  58. sram2 : C : 0x20200000 - 0x2023ffff : .sram2.rodata .rodata .sram2.literal .literal .sram2.text .text .sram2.data .data .sram2.bss .bss;
  59. sram3 : C : 0x20240000 - 0x2027ffff : .sram3.rodata .sram3.literal .sram3.text .sram3.data .sram3.bss;
  60. END sram
  61. BEGIN dram0
  62. 0xe0180000: dataRam : dram0 : 0x20000 : writable ;
  63. dram0_0 : C : 0xe0180000 - 0xe019ffff :.dram0.rodata .dram0.data .dram0.bss .dram0_user.bss;
  64. END dram0
  65. BEGIN dram1
  66. 0xe01a0000: dataRam : dram1 : 0x20000 : writable ;
  67. dram1_0 : C : 0xe01a0000 - 0xe01bffff :STACK :.dram1.rodata .dram1.data .dram1.bss .dram1_user.bss;
  68. END dram1
  69. BEGIN local_sram
  70. 0xffa00000: sysram : local_sram : 0x180000: writable ;
  71. local_sram_0 : C : 0xffa00000 - 0xffb7ffff :.local_sram.bss ;
  72. END local_sram
  73. ENTRY = _libinit
  74. USE_SEGMENT_AREA = ".dram0.data 120832 + 0 end : .dram1.data 120832 + 0 end : .sram2.data 262144 + 0 end"