24 | | The boot procedure is done in three phases: (i) The generic ''reset'' code (hard-coded in the external ROM) is executed by processor (0,0,0), and load the ''boot-loader'' code from the hard disk to the physical memory. (ii) The ''boot-loader'' is executed by processor (0,0,0). It load the ''map.bin'' file, build the page tables, initializes the schedulers as specified in the mapping, initializes the peripherals, and load the kernel code, as well as the user application(s) code into memory. (iii) Finally, the ''kernel_init()'' function is executed by all processors, and completes the kernel initialisation. |