AVR Software Framework (ASF-2.0.0.) – Technology Preview.pdf

(59 KB) Pobierz
Microsoft Word - asf-releasenotes.doc
Release Notes
AVR Software Framework (ASF) – Technology Preview
Release version: 2.0.0
Release date: 2010-07-01
This package supports:
-
AVR UC3 ( www.atmel.com/uc3 )
AVR UC3 A0 and A1 devices revision H and later.
AVR UC3 B devices revision F and later.
AVR UC3 A3/A4 devices revision E and later.
AVR UC3 A3xS/A4xS devices revision E and later.
AVR UC3 C devices revision C.
AVR UC3 L devices revision B and later.
-
AVR XMEGA ( www.atmel.com/xmega )
AVR XMEGA A1
AVR XMEGA A3
AVR XMEGA A3B
AVR XMEGA A4
AVR XMEGA D3
AVR XMEGA D4
Supported tools:
-
AVR32 GNU Toolchain (2.4.2) with GCC version: 4.3.2-atmel.1.2.0 (mingw32 special)
-
AVR32 Studio version: 2.5
-
IAR EWAVR32 v3.30 with updated header files for the UC3 A3 and UC3 A3xS, UC3C C revision C, UC3 L
series (unzip the avr32/utils/header_files/avr32-headers.zip under <your IAR installation folder>/Embedded
Workbench x.x/avr32/inc/).
-
IAR EWAVR version 5.50
-
WinAVR version 20100110
1 Overview
The AVR® Software Framework (ASF) consists of AVR microcontroller drivers, software services & libraries, and
demonstration applications for the AVR XMEGA and UC3 series.
Each software module is provided with full source code, example of usage, rich html documentation and ready-to-use
projects for the IAR EWAV and GNU GCC compilers.
2 Downloading and Installing
This software can be found on this URL: www.atmel.no/asf .
3 News
This section describes the changes between the version 1.7.0 (a.k.a. UC3 Software Framework) and the 2.0.0 releases.
3.1 General
ASF now supports AVR XMEGA (/xmega folder) and UC3 series (/avr32 folder)
Add a new software layer in services/basic folder with shared API between XMEGA and UC3 series.
o
/services/basic/clock: system clock management
o
/services/basic/cpu: reset cause
o
/services/basic/gpio (XMEGA only): IO
o
/services/basic/hugmem: huge data memory space access
o
/services/basic/sleepmgr: sleep manager
o
/services/basic/spi: SPI
o
/services/basic/twi: TWI
3.2 AVR XMEGA
New Features
Add support of AVR XMEGA series to the ASF.
o
Available XMEGA drivers:
 
AC
 
ADC
 
Reset cause
 
DAC
 
DMA
 
EBI
 
IOPORT
 
NVM
 
PMIC
 
RTC
 
RTC32
 
Sleep
 
SPI
 
TWI
 
