Nut/OS  4.10.3
API Reference
XgNutArchAvr32Init

Data Structures

union  u_avr32_flashc_fcr_t

Defines

#define NUT_THREAD_MAINSTACK   1024
#define NUT_THREAD_IDLESTACK   512
#define NUTMEM_START   ((uint32_t)&__ram_start__)
 Last memory address.
#define NUTMEM_SIZE   ((uint32_t)&__ram_size__)
#define NUTMEM_END   (uptr_t)(NUTMEM_START + NUTMEM_SIZE - 1U)
#define HEAP_START   &__heap_start
#define HEAP_SIZE   ((uptr_t) (NUTMEM_END - 256 - (uptr_t) (&__heap_start)))
#define __heap_start   _bss_end
 Start of heap area.

Functions

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

Variables

void * __heap_start
void * __ram_start__
void * __ram_size__

Detailed Description

Copyright (C) 2001-2010 by egnite Software GmbH

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holders nor the names of contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

For additional information see http://www.ethernut.de/


Define Documentation

#define NUT_THREAD_MAINSTACK   1024

Definition at line 63 of file nutinit.c.

Referenced by NutIdle().

#define NUT_THREAD_IDLESTACK   512

Definition at line 68 of file nutinit.c.

Referenced by NutInit().

#define NUTMEM_START   ((uint32_t)&__ram_start__)

Last memory address.

Definition at line 81 of file nutinit.c.

#define NUTMEM_SIZE   ((uint32_t)&__ram_size__)

Definition at line 84 of file nutinit.c.

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

Definition at line 86 of file nutinit.c.

#define HEAP_START   &__heap_start

Definition at line 89 of file nutinit.c.

Referenced by NutInit().

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

Definition at line 90 of file nutinit.c.

Referenced by NutInit().

void * __heap_start   _bss_end

Start of heap area.

Definition at line 182 of file icc.h.


Function Documentation

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

Idle thread.

Parameters:
argIgnored by the idle thread.

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

Definition at line 119 of file nutinit.c.

References init_interrupts(), main, NUT_THREAD_MAINSTACK, NUT_THREAD_STACK_ADD, NUT_THREAD_STACK_MULT, NutLoadConfig(), NutThreadCreate(), NutThreadDestroy(), NutThreadSetPriority(), NutThreadYield(), and NutTimerInit().

Here is the call graph for this function:

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 156 of file nutinit.c.

References _O_CREAT, _O_TRUNC, _O_WRONLY, _NUTDEVICE::dev_init, _NUTDEVICE::dev_open, HEAP_SIZE, HEAP_START, NUT_THREAD_IDLESTACK, NUT_THREAD_STACK_ADD, NUT_THREAD_STACK_MULT, NutHeapAdd, NutIdle(), NutThreadCreate(), pm_cksel(), pm_pll_enable(), pm_pll_set_option(), pm_pll_setup(), pm_switch_to_clock(), pm_switch_to_osc0(), pm_wait_for_pll0_locked(), puts, and stdout.

Here is the call graph for this function:


Variable Documentation

void* __heap_start

Definition at line 87 of file nutinit.c.

void* __ram_size__