View detail for AVR UC3 Software Framework 1.7.0 - release notes

Release Notes - AVR UC3 Software Framework
Release version: 1.7.0
Release date: 2010-02-19
AVR-UC3-SoftwareFramework-1.7.0.zip
This package supports:
- UC3 A0 and A1 devices revision H and later.
- UC3 B devices revision F and later.
- UC3 A3/A4 devices revision E and later.
- UC3 A3xS/A4xS devices revision E and later.
- UC3 C devices revision C.
- UC3 L devices revision B and later.
Supported tools:
- AVR32 GNU Toolchain (2.4) with GCC version: 4.3.2-atmel.1.0.1 (mingw32 special)
-
AVR32 Studio version: 2.4
-
IAR EWAVR32 v3.20A with updated header files for UC3 A0 , UC3 B , UC3 A3 and UC3 A3xS series (unzip
the UTILS/AVR32_HEADER_FILES/AVR32_Header_Files.zip under <your IAR installation folder>/Embedded
Workbench x.x/avr32/inc/).
-
IAR EWAVR32 v3.21G with updated header files for UC3 C series (to update header files, unzip the
UTILS/AVR32_HEADER_FILES/avr32-headers.zip under <your IAR installation folder>/Embedded
Workbench x.x/avr32/inc/).
-
IAR EWAVR32 v3.21F with updated header files for UC3 L series (to update header files, unzip the
UTILS/AVR32_HEADER_FILES/avr32-headers.zip under <your IAR installation folder>/Embedded
Workbench x.x/avr32/inc/).
1 Overview
The AVR® UC3 Software Framework consists of AVR UC3 microcontroller drivers, software services & libraries, and
demonstration applications.
Each software module is provided with full source code, example of usage, rich html documentation and ready-to-use
projects for the IAR EWAVR32 and GNU GCC compilers.
2 Downloading and Installing
The software can be found on the AVR Technical Library CD, or downloaded from Atmel's website at
http://www.atmel.com/products/AVR32/ under the "Tools & Software" menu.
Unzip the package zip file (AVR-UC3-SoftwareFramework-x.x.x.zip) under a local folder on your PC. Open the \x.x.xAT32UC3\readme.html file to browse through the documentation.
3 Contents
The following tables describe the availability of framework modules per AVR UC3 series.
APPLICATIONS
EVK1100-CONTROL-PANEL
EVK1101-DEMO
EVK1104-EVK1105-DSPLIB-DEMO
EVK11xx_UC3B_VIRTUAL_COM_PORT
AT32UC3C_EK_CAN_LIN_LOOPBACKS_DEMO
BOARDS
EVK1100
EVK1101
EVK1104
EVK1105
STK600 / RCUC3L0
UC3C-EK
UC3L-EK
DRIVERS
ABDAC
ACIFA
ACIFB
ADC
ADCIFA
ADCIFB
AES
AST
CANIF
CPU / CYCLE_COUNTER
CPU / MPU
CPU / SECURE_STATE
DACIFB
DMACA
EBI
ECCHRS
EIC
FLASHC
FLASHCDW
GPIO
HMATRIX
INTC
MACB
MCI
MDMA
PDCA
PEVC
PM
PWM
PWMA
UC3A0
UC3A1
X
UC3A0
UC3A1
X
UC3A3
UC3A4
UC3A3S
UC3A4S
UC3B
UC3C
X
X
X
X
UC3A3
UC3A4
UC3A3S
UC3A4S
UC3B
UC3C
UC3L
X
X
X
X
X
X
UC3A0
UC3A1
X
UC3A3
UC3A4
X
UC3A3S
UC3A4S
X
UC3B
UC3C
UC3L
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
UC3L
QDEC
RTC
SCIF
SPI
SSC
TC
TWI
TWIM
TWIS
USART
USBB
WDT
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
COMPONENTS
UC3A0
UC3A1
ACCELEROMETER / LIS3L06AL
AUDIO / AMP / TPA6130A2
AUDIO / CODEC / TLV320AIC23B
AUDIO / DAC / PWM_DAC
CLOCK_SYNTHESIZER\CIRRUS_LOGIC_CS2200CP
DISPLAY / DIP204
DISPLAY / ET024006DHU
JOYSTICK
MEMORY / DATA_FLASH / AT25DFX
MEMORY / DATA_FLASH / AT45DBX
MEMORY / EEPROM / AT24CXX
MEMORY / NAND_FLASH /NAND_FLASH_EBI
MEMORY / NAND_FLASH /NAND_FLASH_GPIO
MEMORY / SD-MMC / MCI
MEMORY / SD-MMC / SPI
MEMORY / SDRAM / MT48LC16M16A2TG7E
TOUCH / QT1081
TOUCH / QT60168
TOUCH / RESISTIVE_TOUCH
WIFI / HD
SERVICES
AUDIO / AUDIO_MIXER
AUTOBAUD
DELAY
DSPLIB
FAT
FREERTOS
LWIP
MEMORY / CTRL_ACCESS
MEMORY / MEMORY_MANAGER /
DLMALLOC
PICTURE / JPG
POLARSSL
USB / CLASS / AUDIO
USB / CLASS / CDC
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
UC3A3
UC3A4
UC3A3S
UC3A4S
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
UC3B
UC3C
UC3L
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
UC3A0
UC3A1
X
X
X
X
X
X
X
X
X
UC3A3
UC3A4
X
X
X
X
X
X
X
X
X
UC3A3S
UC3A4S
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
UC3B
UC3C
UC3L
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
USB / CLASS / DFU
USB / CLASS / HID
USB / CLASS / MASS_STORAGE
UTILS
AVR32_HEADER_FILES
DEBUG
LIBS / DRIVERS
LIBS / DSPLIB
LINKER_SCRIPTS
PREPROCESSOR
STARTUP_FILES
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
UC3A0
UC3A1
X
X
X
X
X
X
X
UC3A3
UC3A4
X
X
X
X
X
X
X
UC3A3S
UC3A4S
X
X
X
X
X
X
X
UC3B
UC3C
UC3L
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
4 News
This section describes the changes between the 1.6.1 and the 1.7.0 releases.
4.1 New Features
•
COMPONENTS/WIFI/HD:
Update SDIO/SPI H&D stack to v2.1.1. Add example for EVK1101.
•
DRIVERS/DACIFB: add support for UC3C.
•
lwIP: upgrade to version 1.3.2
•
DRIVERS/AST:
Add EXAMPLE1 and EXAMPLE2 for UC3L_EK board.
•
DRIVERS/HMATRIX:
Add HMATRIX an example that shows how to configure last master default.
•
DRIVERS/PM/EXAMPLE3:
New example that shows how to use the RC120M internal oscillator as main clock source and do a Generic
clock configuration.
•
SERVICES/FREERTOS/Demo/lwIP_AVR32_UC3_DHCP:
Add lwIP example with DHCP enabled.
•
UTILS/parts.h, this include is called in UTILS/compiler.h
This new include file contains a set of macro which can be used to identify a UC3 series.
Available macros are:
o UC3A, UC3A0, UC3A1, UC3A3
o UC3B, UC3B0, UC3B1
o UC3C, UC3C0, UC3C1, UC3C2
o UC3L, UC3L0
4.2 Notable Bug Fixes and Improvements
•
DRIVERS/PM/pm_uc3l.h, DRIVERS/PM/power_clocks_lib.c, DRIVERS/SCIF/scif_uc3l.h:IAR warnings
fixes.
•
COMPONENTS/MEMORY/SD_MMC/SD_MMC_MCI/sd_mmc_cmd.h: fix high speed switch command
SD_SWITCH_FUNC definition..
•
SERVICES/USB/CLASS/DFU/EXAMPLES/ISP/AT32UC3A/GCC/post-build.sh,
SERVICES/USB/CLASS/DFU/EXAMPLES/ISP/AT32UC3A/IAR/post-build.sh,
SERVICES/USB/CLASS/DFU/EXAMPLES/ISP/AT32UC3B/GCC/post-build.sh,
SERVICES/USB/CLASS/DFU/EXAMPLES/ISP/AT32UC3B/IAR/post-build.sh,
SERVICES/USB/CLASS/DFU/EXAMPLES/ISP/AT32UC3B0512_REVC/IAR/post-build.sh: For the
general-purpose fuses, only program the BOOTPROT fields (leave the other fields unchanged from after a
chiperase).
•
UTILS/AVR32_HEADER_FILES/avr32-headers.zip: synchronize the header files with the AVR UC3 GNU
toolchain release 2.4.2.
•
APPLICATIONS/EVK1100-CONTROL-PANEL/USB/APPLI/MASS_STORAGE/host_mass_storage_task.c:
DRIVERS/MACB/macb.c,
SERVICES/LWIP/lwip-port-1.3.2/AT32UC3A/include/arch/cc.h:
Fix wrong preprocessor syntax usage and compilation warnings.
•
BOARDS/UC3L_EK/uc3l_ek.h:
Remove missing defines temporary workaround and add missing defines as a temporary workaround.
•
APPLICATIONS/EVK1100-CONTROL-PANEL
Makefile has been updated to supported LwIP 1.3.2.
•
COMPONENTS/DISPLAY/ET024006DHU/EXAMPLE/BMP24_TO_RGB16CARRAY:
Fix the output of imageconv.c (add #endif, fix \author, removed spurious \n).
•
COMPONENTS/WIFI/HD/EXAMPLE
Makefile has been updated to support LwIP 1.3.2.
•
DRIVERS/AST/ast.c:
Remove scif_start_osc32 call in ast.c. It is required starting osc32 in the application. ast.c is no more
dependent from SCIF.
•
DRIVERS/USBB/ENUM/HOST/usb_host_enum.,.h:
Rename the class field of the S_interface structure to uclass to avoid a syntax conflict with C++.
•
DRIVERS/TWIM/twim.c :
Overflow issue in the Clock Waveform Generator Register.
•
DRIVERS/AST:
Update AST driver to support UC3L.
•
DRIVERS/SSC/I2S/ssc_I2s.h:
Remove some definitions that are now present in the header files.
•
DRIVERS/PM/pm.c:
pm_enable_module() & pm_disable_module(): C implementation bug fix.
•
DRIVERS/SCIF/scif_uc3l.c::scif_dfll0_closedloop_start() & scif_dfll0_closedloop_configure_and_start(),
DRIVERS/SCIF/scif_uc3l.h::scif_dfll_closedloop_conf_t structure,
DRIVERS/SCIF/EXAMPLE1_UC3L/scif_example1.c::local_start_dfll_clock(),
DRIVERS/SCIF/EXAMPLE2_UC3L/scif_example2.c::local_start_dfll_clock():
Updates according to register DFLL0STEP differences between UC3L revB and UC3L revC+higher.
•
DRIVERS/SCIF/scif_uc3l.h, DRIVERS/PM/pm_uc3l.h:
Remove unnecessary preprocessor condition.
•
DRIVERS/GPIO/LOCAL_BUS_EXAMPLE/gpio_local_bus_example.c,
DRIVERS/PM/EXAMPLE1/pm_example1.c,
DRIVERS/PM/EXAMPLE2/pm_example2.c,
DRIVERS/PM/power_clocks_lib.c,
DRIVERS/PM/power_clocks_lib.h,
DRIVERS/GPIO/gpio.c ,
DRIVERS/GPIO/gpio.h:
Added support of AT32UC3L064 revB.
•
Lwip:
Fix problem in all ethernet.c file. Avoid data movement to same TCP/IP core functions from two different
thread contexts.
This fix has been applied on Lwip demo, EVK1100 control panel and SSL demo.
•
SERVICES/USB/CLASS/DFU/EXAMPLES/ISP/:
Added the HISTORY/V1.0/ folder with source files and instructions to rebuild a USB DFU Bootloader v1.0.
•
SERVICES/USB/CLASS/DFU/EXAMPLES/ISP:
Update the USB DFU Bootloader to version 1.1.0 (same feature set as the USB DFU Bootloader v1.0.3,
different implementation).
There are, to this date, no AVR UC3 devices programmed with the 1.1.0 USB DFU Bootloader; thus no
Releases/ folder contain an AT32UC3xx-ISP-1.1.0/ sub-folder yet.
•
SERVICES/LWIP
Add Lwip-1.3.0 and lwip-port-1.3.2
Remove Lwip-1.2.0 and lwip-port-1.2.0
•
SERVICES/FREERTOS/Demo
Remove lwIP_AVR32_UC3 and rename lwIP130_AVR32_UC3 to lwIP_AVR32_UC3
Source code present in lwIP_AVR32_UC3 has been updated to support LwIP 1.3.2
•
SERVICES/FREERTOS/Demo/Common/ethernet
Remove lwIP and rename lwIP_130 to lwIP
Source code in LwIP has been updated from version 1.3.0 to version 1.3.2
•
SERVICES/AUTOBAUD/autobaud.c:
Fixed the non 64bit computation without built-in operators for IAR.
For IAR, use the 64bit computation with built-in operators because it is more optimized.
•
SERVICES/USB/CLASS/DFU/EXAMPLES/ISP/AT32UC3A3/IAR/:
Updated the project to EW AVR32 v3.21G, set the device property to AT32UC3A3256, saved the new
binaries generated with the new autobaud.
•
DRIVERS/EBI/SMC/smc.c: add missing "#undef NWE_HOLD".
•
BOARDS/UC3L_EK/uc3l_ek.h: add an ADCIFB channel mask define for each output of the on-board
accelerometer.
4.3 Known Bugs and Limitations
•
Some software modules do not provide EXAMPLE subdirectories (e.g. /DRIVERS/SPI/).
•
The header files of the Software modules are not C++-ready.
•
The AVR32Studio Managed Make tutorial does not work if it is loaded with the USB DFU bootloader.
•
DRIVERS/ABDAC: the software driver and the example are poorly documented.
•
APPLICATIONS\EVK11xx_UC3B_VIRTUAL_COM_PORT and \SERVICES\USB\CLASS\CDC:
Some characters may be dropped using Linux and CDC ACM driver.
•
UTILS/NEWLIB_ADDONS/cpu.c: The udelay() function does only work if the CPU frequency is equal
to the PBA frequency.
•
It is not recommended to use newlibaddon with –nostartfiles option from linker. This will avoid printf
function to be redirected to USART. printf message will be redirected to a console.
• The GCC 2.4.2 builds of the current v1.1.0 USB DFU Bootloader are all over 8kB. The same code fits
under 8kB when compiled with IAR 3.21G.
5 Contact Information
For support on the UC3 Software Framework please see http://support.atmel.no/.
Users of the AVR UC3 Software Framework are also welcome to discuss on the AVRFreaks website
(http://www.avrfreaks.net/) forum for AVR32 Software Tools.
6 Copyright (c) 2009 Atmel Corporation. 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. The name of Atmel may not be used to endorse or promote products derived
from this software without specific prior written permission.
4. This software may only be redistributed and used in connection with an Atmel
AVR product.
THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL 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