initialize_ram_jump_to_main

Function initialize_ram_jump_to_main 

Source
#[unsafe(link_section = ".riscv.start")]
#[unsafe(no_mangle)]
pub unsafe extern "C" fn initialize_ram_jump_to_main()
Expand description

Entry point of all programs

This assembly does three functions:

  1. It initializes the stack pointer, the frame pointer (needed for closures to work in start_rust) and the global pointer.
  2. It initializes the .bss and .data RAM segments. This must be done before any Rust code runs. See https://github.com/tock/tock/issues/2222 for more information.
  3. Finally it calls main(), the main entry point for Tock boards.