Initialization
[ARM]

Starting Nut/OS. More...

Collaboration diagram for Initialization:

Defines

#define NUT_THREAD_MAINSTACK   1024
#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_MAINSTACK   1024

Definition at line 163 of file nutinit.c.

#define NUT_THREAD_IDLESTACK   256

Definition at line 168 of file nutinit.c.

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

Last memory address.

Definition at line 189 of file nutinit.c.

#define HEAP_START   &__heap_start

Definition at line 192 of file nutinit.c.

Referenced by NutInit().

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

Definition at line 193 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 227 of file nutinit.c.

References InitIrqHandler(), main, NUT_THREAD_MAINSTACK, NUT_THREAD_STACK_ADD, NUT_THREAD_STACK_MULT, NutLoadConfig(), 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 265 of file nutinit.c.

References _O_CREAT, _O_TRUNC, _O_WRONLY, BV, HEAP_SIZE, HEAP_START, MC_FMR, MC_FWS_2R3W, McuInit(), NUT_THREAD_IDLESTACK, NUT_THREAD_STACK_ADD, NUT_THREAD_STACK_MULT, NutGetCpuClock(), NutHeapAdd, NutIdle(), NutLoadConfig(), NUTMEM_END, NutThreadCreate(), outp, outr, puts, RXEN, stdout, TXEN, and UCR.


Variable Documentation

void* __heap_start


© 2000-2007 by egnite Software GmbH - visit http://www.ethernut.de/