1// Memory map file to generate linker scripts for programs to run on 2// most targets (that have the OCD option); allows I/O through the host 3// debugger when being debugged using GDB (via the Xtensa OCD daemon). 4 5// Customer ID=13270; Build=0x802a5; Copyright (c) 2006-2015 Cadence Design Systems, Inc. 6// 7// Permission is hereby granted, free of charge, to any person obtaining 8// a copy of this software and associated documentation files (the 9// "Software"), to deal in the Software without restriction, including 10// without limitation the rights to use, copy, modify, merge, publish, 11// distribute, sublicense, and/or sell copies of the Software, and to 12// permit persons to whom the Software is furnished to do so, subject to 13// the following conditions: 14// 15// The above copyright notice and this permission notice shall be included 16// in all copies or substantial portions of the Software. 17// 18// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 26 27// A memory map is a sequence of memory descriptions and 28// optional parameter assignments. 29// 30// Each memory description has the following format: 31// BEGIN <name> 32// <addr> [,<paddr>] : <mem-type> : <mem-name> : <size> [,<psize>] 33// : [writable] [,executable] [,device] ; 34// <segment>* 35// END <name> 36// 37// where each <segment> description has the following format: 38// <seg-name> : F|C : <start-addr> - <end-addr> [ : STACK ] [ : HEAP ] 39// : <section-name>* ; 40// 41// Each parameter assignment is a keyword/value pair in the following format: 42// <keyword> = <value> (no spaces in <value>) 43// or 44// <keyword> = "<value>" (spaces allowed in <value>) 45// 46// The following primitives are also defined: 47// PLACE SECTIONS( <section-name>* ) { WITH_SECTION(<section-name>) 48// | IN_SEGMENT(<seg-name>) } 49// 50// NOLOAD <section-name1> [ <section-name2> ... ] 51// 52// Please refer to the Xtensa LSP Reference Manual for more details. 53// 54BEGIN dsp_core 550x00200000: sysram : dsp_core : 0x280000 : executable, writable ; 56 dsp_core : C : 0x00200000 - 0x0047ffff : STACK : HEAP : .rodata .literal .text .data __llvm_prf_names .bss; 57END dsp_core 58 59BEGIN dsp_uncached 600x20000000: sysram : dsp_uncached : 0x480000 : uncached, executable, writable ; 61 dsp_uncached : C : 0x20060000 - 0x2006ffff : NonCacheable.init NonCacheable ; 62END dsp_uncached 63 64BEGIN dram0 650x24000000: dataRam : dram0 : 0x10000 : writable ; 66 dram0_0 : C : 0x24000000 - 0x2400ffff : .dram0.rodata .ResetVector.literal .Level2InterruptVector.literal .Level3InterruptVector.literal .DebugExceptionVector.literal .NMIExceptionVector.literal .KernelExceptionVector.literal .UserExceptionVector.literal .DoubleExceptionVector.literal .iram0.literal .dram0.data .dram0.bss; 67END dram0 68 69BEGIN iram0 700x24020000: instRam : iram0 : 0x10000 : executable, writable ; 71 iram0_0 : F : 0x24020000 - 0x240203ff : .ResetVector.text .ResetHandler.literal .ResetHandler.text; 72 iram0_1 : F : 0x24020400 - 0x2402057b : .WindowVectors.text; 73 iram0_2 : F : 0x2402057c - 0x2402059b : .Level2InterruptVector.text; 74 iram0_3 : F : 0x2402059c - 0x240205bb : .Level3InterruptVector.text; 75 iram0_4 : F : 0x240205bc - 0x240205db : .DebugExceptionVector.text; 76 iram0_5 : F : 0x240205dc - 0x240205fb : .NMIExceptionVector.text; 77 iram0_6 : F : 0x240205fc - 0x2402061b : .KernelExceptionVector.text; 78 iram0_7 : F : 0x2402061c - 0x2402063b : .UserExceptionVector.text; 79 iram0_8 : F : 0x2402063c - 0x2402ffff : .DoubleExceptionVector.text .iram0.text; 80END iram0 81 82