Skip to content
adi33kumar edited this page May 4, 2026 · 1 revision

FreeRTOS

Linker Script

Memory organisation:

`SECTIONS

{ . = 0x80000;

.text.boot : {*(.text.boot)}

.text : {*(.text)}

.rodata : {*(.rodata)}

.data : {*(.data)}

. = ALIGN(0x8);

bss_begin = .;

.bss : {*(.bss)}

bss_end = .;

}`

Setting up of vector table

In boot section which all function should be added?

  1. Setting up vector table
  2. Identify the secondary core and put it in WFE.
  3. Disable the MMU (EL2)
  4. Setting up the HCR register to disable virtualization and setting arch64 for EL1.
  5. Setting of SPSR register.
  6. Setting up of ear_el2 register
  7. Jumping to el1.
  8. Init of bss section
  9. Setting of stack pointer
  10. Jump to main function

Zephyr

Clone this wiki locally