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

Last change on this file since 224 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
RevLine 
[158]1<?xml version="1.0"?>
2
3<mapping_info   signature = "0xdeadbeef" 
[189]4                name     = "1C_4P_FOUR"
[215]5                vspaces  = "4" 
6                cluster_x = "1"
7                cluster_y = "1" >
[158]8
9        <clusterset>
[181]10                <cluster index  = "0" >
[189]11                         <pseg    name   = "PSEG_ROM" 
12                                  type   = "ROM"
13                                  base   = "0xbfc00000" 
14                                  length = "0x00010000" />
[158]15
[189]16                         <pseg    name   = "PSEG_RAM" 
17                                  type   = "RAM"
18                                  base   = "0x01000000" 
19                                  length = "0x01000000" />
[158]20
[189]21                         <pseg    name   = "PSEG_TTY"
22                                  type   = "PERI"
23                                  base   = "0x90000000" 
24                                  length = "0x00001000" />
[158]25
[189]26                         <pseg    name   = "PSEG_TIM" 
27                                  type   = "PERI"
28                                  base   = "0x90100000" 
29                                  length = "0x00001000" />
[158]30
[189]31                         <pseg    name   = "PSEG_IOC" 
32                                  type   = "PERI"
33                                  base   = "0x90200000" 
34                                  length = "0x00001000" />
[158]35
[189]36                         <pseg    name   = "PSEG_DMA" 
37                                  type   = "PERI"
38                                  base   = "0x90300000" 
39                                  length = "0x00001000" />
[158]40
[189]41                         <pseg    name   = "PSEG_FBF" 
42                                  type   = "PERI"
43                                  base   = "0x90600000" 
44                                  length = "0x00004000" />
[158]45
[189]46                         <pseg    name   = "PSEG_ICU" 
47                                  type   = "PERI"
48                                  base   = "0x90700000" 
49                                  length = "0x00001000" />
[158]50
[189]51                         <pseg    name   = "PSEG_COP" 
52                                  type   = "PERI"
53                                  base   = "0x90800000" 
54                                  length = "0x00001000" />
55
[181]56                         <proc    index  = "0" >
[189]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" />
[181]179                         </proc>
[189]180
[181]181                         <proc    index  = "1" >
[189]182                                  <irq   type    = "HARD"
183                                         icuid   = "1"
184                                         isr     = "ISR_SWITCH" />
[181]185                         </proc>
[189]186
[181]187                         <proc    index  = "2" >
[189]188                                  <irq   type    = "HARD"
189                                         icuid   = "2"
190                                         isr     = "ISR_SWITCH" />
[181]191                         </proc>
[189]192
[181]193                         <proc    index  = "3" >
[189]194                                  <irq   type    = "HARD"
195                                         icuid   = "3"
196                                         isr     = "ISR_SWITCH" />
[181]197                         </proc>
[189]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]215                         <periph  type      = "ICU"
216                                  psegname  = "PSEG_ICU"
217                                  channels  = "8" />
218
[189]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>
[181]233                </cluster>
234        </clusterset>
[158]235
236        <globalset> 
[160]237                <vseg   name      = "seg_boot_code_data" 
[158]238                        vbase     = "0xbfc00000" 
[189]239                        mode      = "CXW_" 
240                        clusterid = "0"
[158]241                        psegname  = "PSEG_ROM" 
[160]242                        ident     = "1" >
[165]243                                            <vobj   name        = "seg_boot"
244                                                        type    = "ELF"
245                                                        length  = "0x00008000" 
[189]246                                                        binpath = "build/boot/boot.elf" />
[160]247                                </vseg>
[158]248
249                <vseg   name      = "seg_boot_stack"
250                        vbase     = "0xbfc08000" 
251                        mode      = "C_W_"
[189]252                        clusterid = "0"
[158]253                        psegname  = "PSEG_ROM"
[160]254                        ident     = "1" >
[165]255                                        <vobj   name    = "boot_stack"
256                                                        type    = "BUFFER"
257                                                        length  = "0x00004000" />
[160]258                                </vseg>
[158]259
260                <vseg   name      = "seg_boot_mapping"
261                        vbase     = "0xbfc0c000" 
262                        mode      = "C_W_"
[189]263                        clusterid = "0"
[158]264                        psegname  = "PSEG_ROM"
[160]265                        ident     = "1" >
[165]266                                        <vobj   name    = "seg_mapping"
[173]267                                                        type    = "BLOB"
[165]268                                                        length  = "0x00004000" 
269                                                        binpath = "map.bin" />
[160]270                                </vseg>
[158]271
272                <vseg   name      = "seg_kernel_code"
273                        vbase     = "0x80000000" 
274                        mode      = "CX__" 
[189]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" />
[160]281                                </vseg>
[158]282
283                <vseg   name      = "seg_kernel_data"
284                        vbase     = "0x80010000" 
285                        mode      = "C_W_" 
[189]286                        clusterid = "0"
287                        psegname  = "PSEG_RAM" >
[165]288                                        <vobj   name    = "seg_kernel_data"
289                                                        type    = "ELF"
[167]290                                                        length  = "0x00040000" 
[189]291                                                        binpath = "build/sys/sys.elf" />
[160]292                                </vseg>
[158]293
294                <vseg   name      = "seg_kernel_uncdata"
[167]295                        vbase     = "0x80080000" 
[158]296                        mode      = "__W_"
[189]297                        clusterid = "0"
298                        psegname  = "PSEG_RAM" >
[165]299                                            <vobj   name        = "seg_kernel_uncdata"
300                                                        type    = "ELF"
301                                                            length  = "0x00010000" 
[189]302                                                        binpath = "build/sys/sys.elf" />
[160]303                                </vseg>
[158]304
[160]305                <vseg   name      = "seg_kernel_init"
[167]306                        vbase     = "0x80090000" 
[160]307                        mode      = "CX__"
[189]308                        clusterid = "0"
309                        psegname  = "PSEG_RAM" >
[165]310                                        <vobj   name    = "seg_kernel_init"
311                                                        type    = "ELF"
312                                                        length  = "0x00010000" 
[189]313                                                        binpath = "build/sys/sys.elf" />
[160]314                                </vseg>
[158]315
[160]316
[158]317                <vseg   name      = "seg_tty"
318                        vbase     = "0x90000000" 
319                        mode      = "__W_"
[189]320                        clusterid = "0"
321                        psegname  = "PSEG_TTY" >
[165]322                                        <vobj   name    = "tty"
323                                                        type    = "PERI"
[170]324                                                        length  = "0x00001000" />
[160]325                                </vseg>
[158]326
327                <vseg   name      = "seg_timer"
328                        vbase     = "0x91000000" 
329                        mode      = "__W_"
[189]330                        clusterid = "0"
331                        psegname  = "PSEG_TIM" >
[165]332                                        <vobj   name    = "timer"
333                                                        type    = "PERI"
[170]334                                                        length  = "0x00001000" />
[160]335                                </vseg>
[158]336
337                <vseg   name      = "seg_ioc"
338                        vbase     = "0x92000000" 
339                        mode      = "__W_"
[189]340                        clusterid = "0"
341                        psegname  = "PSEG_IOC" >
[165]342                                        <vobj   name    = "ioc"
343                                                        type    = "PERI"
344                                                        length  = "0x00000020" />
[160]345                                </vseg>
[158]346
347                <vseg   name      = "seg_dma"
348                        vbase     = "0x93000000" 
349                        mode      = "__W_"
[189]350                        clusterid = "0"
351                        psegname  = "PSEG_DMA" >
[165]352                                        <vobj   name    = "dma"
353                                                        type    = "PERI"
[170]354                                                        length  = "0x00001000" />
[160]355                                </vseg>
[158]356
357                <vseg   name      = "seg_fb"
358                        vbase     = "0x96000000" 
359                        mode      = "__W_"
[189]360                        clusterid = "0"
361                        psegname  = "PSEG_FBF" >
[165]362                                        <vobj   name    = "fb"
363                                                        type    = "PERI"
364                                                        length  = "0x00004000" />
[160]365                                </vseg>
[158]366
367                <vseg   name      = "seg_icu"
368                        vbase     = "0x9F000000" 
369                        mode      = "__W_"
[189]370                        clusterid = "0"
371                        psegname  = "PSEG_ICU" >
[165]372                                        <vobj   name    = "icu"
373                                                        type    = "PERI"
374                                                        length  = "0x00000100" />
[160]375                                </vseg>
[158]376          </globalset> 
377
378          <vspaceset>
[170]379                <vspace name      = "router"
380                        startname = "seg_data_router" >
381
382                        <vseg   name      = "seg_data_router"
383                                vbase     = "0x00800000" 
384                                mode      = "__WU"
[189]385                                clusterid = "0"
386                                psegname  = "PSEG_RAM" >
[170]387                                                            <vobj   name        = "seg_data_router"
388                                                                        type    = "ELF"
389                                                                        length  = "0x00010000" 
[189]390                                        binpath = "build/router/router.elf" />
[170]391                                                </vseg>
392
393                        <vseg   name      = "seg_code_router"
394                                vbase     = "0x00400000" 
395                                mode      = "CX_U"
[189]396                                clusterid = "0"
397                                psegname  = "PSEG_RAM" >
[170]398                                                            <vobj   name        = "seg_code_router"
399                                                                        type    = "ELF"
400                                                                            length  = "0x00010000" 
[189]401                                        binpath = "build/router/router.elf" />
[170]402                                                </vseg>
403
404                        <vseg   name      = "seg_ptab"
405                                vbase     = "0x00300000" 
406                                mode      = "C___"
[189]407                                clusterid = "0"
408                                psegname  = "PSEG_RAM" >
[170]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"
[189]418                                clusterid = "0"
419                                psegname  = "PSEG_RAM" >
[170]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"
[189]428                                clusterid = "0"
429                                psegname  = "PSEG_RAM" >
[170]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"
[189]438                                clusterid = "0"
439                                psegname  = "PSEG_RAM" >
[170]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"
[189]448                                clusterid = "0"
449                                psegname  = "PSEG_RAM" >
[170]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"
[189]458                                clusterid = "0"
459                                psegname  = "PSEG_RAM" >
[170]460                                                            <vobj   name        = "mwmr_in"
461                                                                        type    = "MWMR"
[189]462                                                                            length  = "0x00000020"
463                                        init    = "1" />
[170]464                                                            <vobj   name        = "mwmr_out"
465                                                                        type    = "MWMR"
[189]466                                                                            length  = "0x00000020"
467                                        init    = "1" />
[170]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"
[189]505                                clusterid = "0"
506                                psegname  = "PSEG_RAM" >
[170]507                                                            <vobj   name        = "seg_data_hello"
508                                                                        type    = "ELF"
509                                                                            length    = "0x00010000" 
[189]510                                        binpath = "build/hello/hello.elf" />
[170]511                                                </vseg>
512
513                        <vseg   name      = "seg_code_hello"
514                                vbase     = "0x00400000" 
515                                mode      = "CX_U"
[189]516                                clusterid = "0"
517                                psegname  = "PSEG_RAM" >
[170]518                                                            <vobj   name        = "seg_code_hello"
519                                                                        type    = "ELF"
520                                                                            length    = "0x00010000" 
[189]521                                        binpath = "build/hello/hello.elf" />
[170]522                                                </vseg>
523
524                        <vseg   name      = "seg_ptab"
525                                vbase     = "0x00300000" 
526                                mode      = "C___"
[189]527                                clusterid = "0"
528                                psegname  = "PSEG_RAM" >
[170]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"
[189]538                                clusterid = "0"
539                                psegname  = "PSEG_RAM" >
[170]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"
[189]560                                clusterid = "0"
561                                psegname  = "PSEG_RAM" >
[170]562                                                            <vobj   name        = "seg_data_pgcd"
563                                                                        type    = "ELF"
564                                                                            length  = "0x00010000" 
[189]565                                        binpath = "build/pgcd/pgcd.elf" />
[170]566                                                </vseg>
567
568                        <vseg   name      = "seg_ptab"
569                                vbase     = "0x00300000" 
570                                mode      = "C___"
[189]571                                clusterid = "0"
572                                psegname  = "PSEG_RAM" >
[170]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"
[189]582                                clusterid = "0"
583                                psegname  = "PSEG_RAM" >
[170]584                                                            <vobj   name        = "seg_code_pgcd"
585                                                                        type    = "ELF"
586                                                                            length  = "0x00010000" 
[189]587                                        binpath = "build/pgcd/pgcd.elf" />
[170]588                                                </vseg>
589
590                        <vseg   name      = "seg_stack"
591                                vbase     = "0x00000000" 
592                                mode      = "C_WU"
[189]593                                clusterid = "0"
594                                psegname  = "PSEG_RAM" >
[170]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
[167]608                <vspace name      = "display" 
609                        startname = "seg_data_display" >
610
611                        <vseg   name      = "seg_data_display"
612                                vbase     = "0x00800000" 
613                                mode      = "C_WU"
[189]614                                clusterid = "0"
615                                psegname  = "PSEG_RAM" >
[167]616                                                            <vobj   name        = "seg_data_display"
617                                                                        type    = "ELF"
618                                                                            length  = "0x00010000" 
[189]619                                        binpath = "build/display/display.elf" />
[167]620                                                </vseg>
621
[170]622                        <vseg   name      = "seg_ptab_display"
[167]623                                vbase     = "0x00300000" 
624                                mode      = "C___"
[189]625                                clusterid = "0"
626                                psegname  = "PSEG_RAM" >
[167]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"
[189]636                                clusterid = "0"
637                                psegname  = "PSEG_RAM" >
[167]638                                                            <vobj   name        = "seg_code_display"
639                                                                        type    = "ELF"
640                                                                            length  = "0x00010000" 
[189]641                                        binpath = "build/display/display.elf" />
[167]642                                                </vseg>
643
644                        <vseg   name      = "seg_stack_display"
645                                vbase     = "0x00000000" 
646                                mode      = "C_WU"
[189]647                                clusterid = "0"
648                                psegname  = "PSEG_RAM" >
[167]649                                                            <vobj   name        = "stack_display"
650                                                                        type    = "BUFFER"
651                                                                            length  = "0x00010000" />
652                                                </vseg>
653
654                        <task   name      = "main_display"
655                                clusterid = "0"
[170]656                                proclocid = "3"
[167]657                                stackname = "stack_display"
658                                startid   = "0" 
[169]659                                usetty    = "1"
[189]660                                usefbdma  = "1" />
[167]661                </vspace>
662
[158]663          </vspaceset>
664</mapping_info>
Note: See TracBrowser for help on using the repository browser.