source: soft/giet_vm/mappings/exemple.xml @ 222

Last change on this file since 222 was 215, checked in by karaoui, 12 years ago

New components are now mandotory in the XML description:

The files giet_vsegs.ld and hard_config.h are now autogenerated by the xml2bin tool.

File size: 26.7 KB
Line 
1<?xml version="1.0"?>
2
3<mapping_info   signature = "0xdeadbeef" 
4                name     = "1C_4P_FOUR"
5                vspaces  = "4" 
6                cluster_x = "1"
7                cluster_y = "1" >
8
9        <clusterset>
10                <cluster index  = "0" >
11                         <pseg    name   = "PSEG_ROM" 
12                                  type   = "ROM"
13                                  base   = "0xbfc00000" 
14                                  length = "0x00010000" />
15
16                         <pseg    name   = "PSEG_RAM" 
17                                  type   = "RAM"
18                                  base   = "0x01000000" 
19                                  length = "0x01000000" />
20
21                         <pseg    name   = "PSEG_TTY"
22                                  type   = "PERI"
23                                  base   = "0x90000000" 
24                                  length = "0x00001000" />
25
26                         <pseg    name   = "PSEG_TIM" 
27                                  type   = "PERI"
28                                  base   = "0x90100000" 
29                                  length = "0x00001000" />
30
31                         <pseg    name   = "PSEG_IOC" 
32                                  type   = "PERI"
33                                  base   = "0x90200000" 
34                                  length = "0x00001000" />
35
36                         <pseg    name   = "PSEG_DMA" 
37                                  type   = "PERI"
38                                  base   = "0x90300000" 
39                                  length = "0x00001000" />
40
41                         <pseg    name   = "PSEG_FBF" 
42                                  type   = "PERI"
43                                  base   = "0x90600000" 
44                                  length = "0x00004000" />
45
46                         <pseg    name   = "PSEG_ICU" 
47                                  type   = "PERI"
48                                  base   = "0x90700000" 
49                                  length = "0x00001000" />
50
51                         <pseg    name   = "PSEG_COP" 
52                                  type   = "PERI"
53                                  base   = "0x90800000" 
54                                  length = "0x00001000" />
55
56                         <proc    index  = "0" >
57                                  <irq   type    = "HARD"
58                                         icuid   = "0"
59                                         isr     = "ISR_SWITCH" />
60
61                                  <irq   type    = "HARD"
62                                         icuid   = "8"
63                                         isr     = "ISR_DMA"
64                                         channel = "0" />
65
66                                  <irq   type    = "HARD"
67                                         icuid   = "9"
68                                         isr     = "ISR_DMA"
69                                         channel = "1" />
70
71                                  <irq   type    = "HARD"
72                                         icuid   = "10"
73                                         isr     = "ISR_DMA"
74                                         channel = "2" />
75
76                                  <irq   type    = "HARD"
77                                         icuid   = "11"
78                                         isr     = "ISR_DMA"
79                                         channel = "3" />
80
81                                  <irq   type    = "HARD"
82                                         icuid   = "12"
83                                         isr     = "ISR_DMA"
84                                         channel = "4" />
85
86                                  <irq   type    = "HARD"
87                                         icuid   = "13"
88                                         isr     = "ISR_DMA"
89                                         channel = "5" />
90
91                                  <irq   type    = "HARD"
92                                         icuid   = "14"
93                                         isr     = "ISR_DMA"
94                                         channel = "6" />
95
96                                  <irq   type    = "HARD"
97                                         icuid   = "15"
98                                         isr     = "ISR_DMA"
99                                         channel = "7" />
100
101                                  <irq   type    = "HARD"
102                                         icuid   = "16"
103                                         isr     = "ISR_TTY"
104                                         channel = "0" />
105
106                                  <irq   type    = "HARD"
107                                         icuid   = "17"
108                                         isr     = "ISR_TTY"
109                                         channel = "1" />
110
111                                  <irq   type    = "HARD"
112                                         icuid   = "18"
113                                         isr     = "ISR_TTY"
114                                         channel = "2" />
115
116                                  <irq   type    = "HARD"
117                                         icuid   = "19"
118                                         isr     = "ISR_TTY"
119                                         channel = "3" />
120
121                                  <irq   type    = "HARD"
122                                         icuid   = "20"
123                                         isr     = "ISR_TTY"
124                                         channel = "4" />
125
126                                  <irq   type    = "HARD"
127                                         icuid   = "21"
128                                         isr     = "ISR_TTY"
129                                         channel = "5" />
130
131                                  <irq   type    = "HARD"
132                                         icuid   = "22"
133                                         isr     = "ISR_TTY"
134                                         channel = "6" />
135
136                                  <irq   type    = "HARD"
137                                         icuid   = "23"
138                                         isr     = "ISR_TTY"
139                                         channel = "7" />
140
141                                  <irq   type    = "HARD"
142                                         icuid   = "24"
143                                         isr     = "ISR_TTY"
144                                         channel = "8" />
145
146                                  <irq   type    = "HARD"
147                                         icuid   = "25"
148                                         isr     = "ISR_TTY"
149                                         channel = "9" />
150
151                                  <irq   type    = "HARD"
152                                         icuid   = "26"
153                                         isr     = "ISR_TTY"
154                                         channel = "10" />
155
156                                  <irq   type    = "HARD"
157                                         icuid   = "27"
158                                         isr     = "ISR_TTY"
159                                         channel = "11" />
160
161                                  <irq   type    = "HARD"
162                                         icuid   = "28"
163                                         isr     = "ISR_TTY"
164                                         channel = "12" />
165
166                                  <irq   type    = "HARD"
167                                         icuid   = "29"
168                                         isr     = "ISR_TTY"
169                                         channel = "13" />
170
171                                  <irq   type    = "HARD"
172                                         icuid   = "30"
173                                         isr     = "ISR_TTY"
174                                         channel = "14" />
175
176                                  <irq   type    = "HARD"
177                                         icuid   = "31"
178                                         isr     = "ISR_IOC" />
179                         </proc>
180
181                         <proc    index  = "1" >
182                                  <irq   type    = "HARD"
183                                         icuid   = "1"
184                                         isr     = "ISR_SWITCH" />
185                         </proc>
186
187                         <proc    index  = "2" >
188                                  <irq   type    = "HARD"
189                                         icuid   = "2"
190                                         isr     = "ISR_SWITCH" />
191                         </proc>
192
193                         <proc    index  = "3" >
194                                  <irq   type    = "HARD"
195                                         icuid   = "3"
196                                         isr     = "ISR_SWITCH" />
197                         </proc>
198
199                         <periph  type      = "IOC" 
200                                  psegname  = "PSEG_IOC"
201                                  channels  = "1" />
202
203                         <periph  type      = "TTY" 
204                                  psegname  = "PSEG_TTY"
205                                  channels  = "2" />
206   
207                         <periph  type      = "DMA" 
208                                  psegname  = "PSEG_DMA"
209                                  channels  = "1" />
210   
211                         <periph  type      = "TIM"
212                                  psegname  = "PSEG_TIM"
213                                  channels  = "8" />
214
215                         <periph  type      = "ICU"
216                                  psegname  = "PSEG_ICU"
217                                  channels  = "8" />
218
219                         <periph  type      = "FBF"
220                                  psegname  = "PSEG_FBF" />
221
222                         <coproc  name     = "COP0" 
223                                  psegname = "PSEG_COP" >
224
225                                  <port    direction  = "TO_COPROC"
226                                           vspacename = "router"
227                                           vobjname   = "mwmr_in" />
228
229                                  <port    direction  = "FROM_COPROC"
230                                           vspacename = "router"
231                                           vobjname   = "mwmr_out" />
232                         </coproc>
233                </cluster>
234        </clusterset>
235
236        <globalset> 
237                <vseg   name      = "seg_boot_code_data" 
238                        vbase     = "0xbfc00000" 
239                        mode      = "CXW_" 
240                        clusterid = "0"
241                        psegname  = "PSEG_ROM" 
242                        ident     = "1" >
243                                            <vobj   name        = "seg_boot"
244                                                        type    = "ELF"
245                                                        length  = "0x00008000" 
246                                                        binpath = "build/boot/boot.elf" />
247                                </vseg>
248
249                <vseg   name      = "seg_boot_stack"
250                        vbase     = "0xbfc08000" 
251                        mode      = "C_W_"
252                        clusterid = "0"
253                        psegname  = "PSEG_ROM"
254                        ident     = "1" >
255                                        <vobj   name    = "boot_stack"
256                                                        type    = "BUFFER"
257                                                        length  = "0x00004000" />
258                                </vseg>
259
260                <vseg   name      = "seg_boot_mapping"
261                        vbase     = "0xbfc0c000" 
262                        mode      = "C_W_"
263                        clusterid = "0"
264                        psegname  = "PSEG_ROM"
265                        ident     = "1" >
266                                        <vobj   name    = "seg_mapping"
267                                                        type    = "BLOB"
268                                                        length  = "0x00004000" 
269                                                        binpath = "map.bin" />
270                                </vseg>
271
272                <vseg   name      = "seg_kernel_code"
273                        vbase     = "0x80000000" 
274                        mode      = "CX__" 
275                        clusterid = "0"
276                        psegname  = "PSEG_RAM" >
277                                            <vobj   name        = "seg_kernel_code"
278                                                        type    = "ELF"
279                                                            length  = "0x00010000" 
280                                                            binpath     = "build/sys/sys.elf" />
281                                </vseg>
282
283                <vseg   name      = "seg_kernel_data"
284                        vbase     = "0x80010000" 
285                        mode      = "C_W_" 
286                        clusterid = "0"
287                        psegname  = "PSEG_RAM" >
288                                        <vobj   name    = "seg_kernel_data"
289                                                        type    = "ELF"
290                                                        length  = "0x00040000" 
291                                                        binpath = "build/sys/sys.elf" />
292                                </vseg>
293
294                <vseg   name      = "seg_kernel_uncdata"
295                        vbase     = "0x80080000" 
296                        mode      = "__W_"
297                        clusterid = "0"
298                        psegname  = "PSEG_RAM" >
299                                            <vobj   name        = "seg_kernel_uncdata"
300                                                        type    = "ELF"
301                                                            length  = "0x00010000" 
302                                                        binpath = "build/sys/sys.elf" />
303                                </vseg>
304
305                <vseg   name      = "seg_kernel_init"
306                        vbase     = "0x80090000" 
307                        mode      = "CX__"
308                        clusterid = "0"
309                        psegname  = "PSEG_RAM" >
310                                        <vobj   name    = "seg_kernel_init"
311                                                        type    = "ELF"
312                                                        length  = "0x00010000" 
313                                                        binpath = "build/sys/sys.elf" />
314                                </vseg>
315
316
317                <vseg   name      = "seg_tty"
318                        vbase     = "0x90000000" 
319                        mode      = "__W_"
320                        clusterid = "0"
321                        psegname  = "PSEG_TTY" >
322                                        <vobj   name    = "tty"
323                                                        type    = "PERI"
324                                                        length  = "0x00001000" />
325                                </vseg>
326
327                <vseg   name      = "seg_timer"
328                        vbase     = "0x91000000" 
329                        mode      = "__W_"
330                        clusterid = "0"
331                        psegname  = "PSEG_TIM" >
332                                        <vobj   name    = "timer"
333                                                        type    = "PERI"
334                                                        length  = "0x00001000" />
335                                </vseg>
336
337                <vseg   name      = "seg_ioc"
338                        vbase     = "0x92000000" 
339                        mode      = "__W_"
340                        clusterid = "0"
341                        psegname  = "PSEG_IOC" >
342                                        <vobj   name    = "ioc"
343                                                        type    = "PERI"
344                                                        length  = "0x00000020" />
345                                </vseg>
346
347                <vseg   name      = "seg_dma"
348                        vbase     = "0x93000000" 
349                        mode      = "__W_"
350                        clusterid = "0"
351                        psegname  = "PSEG_DMA" >
352                                        <vobj   name    = "dma"
353                                                        type    = "PERI"
354                                                        length  = "0x00001000" />
355                                </vseg>
356
357                <vseg   name      = "seg_fb"
358                        vbase     = "0x96000000" 
359                        mode      = "__W_"
360                        clusterid = "0"
361                        psegname  = "PSEG_FBF" >
362                                        <vobj   name    = "fb"
363                                                        type    = "PERI"
364                                                        length  = "0x00004000" />
365                                </vseg>
366
367                <vseg   name      = "seg_icu"
368                        vbase     = "0x9F000000" 
369                        mode      = "__W_"
370                        clusterid = "0"
371                        psegname  = "PSEG_ICU" >
372                                        <vobj   name    = "icu"
373                                                        type    = "PERI"
374                                                        length  = "0x00000100" />
375                                </vseg>
376          </globalset> 
377
378          <vspaceset>
379                <vspace name      = "router"
380                        startname = "seg_data_router" >
381
382                        <vseg   name      = "seg_data_router"
383                                vbase     = "0x00800000" 
384                                mode      = "__WU"
385                                clusterid = "0"
386                                psegname  = "PSEG_RAM" >
387                                                            <vobj   name        = "seg_data_router"
388                                                                        type    = "ELF"
389                                                                        length  = "0x00010000" 
390                                        binpath = "build/router/router.elf" />
391                                                </vseg>
392
393                        <vseg   name      = "seg_code_router"
394                                vbase     = "0x00400000" 
395                                mode      = "CX_U"
396                                clusterid = "0"
397                                psegname  = "PSEG_RAM" >
398                                                            <vobj   name        = "seg_code_router"
399                                                                        type    = "ELF"
400                                                                            length  = "0x00010000" 
401                                        binpath = "build/router/router.elf" />
402                                                </vseg>
403
404                        <vseg   name      = "seg_ptab"
405                                vbase     = "0x00300000" 
406                                mode      = "C___"
407                                clusterid = "0"
408                                psegname  = "PSEG_RAM" >
409                                <vobj   name    = "ptab_router"
410                                        type    = "PTAB"
411                                        length  = "0x00012000" 
412                                        align   = "13" />
413                        </vseg>
414
415                        <vseg   name      = "seg_stack_producer"
416                                                vbase     = "0x00010000" 
417                                mode      = "C_WU"
418                                clusterid = "0"
419                                psegname  = "PSEG_RAM" >
420                                                            <vobj   name        = "stack_producer"
421                                                                        type    = "BUFFER"
422                                                                            length  = "0x00010000" />
423                                                </vseg>
424
425                        <vseg   name      = "seg_stack_consumer"
426                                                vbase     = "0x00020000" 
427                                mode      = "C_WU"
428                                clusterid = "0"
429                                psegname  = "PSEG_RAM" >
430                                                            <vobj   name        = "stack_consumer"
431                                                                        type    = "BUFFER"
432                                                                            length  = "0x00010000" />
433                                                </vseg>
434
435                        <vseg   name      = "seg_stack_router_A"
436                                                vbase     = "0x00030000" 
437                                mode      = "C_WU"
438                                clusterid = "0"
439                                psegname  = "PSEG_RAM" >
440                                                            <vobj   name        = "stack_router_A"
441                                                                        type    = "BUFFER"
442                                                                            length  = "0x00010000" />
443                                                </vseg>
444
445                        <vseg   name      = "seg_stack_router_B"
446                                                vbase     = "0x00040000" 
447                                mode      = "C_WU"
448                                clusterid = "0"
449                                psegname  = "PSEG_RAM" >
450                                                            <vobj   name        = "stack_router_B"
451                                                                        type    = "BUFFER"
452                                                                            length  = "0x00010000" />
453                                                </vseg>
454
455                        <vseg   name      = "seg_mwmr_channels"
456                                vbase     = "0x00050000"
457                                mode      = "__WU"
458                                clusterid = "0"
459                                psegname  = "PSEG_RAM" >
460                                                            <vobj   name        = "mwmr_in"
461                                                                        type    = "MWMR"
462                                                                            length  = "0x00000020"
463                                        init    = "1" />
464                                                            <vobj   name        = "mwmr_out"
465                                                                        type    = "MWMR"
466                                                                            length  = "0x00000020"
467                                        init    = "1" />
468                                                </vseg>
469
470                        <task   name      = "producer"
471                                clusterid = "0"
472                                proclocid = "0"
473                                stackname = "stack_producer"
474                                startid   = "0"
475                                usetty    = "1" />
476
477                        <task   name      = "consumer"
478                                clusterid = "0"
479                                proclocid = "1"
480                                stackname = "stack_consumer"
481                                startid   = "1" 
482                                usetty    = "1" />
483
484                        <task   name      = "router_A"
485                                clusterid = "0"
486                                proclocid = "2"
487                                stackname = "stack_router_A"
488                                startid   = "2"
489                                usetty    = "1" />
490
491                        <task   name      = "router_B"
492                                clusterid = "0"
493                                proclocid = "3"
494                                stackname = "stack_router_B"
495                                startid   = "2"
496                                usetty    = "1" />
497                </vspace>
498
499                <vspace name      = "hello" 
500                        startname = "seg_data_hello" >
501
502                        <vseg   name      = "seg_data_hello"
503                                vbase     = "0x00800000" 
504                                mode      = "C_WU"
505                                clusterid = "0"
506                                psegname  = "PSEG_RAM" >
507                                                            <vobj   name        = "seg_data_hello"
508                                                                        type    = "ELF"
509                                                                            length    = "0x00010000" 
510                                        binpath = "build/hello/hello.elf" />
511                                                </vseg>
512
513                        <vseg   name      = "seg_code_hello"
514                                vbase     = "0x00400000" 
515                                mode      = "CX_U"
516                                clusterid = "0"
517                                psegname  = "PSEG_RAM" >
518                                                            <vobj   name        = "seg_code_hello"
519                                                                        type    = "ELF"
520                                                                            length    = "0x00010000" 
521                                        binpath = "build/hello/hello.elf" />
522                                                </vseg>
523
524                        <vseg   name      = "seg_ptab"
525                                vbase     = "0x00300000" 
526                                mode      = "C___"
527                                clusterid = "0"
528                                psegname  = "PSEG_RAM" >
529                                <vobj   name    = "ptab"
530                                        type    = "PTAB"
531                                        length  = "0x00012000" 
532                                        align   = "13" />
533                        </vseg>
534
535                        <vseg   name      = "seg_stack"
536                                vbase     = "0x00000000" 
537                                mode      = "C_WU"
538                                clusterid = "0"
539                                psegname  = "PSEG_RAM" >
540                                                            <vobj   name        = "stack"
541                                                                        type    = "BUFFER"
542                                                                            length  = "0x00010000" />
543                                                </vseg>
544
545
546                        <task   name      = "main_hello"
547                                clusterid = "0"
548                                proclocid = "2"
549                                stackname = "stack"
550                                startid   = "0" 
551                                usetty    = "1" />
552                </vspace>
553
554                <vspace name      = "pgcd" 
555                        startname = "seg_data_pgcd" >
556
557                        <vseg   name      = "seg_data_pgcd"
558                                vbase     = "0x00800000" 
559                                mode      = "C_WU"
560                                clusterid = "0"
561                                psegname  = "PSEG_RAM" >
562                                                            <vobj   name        = "seg_data_pgcd"
563                                                                        type    = "ELF"
564                                                                            length  = "0x00010000" 
565                                        binpath = "build/pgcd/pgcd.elf" />
566                                                </vseg>
567
568                        <vseg   name      = "seg_ptab"
569                                vbase     = "0x00300000" 
570                                mode      = "C___"
571                                clusterid = "0"
572                                psegname  = "PSEG_RAM" >
573                                <vobj   name    = "ptab"
574                                        type    = "PTAB"
575                                        length  = "0x00012000" 
576                                        align   = "13" />
577                        </vseg>
578
579                        <vseg   name      = "seg_code_pgcd"
580                                vbase     = "0x00400000" 
581                                mode      = "CX_U"
582                                clusterid = "0"
583                                psegname  = "PSEG_RAM" >
584                                                            <vobj   name        = "seg_code_pgcd"
585                                                                        type    = "ELF"
586                                                                            length  = "0x00010000" 
587                                        binpath = "build/pgcd/pgcd.elf" />
588                                                </vseg>
589
590                        <vseg   name      = "seg_stack"
591                                vbase     = "0x00000000" 
592                                mode      = "C_WU"
593                                clusterid = "0"
594                                psegname  = "PSEG_RAM" >
595                                                            <vobj   name        = "stack"
596                                                                        type    = "BUFFER"
597                                                                            length  = "0x00010000" />
598                                                </vseg>
599
600                        <task   name      = "main_pgcd"
601                                clusterid = "0"
602                                proclocid = "3"
603                                stackname = "stack"
604                                startid   = "0" 
605                                usetty    = "1" />
606                </vspace>
607
608                <vspace name      = "display" 
609                        startname = "seg_data_display" >
610
611                        <vseg   name      = "seg_data_display"
612                                vbase     = "0x00800000" 
613                                mode      = "C_WU"
614                                clusterid = "0"
615                                psegname  = "PSEG_RAM" >
616                                                            <vobj   name        = "seg_data_display"
617                                                                        type    = "ELF"
618                                                                            length  = "0x00010000" 
619                                        binpath = "build/display/display.elf" />
620                                                </vseg>
621
622                        <vseg   name      = "seg_ptab_display"
623                                vbase     = "0x00300000" 
624                                mode      = "C___"
625                                clusterid = "0"
626                                psegname  = "PSEG_RAM" >
627                                <vobj   name    = "ptab"
628                                        type    = "PTAB"
629                                        length  = "0x00012000" 
630                                        align   = "13" />
631                        </vseg>
632
633                        <vseg   name      = "seg_code_display"
634                                vbase     = "0x00400000" 
635                                mode      = "CX_U"
636                                clusterid = "0"
637                                psegname  = "PSEG_RAM" >
638                                                            <vobj   name        = "seg_code_display"
639                                                                        type    = "ELF"
640                                                                            length  = "0x00010000" 
641                                        binpath = "build/display/display.elf" />
642                                                </vseg>
643
644                        <vseg   name      = "seg_stack_display"
645                                vbase     = "0x00000000" 
646                                mode      = "C_WU"
647                                clusterid = "0"
648                                psegname  = "PSEG_RAM" >
649                                                            <vobj   name        = "stack_display"
650                                                                        type    = "BUFFER"
651                                                                            length  = "0x00010000" />
652                                                </vseg>
653
654                        <task   name      = "main_display"
655                                clusterid = "0"
656                                proclocid = "3"
657                                stackname = "stack_display"
658                                startid   = "0" 
659                                usetty    = "1"
660                                usefbdma  = "1" />
661                </vspace>
662
663          </vspaceset>
664</mapping_info>
Note: See TracBrowser for help on using the repository browser.