Changes between Version 61 and Version 62 of WikiStart


Ignore:
Timestamp:
Nov 5, 2014, 5:31:55 PM (10 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WikiStart

    v61 v62  
    1818Both the target hardware architecture and the mapping directives (placement of software tasks on the physical processors / placement of the software objects on the physical memory banks) must be described in a python script. This section describes the Python constructs used to describe the mapping. This python script generates the ''map.bin'' C binary  file, that is used by the boot-loader to initialise the system.
    1919
    20 == __B) [wiki:boot_loader Boot-loader]__ ==
     20== __B) [wiki:boot_loader Boot Procedure]__ ==
    2121
    22 The boot-loader code is loaded in the physical memory bank of cluster(0,0) by the generic ''reset'' code (hard-coded in the external ROM).
     22The boot procedure is done in three phases: The boot-loader code is loaded in the physical memory bank of cluster(0,0) by the generic ''reset'' code (hard-coded in the external ROM).
    2323The boot-loader load the ''map.bin'' file, build the page tables as specified in the mapping (one page table per virtual space), activates the MMU for all processors, initializes the distributed schedulers (one scheduler per processor), initializes the external (non replicated) peripherals, and load the kernel code, as well as the user application(s) code.
    2424When this is done, each processor jumps to the GIET_VM ''kernel_init()'' function that completes the kernel initialisation.
    2525
    26 == __C) [wiki:kernel_init Kernel Initialisation]__ ==
    27 
    28 == __D) [wiki:common_functions Boot & Kernel common functions]__ ==
     26== __C) [wiki:common_functions Kernel Utility functions]__ ==
    2927
    3028Here are presented the utility functions that can be used by both the bootloader (in the boot phase), and by the kernel (in the execution phase).
    3129
    32 == __E) [wiki:kernel_functions Kernel functions]__ ==
     30== __D) [wiki:kernel_functions Kernel functions]__ ==
     31
     32Here are presented the main services provided by the GIET_VM in the execution phase: the syscall handler, the interrupt handler, the exception handler, and the context switch handler.
    3333
    3434== __F) [wiki:library_stdio System calls]__ ==
    3535
     36Here are presented all the C functions that can be used by an user application (in the execution phase) to require a service to the operating system. All these functions contain a ''syscall'' instruction that force the processor to enter the kernel mode.
     37
    3638== __G) [wiki:user_libraries User level libraries]__ ==
     39
     40Here are presented various libraries of C functions that can be used by an user application for synchronization,  inter-task communications, or for dynamic memory allocation.
     41All these services are provided at user level, and do not require the processor to enter the kernel mode.
    3742
    3843== __B) [wiki:peripherals_drivers Peripherals Drivers]__ ==
    3944
     45This section defines the software drivers APIs for the peripherals supported by he GIET_VM.
     46
     47