Open main menu

DAVE Developer's Wiki β

Changes

Boot process
===Boot process===
The boot process is composed by several stages that are detailed by the following list.
# reset signal is deasserted and core #0's Program Counter is set to reset vector address
# The first piece of code executed by the processor is <code>BootROM</code>. Depending on bootstrap configuration pins, <code>FSBL</code> image is retrieved from a specific non-volatile memory by <code>BootROM</code> and stored into on-chip memory (OCM).
# <code>FSBL</code> performs basic hardware initializations (including SDRAM subsystem) and retrieves <code>U-Boot</code> bootloader image
#** non-trusted code (linux kernel image and Device Tree Blob in our case).
#* gives monitor the control.
# monitor #* initializes TrustZone subsystem #* enables core #1 and AMP configuration#* gives trusted code the control of the machine.
# FreeRTOS kernel is initialized and real-time tasks are started. Under the control of the tasks running on top of the RTOS kernel, the non-trusted (NT for short) code is started. Please note that this is done via a Secure Monitor Call (referred as SMC in the rest of the document) that is handled by the monitor.
4,650
edits