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.
# The first piece of code executed by the processor is <code>BootROM</code>: this is the first piece of code executed by the processor. 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>: <code>FSBL</code> performs basic hardware initializations (including SDRAM subsystem) and retrieves <code>U-Boot</code> bootloader image# <code>U-Boot</code>: <code>U-Boot</code>
#* completes hardware initializations
#* retrieves the following binary images and store them into SDRAM:
#* gives monitor the control.
# monitor initializes TrustZone subsystem and 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 for shortin the rest of the document) that is handled by the monitor.
===L2 cache management===
4,650
edits