#include <cfg/os.h>
#include <cfg/clock.h>
#include <cfg/arch.h>
#include <cfg/memory.h>
#include <arch/cm3.h>
#include <dev/rtc.h>
#include <sys/heap.h>
#include <arch/cm3/cortexM3.h>
#include <arch/cm3/cortex_interrupt.h>
Defines | |
#define | MSP_STACK_SIZE 128 |
#define | PSP_STACK_SIZE 32 |
#define | NUT_BOOT_FUNCTION NutInit |
Functions | |
void | NUT_BOOT_FUNCTION (void *) |
void | Cortex_MemInit (void) |
CortexM3 Initialization. | |
void | Cortex_Start (void) |
CortexM3 Startup. | |
Variables | |
void(*const | g_pfnVectors [])(void *) |
CortexM3 memory pointers. | |
void * | _etext |
CortexM3 memory pointers. | |
void * | _sidata |
void * | _sdata |
void * | _edata |
void * | _sbss |
void * | _ebss |
void * | _pspstack_start |
void * | _pspstack_end |
void * | _stack_start |
void * | _stack_end |
#define MSP_STACK_SIZE 128 |
#define PSP_STACK_SIZE 32 |
#define NUT_BOOT_FUNCTION NutInit |
void NUT_BOOT_FUNCTION | ( | void * | ) |
void Cortex_MemInit | ( | void | ) |
CortexM3 Initialization.
This function copies over the data segment from flash to ram and fills the bss segment with 0.
References __set_PSP().
Referenced by Cortex_Start().
void Cortex_Start | ( | void | ) |
CortexM3 Startup.
This function runs the basic cpu initialization.
References Cortex_IntInit(), and Cortex_MemInit().
void(* const g_pfnVectors[])(void *) |
{ (void (*)(void *))((uint32_t)mspStack + sizeof(mspStack)), NUT_BOOT_FUNCTION, IntDefaultHandler, IntDefaultHandler, IntDefaultHandler, IntDefaultHandler, IntDefaultHandler, 0, 0, 0, 0, }
CortexM3 memory pointers.
These pointers are provided by the linker, controlled by the linker script. The list is shrinked to the two basic entries of the initial stack pointer address and the reset vector. All other interrupt vectors are set up dynamically later after system start.
Referenced by Cortex_IntInit().
void* _etext |
CortexM3 memory pointers.
These pointers are provided by the linker, controlled by the linker script.
void* _sidata |
void* _sdata |
void* _edata |
void* _sbss |
void* _ebss |
void* _pspstack_start |
void* _pspstack_end |
void* _stack_start |
void* _stack_end |