memmap.xmm 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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 - 0x2027ffff : HEAP : .sram.rodata .clib.rodata .rtos.rodata .rodata .sram.literal .literal .rtos.literal .clib.literal .sram.text .text .clib.text .rtos.text .clib.data .clib.percpu.data .rtos.percpu.data .rtos.data .sram.data .data __llvm_prf_names .clib.bss .clib.percpu.bss .rtos.percpu.bss .rtos.bss .sram.bss .bss .debug.bss;
  58. END sram
  59. BEGIN dram0
  60. 0xe0180000: dataRam : dram0 : 0x20000 : writable ;
  61. dram0_0 : C : 0xe0180000 - 0xe019ffff :.dram0.rodata .dram0.data .dram0.bss .dram0_user.bss;
  62. END dram0
  63. BEGIN dram1
  64. 0xe01a0000: dataRam : dram1 : 0x20000 : writable ;
  65. dram1_0 : C : 0xe01a0000 - 0xe01bffff :STACK :.dram1.rodata .dram1.data .dram1.bss .dram1_user.bss;
  66. END dram1
  67. BEGIN local_sram
  68. 0xffa00000: sysram : local_sram : 0x180000: writable ;
  69. local_sram_0 : C : 0xffa00000 - 0xffb7ffff :.local_sram.bss ;
  70. END local_sram