Changes between Version 32 and Version 33 of WikiStart


Ignore:
Timestamp:
Oct 10, 2014, 2:54:53 PM (10 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WikiStart

    v32 v33  
    77== __B) Peripherals Drivers__ ==
    88
    9 The GIET_VM supports two types of peripheral components:
    10  * '''External peripherals''' are located in one single cluster identified by the [X_IO,Y_IO] global variables.
    11  * '''Internal peripherals''', such as ICU, XCU, DMA or MMC, are replicated in all clusters.
     9The GIET_VM supports two types of peripheral components: '''External peripherals''' are located in one single cluster identified by the [X_IO,Y_IO] variables, '''Internal peripherals''' are replicated in all clusters.
    1210
    13 Each driver xxx_driver define two low-level functions ''_xxx_get_register()'' and ''_xxx_set_register()
    14 to access the peripheral addressable registers. These functions are in charge to compute the physical addresses, taking into account the cluster extension if required.
     11Each driver xxx_driver define two low-level functions ''_xxx_get_register()'' and ''_xxx_set_register()''
     12to access the peripheral addressable registers. These functions are in charge to compute the physical addresses, taking into account the cluster extension if required.
     13
     14 * '''External peripherals''': Accesses use virtual addresses if the MMU (Memory management Unit) is activated, or physical addresses if it is not. In this case, the physical address is computed as pbase = SEG_XXX_BASE + cluster_io << 32.
     15
     16 * '''Internal peripherals''': Accesses use virtual addresses, and the MMU must be activated. The peripheral virtual base address is computed as vbase = SEG_XXX_BASE + cluster_xy * CLUSTER_INCREMENT.
     17
     18The SEG_XXX_BASE , X_IO, Y_IO, and CLUSTER_INCREMENT vatiables must be defined in the ''hard_config.h" file.
    1519
    1620 === [wiki:bdv_driver     BDV  (Block Device controller)]