Changes between Version 14 and Version 15 of boot_loader
- Timestamp:
- Dec 7, 2014, 9:48:32 PM (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
boot_loader
v14 v15 8 8 * 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. 9 9 10 == __Phase 1 : Reset Initialization__==10 == Phase 1 : Reset Initialisation == 11 11 12 12 In 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. … … 14 14 * 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. 15 15 16 == __Phase 2 : Boot Initialization__==16 == Phase 2 : Boot Initialisation == 17 17 18 18 The GIET_VM boot-loader is executed by processor (0,0,0), while other processors are in wait state. … … 45 45 This function makes the external peripherals and coprocessors initialisation. 46 46 47 === ''' ''boot_elf_load()''' ===47 === '''boot_elf_load()''' === 48 48 This function load into memory the kernel code (''kernel.elf'' file), and the user code for all applications specified in the mapping. 49 49 … … 52 52 to the ''kernel_init()'' function. 53 53 54 == __Phase 3 : Kernel Initialization__==54 == Phase 3 : Kernel Initialisation == 55 55 56 56 This 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: