Update to V4.5.0 files and directory structure.

This commit is contained in:
Richard Barry 2007-09-17 10:07:48 +00:00
parent 1362bebfdc
commit 98a9959a44
758 changed files with 53177 additions and 3139 deletions

View file

@ -69,7 +69,6 @@ LastWord = $(if $(1),$(word $(words $(1)),$(1)))
MAKE = make
MAKECFG = config.mk
TGTTYPE = $(suffix $(TARGET))
TGTFILE = $(PART)-$(TARGET)
RM = rm -Rf
@ -99,14 +98,14 @@ LOADLIBES =
LDLIBS = $(LIBS:%=-l%)
OBJDUMP = avr32-objdump
LSS = $(TGTFILE:$(TGTTYPE)=.lss)
LSS = $(TARGET:$(TGTTYPE)=.lss)
NM = avr32-nm
SYM = $(TGTFILE:$(TGTTYPE)=.sym)
SYM = $(TARGET:$(TGTTYPE)=.sym)
OBJCOPY = avr32-objcopy
HEX = $(TGTFILE:$(TGTTYPE)=.hex)
BIN = $(TGTFILE:$(TGTTYPE)=.bin)
HEX = $(TARGET:$(TGTTYPE)=.hex)
BIN = $(TARGET:$(TGTTYPE)=.bin)
SIZE = avr32-size
@ -142,7 +141,7 @@ MSG_GETTING_CPU_INFO = Getting CPU information.
MSG_HALTING = Stopping CPU execution.
MSG_ERASING_CHIP = Performing a JTAG Chip Erase command.
MSG_ERASING = Performing a flash chip erase.
MSG_PROGRAMMING = Programming MCU memory from \`$(TGTFILE)\'.
MSG_PROGRAMMING = Programming MCU memory from \`$(TARGET)\'.
MSG_SECURING_FLASH = Protecting chip by setting security bit.
MSG_RESETTING = Resetting MCU.
MSG_DEBUGGING = Opening debug connection with MCU.
@ -182,7 +181,7 @@ clean:
-$(VERBOSE_CMD)$(RM) $(HEX)
-$(VERBOSE_CMD)$(RM) $(SYM)
-$(VERBOSE_CMD)$(RM) $(LSS)
-$(VERBOSE_CMD)$(RM) $(TGTFILE)
-$(VERBOSE_CMD)$(RM) $(TARGET)
-$(VERBOSE_CMD)$(RM) $(OBJFILES)
-$(VERBOSE_CMD)$(RM) $(ASFILES)
-$(VERBOSE_CMD)$(RM) $(CPPFILES)
@ -215,12 +214,12 @@ objfiles: $(OBJFILES)
ifeq ($(TGTTYPE),.a)
# Archive: create A output file from object files.
.PHONY: a
a: $(TGTFILE)
a: $(TARGET)
else
ifeq ($(TGTTYPE),.elf)
# Link: create ELF output file from object files.
.PHONY: elf
elf: $(TGTFILE)
elf: $(TARGET)
endif
endif
@ -246,7 +245,7 @@ endif
# Display target size information.
.PHONY: sizes
sizes: $(TGTFILE)
sizes: $(TARGET)
@echo
@echo
ifeq ($(TGTTYPE),.a)
@ -334,7 +333,7 @@ endif
program: all
@echo
@echo $(MSG_PROGRAMMING)
$(VERBOSE_CMD)$(PROGRAM) program $(FLASH:%=-f%) $(PROG_CLOCK:%=-c%) -e -v -R $(if $(findstring run,$(MAKECMDGOALS)),-r) $(TGTFILE)
$(VERBOSE_CMD)$(PROGRAM) program $(FLASH:%=-f%) $(PROG_CLOCK:%=-c%) -e -v -R $(if $(findstring run,$(MAKECMDGOALS)),-r) $(TARGET)
ifneq ($(call LastWord,$(filter cpuinfo chiperase program secureflash debug readregs,$(MAKECMDGOALS))),program)
@$(SLEEP) $(SLEEPUSB)
else
@ -430,7 +429,7 @@ endif
program: all
@echo
@echo $(MSG_PROGRAMMING)
$(VERBOSE_CMD)$(ISP) $(ISPFLAGS) erase f memory flash blankcheck loadbuffer $(TGTFILE) program verify $(if $(findstring run,$(MAKECMDGOALS)),$(if $(findstring secureflash,$(MAKECMDGOALS)),,start $(if $(findstring reset,$(MAKECMDGOALS)),,no)reset 0))
$(VERBOSE_CMD)$(ISP) $(ISPFLAGS) erase f memory flash blankcheck loadbuffer $(TARGET) program verify $(if $(findstring run,$(MAKECMDGOALS)),$(if $(findstring secureflash,$(MAKECMDGOALS)),,start $(if $(findstring reset,$(MAKECMDGOALS)),,no)reset 0))
ifeq ($(call LastWord,$(filter program secureflash debug,$(MAKECMDGOALS))),program)
@echo
endif
@ -528,7 +527,7 @@ $(CPPFILES) $(ASFILES) $(OBJFILES): Makefile $(MAKECFG)
ifeq ($(TGTTYPE),.elf)
# Files resulting from linking depend on linker script.
$(TGTFILE): $(LINKER_SCRIPT)
$(TARGET): $(LINKER_SCRIPT)
endif
# Preprocess: create preprocessed files from C source files.
@ -574,16 +573,16 @@ endif
.PRECIOUS: $(OBJFILES)
ifeq ($(TGTTYPE),.a)
# Archive: create A output file from object files.
.SECONDARY: $(TGTFILE)
$(TGTFILE): $(OBJFILES)
.SECONDARY: $(TARGET)
$(TARGET): $(OBJFILES)
@echo $(MSG_ARCHIVING)
$(VERBOSE_CMD)$(AR) $(ARFLAGS) $@ $(filter %.o,$+)
$(VERBOSE_NL)
else
ifeq ($(TGTTYPE),.elf)
# Link: create ELF output file from object files.
.SECONDARY: $(TGTFILE)
$(TGTFILE): $(OBJFILES)
.SECONDARY: $(TARGET)
$(TARGET): $(OBJFILES)
@echo $(MSG_LINKING)
$(VERBOSE_CMD)$(CC) $(LDFLAGS) $(filter %.o,$+) $(LOADLIBES) $(LDLIBS) -o $@
$(VERBOSE_NL)
@ -591,13 +590,13 @@ endif
endif
# Create extended listing from target output file.
$(LSS): $(TGTFILE)
$(LSS): $(TARGET)
@echo $(MSG_EXTENDED_LISTING)
$(VERBOSE_CMD)$(OBJDUMP) -h -S $< > $@
$(VERBOSE_NL)
# Create symbol table from target output file.
$(SYM): $(TGTFILE)
$(SYM): $(TARGET)
@echo $(MSG_SYMBOL_TABLE)
$(VERBOSE_CMD)$(NM) -n $< > $@
$(VERBOSE_NL)
@ -605,13 +604,13 @@ $(SYM): $(TGTFILE)
ifeq ($(TGTTYPE),.elf)
# Create Intel HEX image from ELF output file.
$(HEX): $(TGTFILE)
$(HEX): $(TARGET)
@echo $(MSG_IHEX_IMAGE)
$(VERBOSE_CMD)$(OBJCOPY) -O ihex $< $@
$(VERBOSE_NL)
# Create binary image from ELF output file.
$(BIN): $(TGTFILE)
$(BIN): $(TARGET)
@echo $(MSG_BINARY_IMAGE)
$(VERBOSE_CMD)$(OBJCOPY) -O binary $< $@
$(VERBOSE_NL)

View file

@ -56,7 +56,7 @@ PLATFORM_INC_PATH = \
$(BRDS_PATH)/
# Target name: {*.a|*.elf}
TARGET = rtosdemo.elf
TARGET = $(PART)-rtosdemo.elf
# Definitions: [-D name[=definition]...] [-U name...]
# Things that might be added to DEFS:

View file

@ -0,0 +1,27 @@
This is an internal working file generated by the Source Browser.
20:15 21s
C:\E\Dev\FreeRTOS\Releases\Code\V4.5.0\Demo\AVR32_UC3\AT32UC3A\IAR\Debug\Obj\BlockQ.pbi
C:\E\Dev\FreeRTOS\Releases\Code\V4.5.0\Demo\AVR32_UC3\AT32UC3A\IAR\Debug\Obj\ParTest.pbi
C:\E\Dev\FreeRTOS\Releases\Code\V4.5.0\Demo\AVR32_UC3\AT32UC3A\IAR\Debug\Obj\PollQ.pbi
C:\E\Dev\FreeRTOS\Releases\Code\V4.5.0\Demo\AVR32_UC3\AT32UC3A\IAR\Debug\Obj\comtest.pbi
C:\E\Dev\FreeRTOS\Releases\Code\V4.5.0\Demo\AVR32_UC3\AT32UC3A\IAR\Debug\Obj\death.pbi
C:\E\Dev\FreeRTOS\Releases\Code\V4.5.0\Demo\AVR32_UC3\AT32UC3A\IAR\Debug\Obj\dynamic.pbi
C:\E\Dev\FreeRTOS\Releases\Code\V4.5.0\Demo\AVR32_UC3\AT32UC3A\IAR\Debug\Obj\flash.pbi
C:\E\Dev\FreeRTOS\Releases\Code\V4.5.0\Demo\AVR32_UC3\AT32UC3A\IAR\Debug\Obj\flop.pbi
C:\E\Dev\FreeRTOS\Releases\Code\V4.5.0\Demo\AVR32_UC3\AT32UC3A\IAR\Debug\Obj\gpio.pbi
C:\E\Dev\FreeRTOS\Releases\Code\V4.5.0\Demo\AVR32_UC3\AT32UC3A\IAR\Debug\Obj\heap_3.pbi
C:\E\Dev\FreeRTOS\Releases\Code\V4.5.0\Demo\AVR32_UC3\AT32UC3A\IAR\Debug\Obj\intc.pbi
C:\E\Dev\FreeRTOS\Releases\Code\V4.5.0\Demo\AVR32_UC3\AT32UC3A\IAR\Debug\Obj\integer.pbi
C:\E\Dev\FreeRTOS\Releases\Code\V4.5.0\Demo\AVR32_UC3\AT32UC3A\IAR\Debug\Obj\led.pbi
C:\E\Dev\FreeRTOS\Releases\Code\V4.5.0\Demo\AVR32_UC3\AT32UC3A\IAR\Debug\Obj\list.pbi
C:\E\Dev\FreeRTOS\Releases\Code\V4.5.0\Demo\AVR32_UC3\AT32UC3A\IAR\Debug\Obj\main.pbi
C:\E\Dev\FreeRTOS\Releases\Code\V4.5.0\Demo\AVR32_UC3\AT32UC3A\IAR\Debug\Obj\pm.pbi
C:\E\Dev\FreeRTOS\Releases\Code\V4.5.0\Demo\AVR32_UC3\AT32UC3A\IAR\Debug\Obj\port.pbi
C:\E\Dev\FreeRTOS\Releases\Code\V4.5.0\Demo\AVR32_UC3\AT32UC3A\IAR\Debug\Obj\queue.pbi
C:\E\Dev\FreeRTOS\Releases\Code\V4.5.0\Demo\AVR32_UC3\AT32UC3A\IAR\Debug\Obj\read.pbi
C:\E\Dev\FreeRTOS\Releases\Code\V4.5.0\Demo\AVR32_UC3\AT32UC3A\IAR\Debug\Obj\semtest.pbi
C:\E\Dev\FreeRTOS\Releases\Code\V4.5.0\Demo\AVR32_UC3\AT32UC3A\IAR\Debug\Obj\serial.pbi
C:\E\Dev\FreeRTOS\Releases\Code\V4.5.0\Demo\AVR32_UC3\AT32UC3A\IAR\Debug\Obj\tasks.pbi
C:\E\Dev\FreeRTOS\Releases\Code\V4.5.0\Demo\AVR32_UC3\AT32UC3A\IAR\Debug\Obj\tc.pbi
C:\E\Dev\FreeRTOS\Releases\Code\V4.5.0\Demo\AVR32_UC3\AT32UC3A\IAR\Debug\Obj\usart.pbi
C:\E\Dev\FreeRTOS\Releases\Code\V4.5.0\Demo\AVR32_UC3\AT32UC3A\IAR\Debug\Obj\write.pbi

View file

@ -337,16 +337,16 @@
</option>
<option>
<name>CCOptLevel</name>
<state>1</state>
<state>0</state>
</option>
<option>
<name>CCOptStrategy</name>
<version>0</version>
<state>0</state>
<state>2</state>
</option>
<option>
<name>CCOptLevelSlave</name>
<state>1</state>
<state>0</state>
</option>
</data>
</settings>

View file

@ -69,7 +69,6 @@ LastWord = $(if $(1),$(word $(words $(1)),$(1)))
MAKE = make
MAKECFG = config.mk
TGTTYPE = $(suffix $(TARGET))
TGTFILE = $(PART)-$(TARGET)
RM = rm -Rf
@ -99,14 +98,14 @@ LOADLIBES =
LDLIBS = $(LIBS:%=-l%)
OBJDUMP = avr32-objdump
LSS = $(TGTFILE:$(TGTTYPE)=.lss)
LSS = $(TARGET:$(TGTTYPE)=.lss)
NM = avr32-nm
SYM = $(TGTFILE:$(TGTTYPE)=.sym)
SYM = $(TARGET:$(TGTTYPE)=.sym)
OBJCOPY = avr32-objcopy
HEX = $(TGTFILE:$(TGTTYPE)=.hex)
BIN = $(TGTFILE:$(TGTTYPE)=.bin)
HEX = $(TARGET:$(TGTTYPE)=.hex)
BIN = $(TARGET:$(TGTTYPE)=.bin)
SIZE = avr32-size
@ -142,7 +141,7 @@ MSG_GETTING_CPU_INFO = Getting CPU information.
MSG_HALTING = Stopping CPU execution.
MSG_ERASING_CHIP = Performing a JTAG Chip Erase command.
MSG_ERASING = Performing a flash chip erase.
MSG_PROGRAMMING = Programming MCU memory from \`$(TGTFILE)\'.
MSG_PROGRAMMING = Programming MCU memory from \`$(TARGET)\'.
MSG_SECURING_FLASH = Protecting chip by setting security bit.
MSG_RESETTING = Resetting MCU.
MSG_DEBUGGING = Opening debug connection with MCU.
@ -182,7 +181,7 @@ clean:
-$(VERBOSE_CMD)$(RM) $(HEX)
-$(VERBOSE_CMD)$(RM) $(SYM)
-$(VERBOSE_CMD)$(RM) $(LSS)
-$(VERBOSE_CMD)$(RM) $(TGTFILE)
-$(VERBOSE_CMD)$(RM) $(TARGET)
-$(VERBOSE_CMD)$(RM) $(OBJFILES)
-$(VERBOSE_CMD)$(RM) $(ASFILES)
-$(VERBOSE_CMD)$(RM) $(CPPFILES)
@ -215,12 +214,12 @@ objfiles: $(OBJFILES)
ifeq ($(TGTTYPE),.a)
# Archive: create A output file from object files.
.PHONY: a
a: $(TGTFILE)
a: $(TARGET)
else
ifeq ($(TGTTYPE),.elf)
# Link: create ELF output file from object files.
.PHONY: elf
elf: $(TGTFILE)
elf: $(TARGET)
endif
endif
@ -246,7 +245,7 @@ endif
# Display target size information.
.PHONY: sizes
sizes: $(TGTFILE)
sizes: $(TARGET)
@echo
@echo
ifeq ($(TGTTYPE),.a)
@ -334,7 +333,7 @@ endif
program: all
@echo
@echo $(MSG_PROGRAMMING)
$(VERBOSE_CMD)$(PROGRAM) program $(FLASH:%=-f%) $(PROG_CLOCK:%=-c%) -e -v -R $(if $(findstring run,$(MAKECMDGOALS)),-r) $(TGTFILE)
$(VERBOSE_CMD)$(PROGRAM) program $(FLASH:%=-f%) $(PROG_CLOCK:%=-c%) -e -v -R $(if $(findstring run,$(MAKECMDGOALS)),-r) $(TARGET)
ifneq ($(call LastWord,$(filter cpuinfo chiperase program secureflash debug readregs,$(MAKECMDGOALS))),program)
@$(SLEEP) $(SLEEPUSB)
else
@ -430,7 +429,7 @@ endif
program: all
@echo
@echo $(MSG_PROGRAMMING)
$(VERBOSE_CMD)$(ISP) $(ISPFLAGS) erase f memory flash blankcheck loadbuffer $(TGTFILE) program verify $(if $(findstring run,$(MAKECMDGOALS)),$(if $(findstring secureflash,$(MAKECMDGOALS)),,start $(if $(findstring reset,$(MAKECMDGOALS)),,no)reset 0))
$(VERBOSE_CMD)$(ISP) $(ISPFLAGS) erase f memory flash blankcheck loadbuffer $(TARGET) program verify $(if $(findstring run,$(MAKECMDGOALS)),$(if $(findstring secureflash,$(MAKECMDGOALS)),,start $(if $(findstring reset,$(MAKECMDGOALS)),,no)reset 0))
ifeq ($(call LastWord,$(filter program secureflash debug,$(MAKECMDGOALS))),program)
@echo
endif
@ -528,7 +527,7 @@ $(CPPFILES) $(ASFILES) $(OBJFILES): Makefile $(MAKECFG)
ifeq ($(TGTTYPE),.elf)
# Files resulting from linking depend on linker script.
$(TGTFILE): $(LINKER_SCRIPT)
$(TARGET): $(LINKER_SCRIPT)
endif
# Preprocess: create preprocessed files from C source files.
@ -574,16 +573,16 @@ endif
.PRECIOUS: $(OBJFILES)
ifeq ($(TGTTYPE),.a)
# Archive: create A output file from object files.
.SECONDARY: $(TGTFILE)
$(TGTFILE): $(OBJFILES)
.SECONDARY: $(TARGET)
$(TARGET): $(OBJFILES)
@echo $(MSG_ARCHIVING)
$(VERBOSE_CMD)$(AR) $(ARFLAGS) $@ $(filter %.o,$+)
$(VERBOSE_NL)
else
ifeq ($(TGTTYPE),.elf)
# Link: create ELF output file from object files.
.SECONDARY: $(TGTFILE)
$(TGTFILE): $(OBJFILES)
.SECONDARY: $(TARGET)
$(TARGET): $(OBJFILES)
@echo $(MSG_LINKING)
$(VERBOSE_CMD)$(CC) $(LDFLAGS) $(filter %.o,$+) $(LOADLIBES) $(LDLIBS) -o $@
$(VERBOSE_NL)
@ -591,13 +590,13 @@ endif
endif
# Create extended listing from target output file.
$(LSS): $(TGTFILE)
$(LSS): $(TARGET)
@echo $(MSG_EXTENDED_LISTING)
$(VERBOSE_CMD)$(OBJDUMP) -h -S $< > $@
$(VERBOSE_NL)
# Create symbol table from target output file.
$(SYM): $(TGTFILE)
$(SYM): $(TARGET)
@echo $(MSG_SYMBOL_TABLE)
$(VERBOSE_CMD)$(NM) -n $< > $@
$(VERBOSE_NL)
@ -605,13 +604,13 @@ $(SYM): $(TGTFILE)
ifeq ($(TGTTYPE),.elf)
# Create Intel HEX image from ELF output file.
$(HEX): $(TGTFILE)
$(HEX): $(TARGET)
@echo $(MSG_IHEX_IMAGE)
$(VERBOSE_CMD)$(OBJCOPY) -O ihex $< $@
$(VERBOSE_NL)
# Create binary image from ELF output file.
$(BIN): $(TGTFILE)
$(BIN): $(TARGET)
@echo $(MSG_BINARY_IMAGE)
$(VERBOSE_CMD)$(OBJCOPY) -O binary $< $@
$(VERBOSE_NL)

View file

@ -56,7 +56,7 @@ PLATFORM_INC_PATH = \
$(BRDS_PATH)/
# Target name: {*.a|*.elf}
TARGET = rtosdemo.elf
TARGET = $(PART)-rtosdemo.elf
# Definitions: [-D name[=definition]...] [-U name...]
# Things that might be added to DEFS:

View file

@ -53,8 +53,13 @@ extern const unsigned int ipr_val[AVR32_INTC_NUM_INT_LEVELS];
//! Creates a table of interrupt line handlers per interrupt group in order to optimize RAM space.
//! Each line handler table contains a set of pointers to interrupt handlers.
#if __GNUC__
#define DECL_INT_LINE_HANDLER_TABLE(GRP, unused) \
static volatile __int_handler _int_line_handler_table_##GRP[Max(AVR32_INTC_NUM_IRQS_PER_GRP##GRP, 1)];
#elif __ICCAVR32__
#define DECL_INT_LINE_HANDLER_TABLE(GRP, unused) \
static volatile __no_init __int_handler _int_line_handler_table_##GRP[Max(AVR32_INTC_NUM_IRQS_PER_GRP##GRP, 1)];
#endif
MREPEAT(AVR32_INTC_NUM_INT_GRPS, DECL_INT_LINE_HANDLER_TABLE, ~);
#undef DECL_INT_LINE_HANDLER_TABLE

View file

@ -212,7 +212,6 @@ extern void pm_enable_clk32_no_wait(volatile avr32_pm_t *pm, unsigned int startu
extern void pm_wait_for_clk32_ready(volatile avr32_pm_t *pm);
//FIXME update this header -SM
/*!
* \brief This function will select all the power manager clocks.
* \param pm Base address of the Power Manager (i.e. &AVR32_PM)
@ -254,20 +253,18 @@ extern void pm_gc_enable(volatile avr32_pm_t *pm, unsigned int gc);
extern void pm_gc_disable(volatile avr32_pm_t *pm, unsigned int gc);
//FIXME update this header -SM
/*!
* \brief This function will setup a PLL.
* \param pm Base address of the Power Manager (i.e. &AVR32_PM)
* \param pll PLL number(0 for PLL0, 1 for PLL1)
* \param mul
* \param div
* \param osc
* \param lockcount
* \param mul PLL MUL in the PLL formula
* \param div PLL DIV in the PLL formula
* \param osc OSC number (0 for osc0, 1 for osc1)
* \param lockcount PLL lockount
*/
extern void pm_pll_setup(volatile avr32_pm_t *pm, unsigned int pll, unsigned int mul, unsigned int div, unsigned int osc, unsigned int lockcount);
//FIXME update this header -SM
/*!
* \brief This function will set a PLL option.
* \param pm Base address of the Power Manager (i.e. &AVR32_PM)
@ -279,7 +276,6 @@ extern void pm_pll_setup(volatile avr32_pm_t *pm, unsigned int pll, unsigned int
extern void pm_pll_set_option(volatile avr32_pm_t *pm, unsigned int pll, unsigned int pll_freq, unsigned int pll_div2, unsigned int pll_wbwdisable);
//FIXME update this header -SM
/*!
* \brief This function will get a PLL option.
* \param pm Base address of the Power Manager (i.e. &AVR32_PM)

View file

@ -65,7 +65,7 @@
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 8 )
#define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 128 )
/* configTOTAL_HEAP_SIZE is not used when heap_3.c is used. */
#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 1 ) )
#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 1024*25 ) )
#define configMAX_TASK_NAME_LEN ( 16 )
#define configUSE_TRACE_FACILITY 0
#define configUSE_16_BIT_TICKS 0

View file

@ -45,7 +45,9 @@
#ifndef _COMPILER_H_
#define _COMPILER_H_
#include <avr32/io.h>
#if (__GNUC__ && __AVR32__) || (__ICCAVR32__ || __AAVR32__)
# include <avr32/io.h>
#endif
#if __ICCAVR32__
# include <intrinsics.h>
#endif
@ -509,7 +511,7 @@ typedef struct
}\
)
#elif __ICCAVR32__
#define min(a, b) Min(a, b)
#define min(a, b) __min(a, b)
#endif
/*! \brief Takes the maximal value of \a a and \a b.
@ -531,7 +533,7 @@ typedef struct
}\
)
#elif __ICCAVR32__
#define max(a, b) Max(a, b)
#define max(a, b) __max(a, b)
#endif
//! @}
@ -751,6 +753,36 @@ typedef struct
//! @}
/*! \name Debug Register Access
*/
//! @{
/*! \brief Gets the value of the \a dbgreg debug register.
*
* \param dbgreg Address of the debug register of which to get the value.
*
* \return Value of the \a dbgreg debug register.
*/
#if __GNUC__
#define Get_debug_register(dbgreg) __builtin_mfdr(dbgreg)
#elif __ICCAVR32__
#define Get_debug_register(dbgreg) __get_debug_register(dbgreg)
#endif
/*! \brief Sets the value of the \a dbgreg debug register to \a value.
*
* \param dbgreg Address of the debug register of which to set the value.
* \param value Value to set the \a dbgreg debug register to.
*/
#if __GNUC__
#define Set_debug_register(dbgreg, value) __builtin_mtdr(dbgreg, value)
#elif __ICCAVR32__
#define Set_debug_register(dbgreg, value) __set_debug_register(dbgreg, value)
#endif
//! @}
#endif // __AVR32_ABI_COMPILER__
@ -919,9 +951,9 @@ typedef struct
* \note More optimized if only used with values unknown at compile time.
*/
#if __GNUC__
#define swap16(u16) __builtin_bswap_16(u16)
#define swap16(u16) ((U16)__builtin_bswap_16((U16)(u16)))
#elif __ICCAVR32__
#define swap16(u16) Swap16(u16)
#define swap16(u16) ((U16)__swap_bytes_in_halfwords((U16)(u16)))
#endif
/*! \brief Toggles the endianism of \a u32 (by swapping its bytes).
@ -933,9 +965,9 @@ typedef struct
* \note More optimized if only used with values unknown at compile time.
*/
#if __GNUC__
#define swap32(u32) __builtin_bswap_32(u32)
#define swap32(u32) ((U32)__builtin_bswap_32((U32)(u32)))
#elif __ICCAVR32__
#define swap32(u32) Swap32(u32)
#define swap32(u32) ((U32)__swap_bytes((U32)(u32)))
#endif
/*! \brief Toggles the endianism of \a u64 (by swapping its bytes).

View file

@ -1,5 +1,3 @@
/* This source file is part of the ATMEL FREERTOS-0.9.0 Release */
/*This file has been prepared for Doxygen automatic documentation generation.*/
/*! \file *********************************************************************
*
@ -27,12 +25,12 @@
* - AppNote:
*
* \author Atmel Corporation: http://www.atmel.com \n
* Support email: avr32@atmel.com
* Support and FAQ: http://support.atmel.no/
*
*****************************************************************************/
/*
FreeRTOS.org V4.4.0 - Copyright (C) 2003-2007 Richard Barry.
FreeRTOS.org V4.5.0 - Copyright (C) 2003-2007 Richard Barry.
This file is part of the FreeRTOS.org distribution.
@ -274,6 +272,12 @@ portBASE_TYPE bSuicidalTask = 0;
/* Delay until it is time to execute again. */
vTaskDelay( mainCHECK_PERIOD );
/* Delete the dynamically created task. */
if( xCreatedTask != mainNO_TASK )
{
vTaskDelete( xCreatedTask );
}
/* Perform a bit of 32bit maths to ensure the registers used by the
integer tasks get some exercise. The result here is not important -
see the demo application documentation for more info. */
@ -294,12 +298,6 @@ portBASE_TYPE bSuicidalTask = 0;
/* Toggle the LED if everything is okay. */
vParTestToggleLED( mainCHECK_TASK_LED );
}
/* Delete the dynamically created task. */
if( xCreatedTask != mainNO_TASK )
{
vTaskDelete( xCreatedTask );
}
}
}
/*-----------------------------------------------------------*/