Changes between Version 52 and Version 53 of library_stdio


Ignore:
Timestamp:
Mar 2, 2015, 11:54:31 AM (9 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • library_stdio

    v52 v53  
    4545 ==  __Coprocessors related system calls__ ==
    4646
    47 The GIET_VM allows user applications to use hardware accelerators, called coprocessors. These coprocessors can be distributed in the architecture, but there is at most one coprocessor per cluster. To be supported by the GIET_VM, a coprocessor must use the ''vci_mwmr_dma'' component, that is a multi-channels DMA controller.
    48 
    49 On the coprocessor side, it provides TO_COPROC and FROM_COPROC ports, that implement FIFO interfaces. Coprocessor can request to read (or write) one or several bursts of 32 bits words on a TO_COPROC port (FROM_COPROC port for a write), without address. The burst size (generally a cache line) is a global hardware parameter. The number of TO_COPROC and FROM_COPROC ports, and the number of bursts for a given port depends on each coprocessor implementation. Each port define a private communication channel
    50 between the coprocessor and an user memory buffer. The total number of channels cannot be larger than 16. A channel is identified by an index, and the TO_COPROC channels have the smallest indexes.
     47The GIET_VM allows user applications to use hardware accelerators, called coprocessors. These coprocessors can be distributed in the architecture, but there is at most one coprocessor per cluster, and a coprocessor is identified by the (x,y) coordinares. To be supported by the GIET_VM, a coprocessor must use the ''vci_mwmr_dma'' component, that is a multi-channels DMA controller.
     48
     49On the coprocessor side, it provides ''TO_COPROC'' or ''FROM_COPROC'' ports, that implement FIFO interfaces. Coprocessor can request to read (or write) one or several bursts of 32 bits words on a TO_COPROC port (FROM_COPROC port for a write), without address. The burst size (generally a cache line) is a global hardware parameter. The number of TO_COPROC and FROM_COPROC ports, and the number of bursts for a given port depends on each coprocessor implementation. Each port define a private communication channel between the coprocessor and a user memory buffer. The total number of channels cannot be larger than 16. A channel is identified by an index, and the TO_COPROC channels have the smallest indexes.
    5150
    5251Each channel implements three transfer modes that can be defined by software:
     
    9291
    9392 === 3) void '''giet_coproc_channel_start'''( unsigned int  cluster_xy,  unsigned int    channel ) ===
     93This function activates one communication channel for coprocessor in cluster_xy.
     94 * '''cluster_xy''' cluster coordinates
     95 * '''channel''' communication channel index
    9496
    9597 === 4) void '''giet_coproc_channel_stop'''( unsigned int  cluster_xy,   unsigned int  channel ) ===
     98This function desactivates one communication channel for coprocessor in cluster_xy.
     99 * '''cluster_xy''' cluster coordinates
     100 * '''channel''' communication channel index
    96101
    97102 === 5) void '''giet_coproc_completed'''( unsigned int cluster_xy ) ===
     
    100105
    101106
    102  ==  TTY related system calls ==
     107 ==  __TTY related system calls__ ==
    103108
    104109The GIET_VM allows an user task to use a private TTY terminal, or to display log message on a shared TTY terminal.
     
    137142Task exit in case of illegal format.
    138143
    139  ==  Timer related system calls ==
     144 ==  __Timer related system calls__ ==
    140145
    141146The GIET_VM allows an user task to activate a private timer channel, generating periodical IRQs. This timer is allocated in the external multi-timers peripheral.
     
    153158Task exit if no channel allocated.
    154159
    155  ==  File system related system calls ==
     160 ==  __File system related system calls__ ==
    156161
    157162The Giet-VM supports a FAT32 file system.
     
    172177
    173178
    174  == Network related system call ==
     179 == __Network related system call__ ==
    175180
    176181The GIET_VM allows a user task to get and use a private NIC channel, using the CMA component (chained buffers DMA) to transfer packets to or an user buffer.
     
    232237
    233238
    234  == Frame Buffer related system calls ==
    235 
    236 An user task can access the frame buffer through a memcpy() or through the chained buffer DMA controller (CMA).
     239 == __Frame Buffer related system calls__ ==
     240
     241To display images, an user task can access the frame buffer through a memcpy() or through the ''Chained Buffer DMA'' controller (called CMA).
    237242The four first functions use a private CMA channel that is registered in the task context. The Two last functions use a memcpy().
    238243
     
    261266
    262267
    263 ==  Miscelaneous system calls ==
     268==  __Miscelaneous system calls__ ==
    264269
    265270 === 1) void '''giet_exit'''( char* string ) ===
     
    278283 * '''nprocs''' number of processors per cluster.
    279284
    280  === 5) void '''giet_vobj_get_vbase'''( char* vspace_name, char*  vobj_name, unsigned int* vbase) ===
    281 This function returns in argument ''vbase'' the virtual base address of a vobj defined in the mapping_info data structure. The vobj is identified by the two arguments ''vspace_name'' and ''vobj_name''. In case of error (such as undefined vspace or undefined vobj), it makes a giet_exit().
    282 
    283  === 6) void '''giet_vobj_get_length'''( char* vspace_name, char*  vobj_name, unsigned int* length) ===
    284 This function returns in argument ''length'' the length (bytes) of a vobj defined in the mapping_info data structure. The vobj is identified by the two arguments ''vspace_name'' and ''vobj_name''. In case of error (such as undefined vspace or undefined vobj), it makes a giet_exit().
     285 === 5) void '''giet_vseg_get_vbase'''( char* vspace_name, char*  vseg_name, unsigned int* vbase) ===
     286This function returns in argument ''vbase'' the virtual base address of a vseg defined in the mapping_info data structure. The vseg is identified by the two arguments ''vspace_name'' and ''vseg_name''. In case of error (such as undefined vspace or undefined vseg), it makes a giet_exit().
     287
     288 === 6) void '''giet_vseg_get_length'''( char* vspace_name, char*  vseg_name, unsigned int* length) ===
     289This function returns in argument ''length'' the length (bytes) of a vseg defined in the mapping_info data structure. The vseg is identified by the two arguments ''vspace_name'' and ''vseg_name''. In case of error (such as undefined vspace or undefined vseg), it makes a giet_exit().
    285290
    286291 === 7) void '''giet_heap_info'''( unsigned int* vaddr, unsigned int* length, unsigned int  x, unsigned int  y );