CMSIS Reference Function Documentation

 

_start

void _start()

 

Initialize the application data and start execution with main.

 

Should be called from the reset vector.

 

Location: rsl15_start.h:91

 


Return


None

 

Assumptions

The symbols data_init, data_start, data_end, bss_start, bss_end, and stack_limit are defined when the application is linked.

Assumptions

The symbol flash_layout exists, and is an array of structures containing the start, end, and FLASH_Type* of all the banks of flash, in ascending memory address order, that the data region could be present in.

 

Example Code for _start

    // Initialize static application data

    _start();

 

_sbrk

int8_t * _sbrk(int increment)

 

Increment (or decrement) the top of the heap.

 

Location: rsl15_start.h:104

 

Parameters

Direction Name Description

in

increment

Increment to be applied to the top of the heap

 


Return


The prior value of the heap top (points to the base of the newly allocated data if the heap was incremented); returns -1 if the function was unable to allocate the requested memory

 

Assumptions

The symbols Heap_Begin, Heap_Limit are defined when the application is linked.

 

Example Code for _sbrk

    // Initialize the heap with no increment

    _sbrk(0);

 

SystemInit

void SystemInit()

 

Initializes the system by clearing and disabling interrupts, updating the SystemCoreClock variable and updating flash timing registers based on the read SYS_CLK.

 

Location: system_rsl15.h:48

 

 

Example Code for SystemInit

    // Setup the system core clock variable

    SystemInit();

 

SystemCoreClockUpdate

void SystemCoreClockUpdate()

 

Reads system registers to determine the current system clock frequency, update the SystemCoreClock variable and update the flash timing registers accordingly.

 

Location: system_rsl15.h:82

 

 

Example Code for SystemCoreClockUpdate

    // Update the declared system clock (SYSCLK) frequency

    // used by the Arm Cortex-M3 firmware

    SystemCoreClockUpdate();