Changeset 472


Ignore:
Timestamp:
Dec 12, 2014, 5:36:08 PM (10 years ago)
Author:
alain
Message:

Updating XML parser and driver, to comply with the mapping.py file.

Location:
soft/giet_vm/giet_xml
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • soft/giet_vm/giet_xml/xml_driver.c

    r439 r472  
    3434        "MEMSPACE",   // Memspace
    3535        "SCHED",      // Scheduler
     36        "HEAP",       // Heap     
    3637    };
    3738
  • soft/giet_vm/giet_xml/xml_parser.c

    r439 r472  
    341341                    if ( (type == PERIPH_TYPE_DMA) ||
    342342                         (type == PERIPH_TYPE_MMC) ||
    343                          (type == PERIPH_TYPE_ICU) ||
    344                          (type == PERIPH_TYPE_XCU) ||
    345                          (type == PERIPH_TYPE_TIM) )   // replicated peripheral
     343                         (type == PERIPH_TYPE_XCU) )   // replicated peripheral
    346344                    {
    347345                        cluster_xy = (cluster[cluster_id]->x << header->y_width) +
     
    772770    else if (ok && (strcmp(str, "MEMSPACE") == 0)) { vobj[vobj_index]->type = VOBJ_TYPE_MEMSPACE; }
    773771    else if (ok && (strcmp(str, "SCHED")    == 0)) { vobj[vobj_index]->type = VOBJ_TYPE_SCHED;    }
     772    else if (ok && (strcmp(str, "HEAP")     == 0)) { vobj[vobj_index]->type = VOBJ_TYPE_HEAP;     }
    774773    else
    775774    {
     
    15861585
    15871586
    1588         // The DMA, ICU, MMC, TIM, XCU peripherals can be replicated in all clusters
     1587        // The DMA, MMC, XCU peripherals can be replicated in all clusters
    15891588        // but no more than one component of each type per cluster
    15901589
     
    15991598        }
    16001599        //////////////////////////////////
    1601         else if (strcmp(str, "ICU") == 0)
    1602         {
    1603             periph[periph_index]->type = PERIPH_TYPE_ICU;
    1604             if (found_icu || use_xcu)  error = 1;
    1605             found_icu = 1;
    1606 
    1607             if ( periph[periph_index]->channels <
    1608                  (header->irq_per_proc * cluster[cluster_index]->procs) )
    1609             {
    1610                 printf("[XML ERROR] ICU channels smaller than PROCS * IRQ_PER_PROC\n");
    1611                 printf(" - icu channels = %d\n - nprocs = %d\n - irq_per_proc = %d\n",
    1612                        periph[periph_index]->channels,
    1613                        cluster[cluster_index]->procs,
    1614                        header->irq_per_proc );
    1615                 exit(1);
    1616             }
    1617         }
    1618         //////////////////////////////////
    16191600        else if (strcmp(str, "MMC") == 0)
    16201601        {
     
    16231604            found_mmc = 1;
    16241605            if ( periph[periph_index]->channels != 1 ) error = 1;
    1625         }
    1626         //////////////////////////////////
    1627         else if (strcmp(str, "TIM") == 0 )
    1628         {
    1629             periph[periph_index]->type = PERIPH_TYPE_TIM;
    1630             if (found_timer || use_xcu)  error = 1;
    1631             found_timer = 1;
    1632             if (tim_channels < periph[periph_index]->channels)
    1633                 tim_channels = periph[periph_index]->channels;
    16341606        }
    16351607        //////////////////////////////////
     
    16861658        if (strcmp(tag, "irq") == 0)
    16871659        {
    1688             if ( (periph[periph_index]->type != PERIPH_TYPE_ICU) &&
    1689                  (periph[periph_index]->type != PERIPH_TYPE_XCU) &&
     1660            if ( (periph[periph_index]->type != PERIPH_TYPE_XCU) &&
    16901661                 (periph[periph_index]->type != PERIPH_TYPE_PIC) )
    16911662            {
    16921663                printf("[XML ERROR] periph %d in cluster(%d,%d) "
    1693                        " only ICU, XCU and PIC can contain IRQs",
     1664                       " only XCU and PIC can contain IRQs",
    16941665                periph_loc_index, cluster[cluster_index]->x, cluster[cluster_index]->y);
    16951666                exit(1);
     
    28232794    // replicated peripherals
    28242795    ld_write(fdout, "seg_dma_base            ",   periph_vbase_array[PERIPH_TYPE_DMA]);
    2825     ld_write(fdout, "seg_icu_base            ",   periph_vbase_array[PERIPH_TYPE_ICU]);
    28262796    ld_write(fdout, "seg_mmc_base            ",   periph_vbase_array[PERIPH_TYPE_MMC]);
    2827     ld_write(fdout, "seg_tim_base            ",   periph_vbase_array[PERIPH_TYPE_TIM]);
    28282797    ld_write(fdout, "seg_xcu_base            ",   periph_vbase_array[PERIPH_TYPE_XCU]);
    28292798
Note: See TracChangeset for help on using the changeset viewer.