source: soft/giet_vm/mappings/4c_1p_four_leti_ext.xml @ 322

Last change on this file since 322 was 311, checked in by alain, 10 years ago

Introducing new mappings for tsar_generic_iob and tsar_generic_leti platforms

File size: 25.7 KB
Line 
1<?xml version="1.0"?>
2
3<mapping_info signature    = "0xdace2014" 
4              name         = "4c_1p_four_leti_ext" 
5              x_size       = "2" 
6              y_size       = "3" 
7              x_width      = "4"
8              y_width      = "4"
9                          irq_per_proc = "4" 
10              use_ramdisk  = "0"
11              x_io         = "1"
12              y_io         = "2" >
13
14*** This mapping is for the "tsar_generic_leti" hardware architecture
15*** with 4 clusters containing processors and 4 processors per cluster
16*** 40 bits physical address, and 64 Mbytes per cluster.
17*** It uses the external peripherals, which means 2*3 clusters, because
18*** External peripherals are implemented in cluster(1,2), and the associated WTI
19*** are routed by the PIC component to the XCU in cluster (0,0).
20*** Cluster (0,0) contains two backup peripherals (TTY and Block Device),
21*** and the corresponding HWI are connected to the XICU in cluster (0,0)
22
23*** Four concurrent applications are launched on this 4 processors platform
24*** router, hello, pgcd, display, running 7 tasks.
25
26    <clusterset>
27
28        <cluster x = "0" y = "0" >
29            <pseg name = "PSEG_RAM"  type = "RAM"  base = "0x0000000000" length = "0x0001000000" />
30            <pseg name = "PSEG_XCU"  type = "PERI" base = "0x00F0000000" length = "0x0000002000" />
31            <pseg name = "PSEG_MMC"  type = "PERI" base = "0x00E0000000" length = "0x0000001000" />
32            <pseg name = "PSEG_IOC"  type = "PERI" base = "0x00F2000000" length = "0x0000001000" /> 
33            <pseg name = "PSEG_TTY"  type = "PERI" base = "0x00F4000000" length = "0x0000001000" /> 
34
35            <proc index  = "0" />
36
37            <periph type = "MMC"  psegname = "PSEG_MMC"  >
38            </periph>
39            <periph type = "IOC"  psegname = "PSEG_IOC"  subtype = "BDV" > 
40            </periph>
41            <periph type = "TTY"  psegname = "PSEG_TTY"  channels = "1" > 
42            </periph>
43            <periph type = "XCU"  psegname = "PSEG_XCU"  channels = "16" >
44                <irq srcid = "0"  srctype = "WTI"  isr = "ISR_WAKUP"                  dstx = "0"  dsty = "0"  dstid = "0" />
45                <irq srcid = "4"  srctype = "WTI"  isr = "ISR_NIC_RX"  channel = "0"  dstx = "0"  dsty = "0"  dstid = "0" />
46                <irq srcid = "5"  srctype = "WTI"  isr = "ISR_NIC_RX"  channel = "1"  dstx = "0"  dsty = "0"  dstid = "0" />
47                <irq srcid = "6"  srctype = "WTI"  isr = "ISR_NIC_TX"  channel = "0"  dstx = "0"  dsty = "0"  dstid = "0" />
48                <irq srcid = "7"  srctype = "WTI"  isr = "ISR_NIC_TX"  channel = "1"  dstx = "0"  dsty = "0"  dstid = "0" />
49                <irq srcid = "8"  srctype = "WTI"  isr = "ISR_CMA"     channel = "0"  dstx = "0"  dsty = "0"  dstid = "0" />
50                <irq srcid = "9"  srctype = "WTI"  isr = "ISR_CMA"     channel = "1"  dstx = "0"  dsty = "0"  dstid = "0" />
51                <irq srcid = "10" srctype = "WTI"  isr = "ISR_CMA"     channel = "2"  dstx = "0"  dsty = "0"  dstid = "0" />
52                <irq srcid = "11" srctype = "WTI"  isr = "ISR_CMA"     channel = "3"  dstx = "0"  dsty = "0"  dstid = "0" />
53                <irq srcid = "12" srctype = "WTI"  isr = "ISR_BDV"     channel = "0"  dstx = "0"  dsty = "0"  dstid = "0" />
54                <irq srcid = "13" srctype = "WTI"  isr = "ISR_TTY_RX"  channel = "0"  dstx = "0"  dsty = "0"  dstid = "0" />
55                <irq srcid = "14" srctype = "WTI"  isr = "ISR_TTY_RX"  channel = "1"  dstx = "0"  dsty = "0"  dstid = "0" />
56
57                <irq srcid = "0"  srctype = "PTI"  isr = "ISR_TICK"                   dstx = "0"  dsty = "0"  dstid = "0" />
58
59                <irq srcid = "8"  srctype = "HWI"  isr = "ISR_DEFAULT"                dstx = "0"  dsty = "0"  dstid = "0" />
60                <irq srcid = "9"  srctype = "HWI"  isr = "ISR_BDV"     channel = "0"  dstx = "0"  dsty = "0"  dstid = "0" />
61                <irq srcid = "10" srctype = "HWI"  isr = "ISR_TTY_RX"  channel = "0"  dstx = "0"  dsty = "0"  dstid = "0" />
62            </periph>
63        </cluster>
64
65        <cluster x = "0" y = "1" >
66            <pseg name = "PSEG_RAM"  type = "RAM"  base = "0x0100000000" length = "0x0400000000" />
67            <pseg name = "PSEG_XCU"  type = "PERI" base = "0x01F0000000" length = "0x0000002000" />
68            <pseg name = "PSEG_MMC"  type = "PERI" base = "0x01E0000000" length = "0x0000001000" />
69
70            <proc index  = "0" />
71
72            <periph type = "MMC"  psegname = "PSEG_MMC" >
73            </periph>
74            <periph type = "XCU"  psegname = "PSEG_XCU"  channels = "16" >
75                <irq srcid = "0"  srctype = "WTI"  isr = "ISR_WAKUP"                  dstx = "0"  dsty = "1"  dstid = "0" />
76                <irq srcid = "0"  srctype = "PTI"  isr = "ISR_TICK"                   dstx = "0"  dsty = "1"  dstid = "0" />
77                <irq srcid = "8"  srctype = "HWI"  isr = "ISR_DEFAULT"                dstx = "0"  dsty = "1"  dstid = "0" />
78                <irq srcid = "13" srctype = "WTI"  isr = "ISR_TTY_RX"  channel = "2"  dstx = "0"  dsty = "1"  dstid = "0" />
79                <irq srcid = "14" srctype = "WTI"  isr = "ISR_TTY_RX"  channel = "3"  dstx = "0"  dsty = "1"  dstid = "0" />
80            </periph>
81        </cluster>
82
83        <cluster x = "1" y = "0" >
84            <pseg name = "PSEG_RAM"  type = "RAM"  base = "0x1000000000" length = "0x0400000000" />
85            <pseg name = "PSEG_XCU"  type = "PERI" base = "0x10F0000000" length = "0x0000002000" />
86            <pseg name = "PSEG_MMC"  type = "PERI" base = "0x10E0000000" length = "0x0000001000" />
87
88            <proc index  = "0" />
89
90            <periph type = "MMC"  psegname = "PSEG_MMC" >
91            </periph>
92            <periph type = "XCU"  psegname = "PSEG_XCU"  channels = "16" >
93                <irq srcid = "0"  srctype = "WTI"  isr = "ISR_WAKUP"                  dstx = "1"  dsty = "0"  dstid = "0" />
94                <irq srcid = "0"  srctype = "PTI"  isr = "ISR_TICK"                   dstx = "1"  dsty = "0"  dstid = "0" />
95                <irq srcid = "8"  srctype = "HWI"  isr = "ISR_DEFAULT"                dstx = "1"  dsty = "0"  dstid = "0" />
96                <irq srcid = "13" srctype = "WTI"  isr = "ISR_TTY_RX"  channel = "4"  dstx = "1"  dsty = "0"  dstid = "0" />
97                <irq srcid = "14" srctype = "WTI"  isr = "ISR_TTY_RX"  channel = "5"  dstx = "1"  dsty = "0"  dstid = "0" />
98            </periph>
99        </cluster>
100
101        <cluster x = "1" y = "1" >
102            <pseg name = "PSEG_RAM"  type = "RAM"  base = "0x1100000000" length = "0x0400000000" />
103            <pseg name = "PSEG_XCU"  type = "PERI" base = "0x11F0000000" length = "0x0000002000" />
104            <pseg name = "PSEG_MMC"  type = "PERI" base = "0x11E0000000" length = "0x0000001000" />
105
106            <proc index  = "0" />
107
108            <periph type = "MMC"  psegname = "PSEG_MMC" >
109            </periph>
110            <periph type = "XCU"  psegname = "PSEG_XCU"  channels = "16" >
111                <irq srcid = "0"  srctype = "WTI"  isr = "ISR_WAKUP"                  dstx = "1"  dsty = "1"  dstid = "0" />
112                <irq srcid = "0"  srctype = "PTI"  isr = "ISR_TICK"                   dstx = "1"  dsty = "1"  dstid = "0" />
113                <irq srcid = "8"  srctype = "HWI"  isr = "ISR_DEFAULT"                dstx = "1"  dsty = "1"  dstid = "0" />
114                <irq srcid = "13" srctype = "WTI"  isr = "ISR_TTY_RX"  channel = "6"  dstx = "1"  dsty = "1"  dstid = "0" />
115                <irq srcid = "14" srctype = "WTI"  isr = "ISR_TTY_RX"  channel = "7"  dstx = "1"  dsty = "1"  dstid = "0" />
116            </periph>
117        </cluster>
118
119*** empty cluster
120
121        <cluster x = "0" y = "2" >
122        </cluster>
123
124*** cluster_io
125
126        <cluster x = "1" y = "2" >
127            <pseg name = "PSEG_IOC"  type = "PERI" base = "0x12F2000000" length = "0x0000001000" /> 
128            <pseg name = "PSEG_FBF"  type = "PERI" base = "0x12F3000000" length = "0x0000004000" /> 
129            <pseg name = "PSEG_TTY"  type = "PERI" base = "0x12F4000000" length = "0x0000001000" /> 
130            <pseg name = "PSEG_NIC"  type = "PERI" base = "0x12F7000000" length = "0x0000080000" />
131            <pseg name = "PSEG_CMA"  type = "PERI" base = "0x12F8000000" length = "0x0000008000" />
132            <pseg name = "PSEG_PIC"  type = "PERI" base = "0x12F9000000" length = "0x0000004000" />
133
134            <periph type = "IOC"  psegname = "PSEG_IOC"  subtype = "BDV" > 
135            </periph>
136            <periph type = "FBF"  psegname = "PSEG_FBF" >
137            </periph>
138            <periph type = "TTY"  psegname = "PSEG_TTY"  channels = "8" > 
139            </periph>
140            <periph type = "NIC"  psegname = "PSEG_NIC"  channels = "2" >
141            </periph>
142            <periph type = "CMA"  psegname = "PSEG_CMA"  channels = "4" >
143            </periph>
144            <periph type = "PIC"  psegname = "PSEG_PIC"  channels = "32" >
145                <irq srcid = "0"  srctype  = "HWI"  isr = "ISR_NIC_RX" channel = "0"  dstx = "0"  dsty = "0"  dstid = "4"  />
146                <irq srcid = "1"  srctype  = "HWI"  isr = "ISR_NIC_RX" channel = "1"  dstx = "0"  dsty = "0"  dstid = "5"  />
147
148                <irq srcid = "2"  srctype  = "HWI"  isr = "ISR_NIC_TX" channel = "0"  dstx = "0"  dsty = "0"  dstid = "6"  />
149                <irq srcid = "3"  srctype  = "HWI"  isr = "ISR_NIC_TX" channel = "1"  dstx = "0"  dsty = "0"  dstid = "7"  />
150
151                <irq srcid = "4"  srctype  = "HWI"  isr = "ISR_CMA"    channel = "0"  dstx = "0"  dsty = "0"  dstid = "8"  />
152                <irq srcid = "5"  srctype  = "HWI"  isr = "ISR_CMA"    channel = "1"  dstx = "0"  dsty = "0"  dstid = "9"  />
153                <irq srcid = "6"  srctype  = "HWI"  isr = "ISR_CMA"    channel = "2"  dstx = "0"  dsty = "0"  dstid = "10" />
154                <irq srcid = "7"  srctype  = "HWI"  isr = "ISR_CMA"    channel = "3"  dstx = "0"  dsty = "0"  dstid = "11" />
155
156                <irq srcid = "8"  srctype  = "HWI"  isr = "ISR_BDV"    channel = "0"  dstx = "0"  dsty = "0"  dstid = "12" />
157
158                <irq srcid = "16" srctype  = "HWI"  isr = "ISR_TTY_RX" channel = "0"  dstx = "0"  dsty = "0"  dstid = "13" />
159                <irq srcid = "17" srctype  = "HWI"  isr = "ISR_TTY_RX" channel = "1"  dstx = "0"  dsty = "0"  dstid = "14" />
160                <irq srcid = "18" srctype  = "HWI"  isr = "ISR_TTY_RX" channel = "2"  dstx = "0"  dsty = "1"  dstid = "13" />
161                <irq srcid = "19" srctype  = "HWI"  isr = "ISR_TTY_RX" channel = "3"  dstx = "0"  dsty = "1"  dstid = "14" />
162                <irq srcid = "20" srctype  = "HWI"  isr = "ISR_TTY_RX" channel = "4"  dstx = "1"  dsty = "0"  dstid = "13" />
163                <irq srcid = "21" srctype  = "HWI"  isr = "ISR_TTY_RX" channel = "5"  dstx = "1"  dsty = "0"  dstid = "14" />
164                <irq srcid = "21" srctype  = "HWI"  isr = "ISR_TTY_RX" channel = "6"  dstx = "1"  dsty = "1"  dstid = "13" />
165                <irq srcid = "22" srctype  = "HWI"  isr = "ISR_TTY_RX" channel = "7"  dstx = "1"  dsty = "1"  dstid = "14" />
166            </periph>
167        </cluster>
168
169    </clusterset>
170
171    <globalset> 
172
173*** Global vsegs associated to peripherals  replicated in all clusters (XCU, MMC, SCHED)
174*** must respect the following policy (checked by the XML parser) :
175*** vbase[x,y] = vbase[0,0] + 64K * cluster_xy
176*** pbase[x,y] = pbase[0,0] + 4G  * cluster_xy
177*** ( with cluster_xy = x*16 + y )
178*** the vseg type is entirely defined by the 8 virtual address MSB bits (mask_type = 0xFF000000)
179*** The cluster index must be encoded in the next 8 virtual address bits (cluster_mask = 0x00FF0000)
180
181*** 5 global vsegs used by the boot code / A[31:28] = 0x0 / Identity mapping
182*** seg_boot_mapping is loaded by the boot-loader. It contains the mapping info.  Reused by the kernel.
183*** seg_boot_code and seg_boot data are loaded by the preloader, used by the boot-loader.  Not reused by the kernel.
184*** seg_boot_stack contains the stacks used by all processors during reset and boot.  Not reused by the Kernel.
185*** seg_boot_buffer is used by the boot-loader. It contains a complete .elf file.  Not reused by the kernel.
186
187        <vseg name = "seg_boot_code"      vbase = "0x00010000" mode = "CXW_" x = "0" y = "0" psegname = "PSEG_RAM" ident = "1" >
188            <vobj name = "boot_code"      type = "BUFFER" length = "0x00020000" />
189        </vseg>
190        <vseg name = "seg_boot_data"      vbase = "0x00030000" mode = "C_W_" x = "0" y = "0" psegname = "PSEG_RAM" ident = "1" >
191            <vobj name = "boot_data"      type = "BUFFER" length = "0x00010000" />
192        </vseg>
193        <vseg name = "seg_boot_buffer"    vbase = "0x00040000" mode = "C_W_" x = "0" y = "0" psegname = "PSEG_RAM" ident = "1" >
194            <vobj name = "boot_buffer"    type = "BUFFER" length = "0x00060000" />
195        </vseg>
196        <vseg name = "seg_boot_stack"     vbase = "0x000A0000" mode = "C_W_" x = "0" y = "0" psegname = "PSEG_RAM" ident = "1" >
197            <vobj name = "boot_stack"     type = "BUFFER" length = "0x00050000" />
198        </vseg>
199        <vseg name = "seg_boot_mapping"   vbase = "0x000F0000" mode = "C_W_" x = "0" y = "0" psegname = "PSEG_RAM" ident = "1" >
200            <vobj name = "boot_mapping"   type = "BLOB"   length = "0x00010000" binpath = "map.bin" />
201        </vseg>
202       
203*** 4 global vsegs used by the kernel / A[31:28] = 0x8  / No identity mapping constraint
204 
205        <vseg name = "seg_kernel_code"    vbase = "0x80000000" mode = "CXW_" x = "0" y = "0" psegname = "PSEG_RAM" > 
206            <vobj name = "kernel_code"    type = "ELF" length = "0x00020000" binpath = "build/kernel/kernel.elf" />
207        </vseg>
208        <vseg name = "seg_kernel_data"    vbase = "0x80020000" mode = "C_W_" x = "0" y = "0" psegname = "PSEG_RAM" > 
209            <vobj name = "kernel_data"    type = "ELF" length = "0x00060000" binpath = "build/kernel/kernel.elf" />
210                </vseg>
211        <vseg name = "seg_kernel_uncdata" vbase = "0x80080000" mode = "__W_" x = "0" y = "0" psegname = "PSEG_RAM" > 
212            <vobj name = "kernel_uncdata" type = "ELF" length = "0x00040000" binpath = "build/kernel/kernel.elf" />
213        </vseg>
214        <vseg name = "seg_kernel_init"    vbase = "0x800C0000" mode = "CXW_" x = "0" y = "0" psegname = "PSEG_RAM" > 
215            <vobj name = "kernel_init"    type = "ELF" length = "0x00010000" binpath = "build/kernel/kernel.elf" />
216        </vseg>
217
218*** 6 global vsegs for non replicated peripherals in cluster(1,2) / A[31:28] = 0xF /
219
220        <vseg name = "seg_ioc"            vbase = "0xF2000000" mode = "__W_" x = "1" y = "2" psegname = "PSEG_IOC" >
221            <vobj name = "ioc"            type = "PERI" length  = "0x00001000" /> 
222        </vseg>
223        <vseg name = "seg_tty"            vbase = "0xF4000000" mode = "__W_" x = "1" y = "2" psegname = "PSEG_TTY" >
224                        <vobj name = "tty"            type = "PERI" length  = "0x00001000" />
225        </vseg>
226        <vseg name = "seg_nic"            vbase = "0xF5000000" mode = "__W_" x = "1" y = "2" psegname = "PSEG_NIC" >
227            <vobj name = "nic"            type = "PERI" length  = "0x00080000" /> 
228        </vseg>
229        <vseg name = "seg_cma"            vbase = "0xF8000000" mode = "__W_" x = "1" y = "2" psegname = "PSEG_CMA" >
230            <vobj name = "cma"            type = "PERI" length  = "0x00008000" /> 
231        </vseg>
232        <vseg name = "seg_fbf"            vbase = "0xF3000000" mode = "__W_" x = "1" y = "2" psegname = "PSEG_FBF" >
233            <vobj name = "fbf"            type = "PERI" length  = "0x00004000" /> 
234        </vseg>
235        <vseg name = "seg_pic"            vbase = "0xF9000000" mode = "__W_" x = "1" y = "2" psegname = "PSEG_PIC" >
236            <vobj name = "pic"            type = "PERI" length  = "0x00004000" /> 
237        </vseg>
238
239*** 1 global vseg for pseudo-peripherals (PRELOADER) / A[31:28] = 0x0
240
241        <vseg name = "seg_reset_code"     vbase = "0x00000000" mode = "CX__" x = "0" y = "0" psegname = "PSEG_RAM" ident = "1" >
242            <vobj name = "preloader"      type = "BUFFER" length  = "0x00010000" /> 
243        </vseg>
244
245*** 4 global vsegs for replicated ICUS / A[31:24] = 0xF0 / Increment = 0x10000 / Identity mapping in cluster (0,0)           
246
247        <vseg name = "seg_icu_0"          vbase = "0xF0000000" mode = "__W_" x = "0" y = "0" psegname = "PSEG_XCU" ident = "1" > 
248            <vobj name = "icu_0"          type = "PERI" length  = "0x00001000" /> 
249        </vseg>
250        <vseg name = "seg_icu_1"          vbase = "0xF0010000" mode = "__W_" x = "0" y = "1" psegname = "PSEG_XCU" > 
251            <vobj name = "icu_1"          type = "PERI" length  = "0x00001000" /> 
252        </vseg>
253        <vseg name = "seg_icu_2"          vbase = "0xF0100000" mode = "__W_" x = "1" y = "0" psegname = "PSEG_XCU" > 
254            <vobj name = "icu_2"          type = "PERI" length  = "0x00001000" /> 
255        </vseg>
256        <vseg name = "seg_icu_3"          vbase = "0xF0110000" mode = "__W_" x = "1" y = "1" psegname = "PSEG_XCU" > 
257            <vobj name = "icu_3"          type = "PERI" length  = "0x00001000" /> 
258        </vseg>
259
260*** 4 global vsegs for replicated MMC / A[31:24] = 0xE0 / Increment = 0x10000 / Identity mapping in cluster 0
261
262        <vseg name = "seg_memc_0"         vbase = "0xE0000000" mode = "__W_" x = "0" y = "0" psegname = "PSEG_MMC" ident = "1" >
263            <vobj name = "memc_0"         type = "PERI" length  = "0x00001000" />
264        </vseg>
265        <vseg name = "seg_memc_1"         vbase = "0xE0010000" mode = "__W_" x = "0" y = "1" psegname = "PSEG_MMC" >
266            <vobj name = "memc_1"         type = "PERI" length  = "0x00001000" />
267        </vseg>
268        <vseg name = "seg_memc_2"         vbase = "0xE0100000" mode = "__W_" x = "1" y = "0" psegname = "PSEG_MMC" >
269            <vobj name = "memc_2"         type = "PERI" length  = "0x00001000" />
270        </vseg>
271        <vseg name = "seg_memc_3"         vbase = "0xE0110000" mode = "__W_" x = "1" y = "1" psegname = "PSEG_MMC" >
272            <vobj name = "memc_3"         type = "PERI" length  = "0x00001000" />
273        </vseg>
274
275*** 4 global vsegs for replicated schedulers / A[31:28] = 0xC / Increment = 0x10000
276
277        <vseg name = "seg_sched_0"        vbase = "0xC0000000" mode = "C_W_" x = "0" y = "0" psegname = "PSEG_RAM" >
278            <vobj name = "sched_0"        type = "SCHED" length  = "0x00008000" />
279        </vseg>
280        <vseg name = "seg_sched_1"        vbase = "0xC0010000" mode = "C_W_" x = "0" y = "1" psegname = "PSEG_RAM" >
281            <vobj name = "sched_1"        type = "SCHED" length  = "0x00008000" />
282        </vseg>
283        <vseg name = "seg_sched_2"        vbase = "0xC0100000" mode = "C_W_" x = "1" y = "0" psegname = "PSEG_RAM" >
284            <vobj name = "sched_2"        type = "SCHED" length  = "0x00008000" />
285        </vseg>
286        <vseg name = "seg_sched_3"        vbase = "0xC0110000" mode = "C_W_" x = "1" y = "1" psegname = "PSEG_RAM" >
287            <vobj name = "sched_3"        type = "SCHED" length  = "0x00008000" />
288        </vseg>
289
290    </globalset> 
291
292    <vspaceset>
293
294*** For each vspace, the startname field is the name of the vobj containing the start_vector (entry point array)
295*** For each task, the startid field define the task entry point as an index in the start_vector
296*** For each task, the x,y and proclocid arguments define the task static placement
297*** For each task, the stackname field is the name of the vobj containing the task stack
298*** For each task, the heapname field is the name of the vobj containing the task heap
299
300
301        <vspace name = "hello" startname = "data" >
302            <vseg name = "seg_code"        vbase = "0x00400000" mode = "CXWU" x = "0" y = "1" psegname = "PSEG_RAM" > 
303                <vobj name = "code"            type     = "ELF" length = "0x00010000" binpath = "build/hello/hello.elf" />
304            </vseg>
305            <vseg name = "seg_data"        vbase = "0x00500000" mode = "C_WU" x = "0" y = "1" psegname = "PSEG_RAM" >
306                <vobj name = "data"        type = "ELF" length = "0x00010000" binpath = "build/hello/hello.elf" />
307            </vseg>
308            <vseg name = "seg_ptab"        vbase = "0x00600000" mode = "C_W_" x = "0" y = "1" psegname = "PSEG_RAM" >
309                <vobj name = "ptab"        type = "PTAB" length = "0x00012000" align = "13" /> 
310            </vseg>
311            <vseg name = "seg_stack"       vbase = "0x00700000" mode = "C_WU" x = "0" y = "1" psegname = "PSEG_RAM" >
312                <vobj name = "stack"       type = "BUFFER" length = "0x00010000" />
313                <vobj name = "heap"        type = "BUFFER" length = "0x00010000" />
314            </vseg>
315
316            <task name = "main_hello" x = "0" y = "1" proclocid = "0" stackname = "stack" heapname = "heap" startid = "0" usetty = "1" />
317        </vspace>
318
319        <vspace name = "pgcd" startname = "data" >
320            <vseg name = "seg_code"        vbase = "0x00400000" mode = "CXWU" x = "1" y = "0" psegname = "PSEG_RAM" >
321                <vobj name = "code"        type = "ELF" length = "0x00010000" binpath = "build/pgcd/pgcd.elf" />
322            </vseg>
323            <vseg name = "seg_data"        vbase = "0x00500000" mode = "C_WU" x = "1" y = "0" psegname = "PSEG_RAM" >
324                <vobj name      = "data"       type     = "ELF" length = "0x00010000" binpath = "build/pgcd/pgcd.elf" />
325            </vseg>
326            <vseg name = "seg_ptab"        vbase = "0x00600000" mode = "C_W_" x = "1" y = "0" psegname = "PSEG_RAM" >
327                <vobj name = "ptab"        type = "PTAB" length = "0x00012000" align = "13" />
328            </vseg>
329            <vseg name = "seg_stack"       vbase = "0x00700000" mode = "C_WU" x = "1" y = "0" psegname = "PSEG_RAM" >
330                <vobj name = "stack"       type = "BUFFER" length = "0x00010000" /> 
331                <vobj name = "heap"        type = "BUFFER" length = "0x00010000" /> 
332            </vseg>
333
334            <task name = "main_pgcd" x = "1" y = "0" proclocid = "0" stackname = "stack" heapname = "heap" startid = "0" usetty = "1" />
335        </vspace>
336
337        <vspace name = "display" startname = "data" >
338            <vseg name = "seg_code"        vbase = "0x00400000" mode = "CXWU" x = "1" y = "1" psegname = "PSEG_RAM" >
339                <vobj name = "code"        type = "ELF" length = "0x00010000" binpath = "build/display/display.elf" />
340            </vseg>
341            <vseg name = "seg_data"        vbase = "0x00500000" mode = "C_WU" x = "1" y = "1" psegname = "PSEG_RAM" >
342                <vobj name = "data"        type = "ELF" length = "0x00010000" binpath = "build/display/display.elf" />
343                           </vseg>
344            <vseg name = "seg_ptab"        vbase = "0x00600000" mode = "C_W_" x = "1" y = "1" psegname = "PSEG_RAM" >
345                <vobj name = "ptab"        type = "PTAB" length  = "0x00012000" align   = "13" />
346            </vseg>
347            <vseg name = "seg_stack"       vbase = "0x00700000" mode = "C_WU" x = "1" y = "1" psegname = "PSEG_RAM" >
348                <vobj name = "stack"       type = "BUFFER" length = "0x00010000" />
349                <vobj name = "heap"        type = "BUFFER" length = "0x00010000" />
350            </vseg>
351
352            <task name = "main_display" x = "1" y = "1" proclocid = "0" stackname = "stack" heapname = "heap" startid = "0" usetty = "1" usecma = "1" />
353        </vspace>
354
355        <vspace name = "router" startname = "data" > 
356            <vseg name = "seg_code"        vbase = "0x00400000" mode = "CXWU" x = "0" y = "0" psegname = "PSEG_RAM" > 
357                <vobj name = "code"        type = "ELF" length = "0x00010000" binpath = "build/router/router.elf" /> 
358            </vseg>
359            <vseg name = "seg_data"        vbase = "0x00500000" mode = "C_WU" x = "0" y = "0" psegname = "PSEG_RAM" >
360                <vobj name = "data"        type = "ELF" length = "0x00010000" binpath = "build/router/router.elf" />
361            </vseg>
362            <vseg name = "seg_ptab"        vbase = "0x00600000" mode = "C_W_" x = "0" y = "0" psegname = "PSEG_RAM" > 
363                <vobj name = "ptab"        type = "PTAB" length  = "0x00012000" align   = "13" />
364            </vseg>
365            <vseg name = "seg_stack_prod"  vbase = "0x00700000" mode = "C_WU" x = "0" y = "0" psegname = "PSEG_RAM" >
366                <vobj name = "stack_prod"  type = "BUFFER" length = "0x00010000" /> 
367                <vobj name = "heap_prod"   type = "BUFFER" length = "0x00010000" /> 
368            </vseg>
369            <vseg name = "seg_stack_cons"  vbase = "0x00800000" mode = "C_WU" x = "0" y = "1" psegname = "PSEG_RAM" > 
370                <vobj name = "stack_cons"  type = "BUFFER" length = "0x00010000" />
371                <vobj name = "heap_cons"   type = "BUFFER" length = "0x00010000" /> 
372            </vseg>
373            <vseg name = "seg_stack_routA" vbase = "0x00900000" mode = "C_WU" x = "1" y = "0" psegname = "PSEG_RAM" > 
374                <vobj name = "stack_routA" type = "BUFFER" length = "0x00010000" />
375                <vobj name = "heap_routA"  type = "BUFFER" length = "0x00010000" /> 
376            </vseg>
377            <vseg name = "seg_stack_routB" vbase = "0x00A00000" mode = "C_WU" x = "1" y = "1" psegname = "PSEG_RAM" > 
378                <vobj name = "stack_routB" type = "BUFFER" length = "0x00010000" />
379                <vobj name = "heap_routB"  type = "BUFFER" length = "0x00010000" /> 
380            </vseg>
381            <vseg name = "seg_mwmrs"       vbase = "0x00B00000" mode = "C_WU" x = "0" y = "0" psegname = "PSEG_RAM" > 
382                <vobj name = "mwmr_in"     type = "MWMR" length = "0x00000020" init = "1" />
383                <vobj name = "mwmr_out"    type = "MWMR" length = "0x00000020" init = "1" />
384                    </vseg>
385
386            <task name = "producer" x = "0" y = "0" proclocid = "0" stackname = "stack_prod"  heapname = "heap_prod"  startid = "0" usetty = "1" />
387            <task name = "consumer" x = "0" y = "1" proclocid = "0" stackname = "stack_cons"  heapname = "heap_cons"  startid = "1" usetty = "1" />
388            <task name = "router_A" x = "1" y = "0" proclocid = "0" stackname = "stack_routA" heapname = "heap_routA" startid = "2" usetty = "1" />
389            <task name = "router_B" x = "1" y = "1" proclocid = "0" stackname = "stack_routB" heapname = "heap_routB" startid = "2" usetty = "1" />
390        </vspace>
391
392    </vspaceset>
393</mapping_info>
Note: See TracBrowser for help on using the repository browser.