Changes between Version 14 and Version 15 of boot_loader


Ignore:
Timestamp:
Dec 7, 2014, 9:48:32 PM (10 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • boot_loader

    v14 v15  
    88 * Finally, the GIET_VM ''kernel_init()'' function is executed by all processors, and completes the kernel initialisation.The system boot is done in three phases.
    99
    10 == __Phase 1 : Reset Initialization__ ==
     10== Phase 1 : Reset Initialisation ==
    1111
    1212In case of hard reset, all processors execute the same ''reset'' code (also called ''preloader'' code) stored in the external ROM, but the work done depends on the processor global index. This ''reset'' code is generic. It is entirely defined by the target hardware architecture, and can be used to boot any operating system. 
     
    1414 * All other processors initialize their private interrupt controller, to be able to receive an inter-processor interrupt (WTI), and enter ''wait_state'' in low-power mode.
    1515
    16 == __Phase 2 : Boot Initialization__ ==
     16== Phase 2 : Boot Initialisation ==
    1717
    1818The GIET_VM boot-loader is executed by processor (0,0,0), while other processors are in wait state.
     
    4545This function makes the external peripherals and coprocessors initialisation.
    4646
    47 === '''''boot_elf_load()''' ===
     47=== '''boot_elf_load()''' ===
    4848This function load into memory the kernel code (''kernel.elf'' file), and the user code for all applications specified in the mapping.
    4949
     
    5252to the ''kernel_init()''  function.
    5353
    54 == __Phase 3 : Kernel Initialization__ ==
     54== Phase 3 : Kernel Initialisation ==
    5555
    5656This code is executed by all processors, but sequencially. All processors enter the same [source:soft/giet_vm/giet_kernel/kernel_init.c kernel_init.c] code that makes the following actions: