Initialization
[ARM]

Starting Nut/OS. More...

Collaboration diagram for Initialization:

Defines

#define NUT_THREAD_IDLESTACK   256
#define NUTMEM_END   (uintptr_t)(NUTMEM_START + NUTMEM_SIZE - 1U)
 Last memory address.
#define HEAP_START   &__heap_start
#define HEAP_SIZE   ((uintptr_t) (NUTMEM_END - 256 - (uintptr_t) (&__heap_start)))

Functions

void NutAppMain (void *arg)
void NutIdle (void *arg)
 Idle thread.
void NutInit (void)
 Nut/OS Initialization.

Variables

void * __heap_start

Detailed Description

Starting Nut/OS.


Define Documentation

#define NUT_THREAD_IDLESTACK   256

Definition at line 170 of file nutinit.c.

#define NUTMEM_END   (uintptr_t)(NUTMEM_START + NUTMEM_SIZE - 1U)

Last memory address.

Definition at line 191 of file nutinit.c.

#define HEAP_START   &__heap_start

Definition at line 194 of file nutinit.c.

Referenced by NutInit().

#define HEAP_SIZE   ((uintptr_t) (NUTMEM_END - 256 - (uintptr_t) (&__heap_start)))

Definition at line 195 of file nutinit.c.

Referenced by NutInit().


Function Documentation

void NutAppMain ( void *  arg  ) 
void NutIdle ( void *  arg  ) 

Idle thread.

Parameters:
arg Ignored by the idle thread.

This function runs in an endless loop as a lowest priority thread.

Definition at line 229 of file nutinit.c.

References InitIrqHandler(), main, NUT_THREAD_MAINSTACK, NUT_THREAD_STACK_ADD, NutIdleInit(), NutLoadConfig(), NutMainInit(), NutThreadCreate(), NutThreadDestroy(), NutThreadSetPriority(), NutThreadYield(), and NutTimerInit().

void NutInit ( void   ) 

Nut/OS Initialization.

Initializes the memory management and the thread system and starts an idle thread, which in turn initializes the timer management. Finally the application's main() function is called.

Definition at line 274 of file nutinit.c.

References _O_CREAT, _O_TRUNC, _O_WRONLY, HEAP_SIZE, HEAP_START, MC_FMR, MC_FWS_2R3W, McuInit(), NUT_THREAD_IDLESTACK, NUT_THREAD_STACK_ADD, NutBoardInit(), NutGetCpuClock(), NutHeapAdd, NutIdle(), NutThreadCreate(), outr, puts, and stdout.


Variable Documentation

void* __heap_start

© 2000-2010 by contributors - visit http://www.ethernut.de/