USART
o
Support Xplain and STK600 boards.
Notable Bug Fixes and Improvements
Known Bugs and Limitations
3.3 AVR UC3
New Features
applications/uc3l-ek-touch-demo/: AT32UC3L-EK demonstration application that interfaces with
QTouchStudio and controls the LEDs with the on-board touch sensors. It is using the Atmel QTouch Libraries
for the AVR UC3 L0 series.
applications/uc3-uart-bootloader/: ISP application, allowing r/w access to several on-chip memories through a
UART interface, in short a RS232 bootloader.
applications/evk11xx-uc3b-usb-hid-qtouch-debug: USB HID QTouch Studio firmware which allows debug
mode through USB in QTouch Studio.
applications/evk11xx-uc3b-bootselector: boot application for the UC3L-EK UC3B MCU which selects the
USB HID QTouch firmware or USB VPC firmware at startup.
Add LodePNG decoder version 20100314 (http://members.gamedev.net/lode/projects/LodePNG/) in
services\graphics\codec\png\lodepng.
services\dsp\dsplib\examples\mfcc: Added the Mel Frequency Cepstral Coefficients (MFCCs) algorithm used
for speech recognition.
services\network\tcpip\lwip\example: Add a standalone (no OS) lwIP TCP/IP stack example – ethernet point-
to-point configuration only, DHCP is not supported.
services\fs\fat: Update FAT32 to support up to 2TB (previous limit 256GB)
services\basic\fifo: Add a generic FIFO driver that can be used for any kind of communication processes.
Notable Bug Fixes and Improvements
Major architecture changes from the UC3 Software Framework version 1.7.0
o
All folder names are in lower cases.
o
UTILS\STARTUP_FILES\GCC\crt0.S is moved to utils\startup\startup_uc3.S.
o
DRIVERS\USBB is moved to drivers\usbb\_asf_v1.
o
SERVICES\USB\CLASS\DFU\EXAMPLES\ISP\BOOT\trampoline.S,.s82 is moved to
utils\startup\trampoline_uc3.S,.s82.
o
SERVICES\USB\CLASS\DFU\EXAMPLES\ISP\AT32UC3C0512C_REVC\trampoline.S,.s82 is
moved to utils\startup\trampoline_uc3c_revc.S,.s82.
o
SERVICES\USB\ is moved to services\usb\_asf_v1 (USB stack from ASF v1.x), in order to later
support a new version of the USB stack.
o
SERVICES\FAT is moved to services\fs\fat.
o
SERVICES\DELAY is moved to services\basic\delay.
o
SERVICES\MEMORY is renamed in services\storage.
o
SERVICES\LWIP is moved to \services\network\tcpip\lwip.
o
SERVICES\FREERTOS is moved to services\os\freertos.
o
SERVICES\DSPLIB is moved to services\dsp\dsplib.
o
SERVICES\POLARSSL is moved to services\crypto\polarssl.
o
SERVICES\PICTURES\JPEG\IJG is moved to services\graphics\codec\jpg\ijg.
o
SERVICES\AUTOBAUD is moved to services\basic\autobaud.
o
APPLICATIONS\EVK1104-DEMO is renamed to applications\evk1104-usb-msc-sd-demo.
o
APPLICATIONS\EVK1104-EVK1105-DSPLIB-DEMO is renamed to applications\uc3-dsplib-demo.
o
APPLICATIONS\AT32UC3C_EK_CAN_LIN_LOOPBACKS_DEMO is renamed to
applications\uc3c_ek-can-lin-loopbacks-demo
o
SERVICES\FREERTOS\Demo\AVR32_UC3 is renamed in
services\os\freertos\demo\avr32_uc3_example.
o
SERVICES\FREERTOS\Demo\lwIP_AVR32_UC3 is remaned in
services\os\freertos\demo\lwip_avr32_uc3_example.
o
SERVICES\FREERTOS\Demo\lwIP_AVR32_UC3_DHCP is renamed in
services\os\freertos\demo\lwip_avr32_uc3_dhcp_example.
services/os/freertos/source/portable/:
Fixed bad context switching leading to unpredictable behavior in this tricky case:
A Tick interrupt is triggered in vTaskDelayUntil while this function was preparing a task switching in a critical
section.
utils/libs/dsplib and services/dsp/dsplib: Fixed missing #include of dsp.h leading to compilation of
unoptimized generic functions:
trans_dsp16_complex_fft.c
trans_dsp16_complex_ifft.c
trans_dsp16_realcomplex_fft.c
trans_dsp32_realcomplex_fft.c
boards/uc3l_ek/uc3l_ek.h: Add signal connections on the WLESS connector.
utils/compiler.h: Fixed __count_leading_zeros intrinsic that is broken in IAR 3.30.1 and 3.30.2.
services/network/can: move drivers/canif/can.c-.h with example1&2.
drivers/usbb/_asf_v1/:
Fixed tricky bug when using the audio application: the pipes needs to be configured in DOUBLE_BANK,
otherwise some audio clicks may (will...) appear if the CPU needs sometimes to take more than 1 ms to
process an audio packet. This happens with the re-sampling algorithm V2 (+20% CPU needed compared to
V1).
drivers/twi/: fixed the "burst" of TWI master interrupts between the transmission of the last character and the
end of the frame, leading to unexpected CPU workload.
drivers/eic/eic.h: add defines missing from the system header files.
drivers/eic/example1/: port the example to the AT32UC3L-EK board.
drivers/pm/pm_uc3c.h, pm_uc3l.h: remove the pm_sleep() macro; create a pm_sleep() function in sleep.h.
drivers/scif/example3_uc3l/scif_example3.c: use the SLEEP() macro instead of pm_sleep().
drivers/eic/example1/eic_example1.c: Move the init and setting of the LED0 GPIO to one place.
applications/evk11xx_uc3b_virtual_com_port/: Make use of the STOP sleep mode rather than the STATIC
sleep mode. This fixes spurious VBUS transition interrupts that prevent the part from entering in the sleep
mode.
drivers/pm/sleep.h: new file to act as a stub on the PM sleep feature for the new sleepmgr service.
drivers/spi/spi.h, spi.c: changed the pba frequency variable type from 16-bit to 32-bit in order to avoid
overflows.
drivers/flashc/flashc.h, flashc.c: add void flashc_set_bus_freq(unsigned int cpu_f_hz) (and
flash_set_bus_freq() as an alias on the former) that sets the appropriate
flash wait state depending on the target CPU frequency.
drivers/flashcdw/flashcdw.h : add flash_set_bus_freq() as an alias to
flashcdw_set_flash_waitstate_and_readmode().
boards/evk1100/evk1100.h, boards/evk1101/evk1101.h, boards/evk1104/evk1104.h,
boards/evk1105/evk1105.h: Add oscillator definitions usable by the new clock service. These include frequency,
startup times and oscillator type for OSCn. BOARD_OSCn_HZ currently overlaps the existing FOSCn defines,
but the former has a better name and should eventually supersede the latter.
drivers/flashcdw/flash_example/flash_example.c: set the variable user_nvram_data as __no_init for IAR so
that the binary can be programmed through batchisp and a bootloader.
drivers/usbb/_asf_v1: fixed bad management of the USB SOF interrupt, leading sometimes to a deadlock in
the timeout detection.
services/crypto/polarssl: udpate from version 0.12.1 to 0.13.1.
Features
Added option parsing for host and port selection to ssl_client2
Added support for GeneralizedTime in X509 parsing
Added cert_app program to allow easy reading and printing of X509 certificates from file or SSL connection.
Changes
Added const correctness for main code base
X509 signature algorithm determination is now in a function to allow easy future expansion
Changed symmetric cipher functions to identical interface (returning int result values)
Changed ARC4 to use seperate input/output buffer
Added reset function for HMAC context as speed-up for specific use-cases
Bug fixes
Fixed bug resulting in failure to send the last certificate in the chain in ssl_write_certificate() and
ssl_write_certificate_request() (found by fatbob)
Added small fixes for compiler warnings on a Mac (found by Frank de Brabander)
Fixed algorithmic bug in mpi_is_prime() (found by Smbat Tonoyan)
drivers/ast/example2/: add precautions as mentioned by the datasheet before entering the static sleep mode.
components/wifi/hd: Update H&D WIFI stack version from 2.1.1 to 2.3 :
Added features for this release
- Enhanced throughput
- Support for all EVK platforms for SPBFW_DOWNLOAD
- Allow static IP configuration in http demo
- TTCP Improvements
- Add support for SPI and SPB105 on EVK1104.
Fixed bugs:
- #133 Remove patched framework files included in release
- #156 connection manager starts even though no network is set
- #158 Scan command in GUI does not handle scan properly
- #179 HTTP server occasionally hangs on EVK1104
- #193 Potential HTTP server web page buffer overflow
- #196 Indicate that no WiFi card in GUI (if not present)
- #210 Trailing '?' characters not handled in URL queries (Safari/Opera Refresh bug).
Known bugs in this release (2.3)
- PSK generation is quite slow (on the order of 10 seconds) which manifests by the connect command
or the wl_connect() call taking around 10 seconds to complete when the network uses WPA/WPA2
pre-shared key.
- #203 ttcp error handling is not robust.
\drivers\usbb\_asf_v1/, services\usb\_asf_v1\class\hid\examples: Implement the USB Remote Wakeup
function. The HID Mouse example for the EVK1105 will wake up the HOST after a suspend when pressing
the center touch button of the kit.
\services\dsp\dsplib\generic\advanced\resampling: Improved the re-sampling algorithm. See the
documentation for more details \services\dsp\dsplib\resampling.pdf
Zgłoś jeśli naruszono regulamin