Release Notes - AT91 Software Package -------------------------------------- Release version: 1.4 Release date: 2008-04-30 1 Overview ---------- The AT91SAM Software Package consists of AT91 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 GNU GCC and IAR EWARM compilers. 2 Downloading and Installing ---------------------------- The software can be downloaded from Atmel's website at http://www.atmel.com/products/AT91/ under the "Tools & Software" menu. There is one package for each supported chip: - AT91SAM7A3-EK: softpack-1.4-at91sam7a3-ek-web.zip - AT91SAM7S-EK: softpack-1.4-at91sam7s-ek-web.zip - AT91SAM7SE-EK: softpack-1.4-at91sam7se-ek-web.zip - AT91SAM7X-EK: softpack-1.4-at91sam7x-ek-web.zip - AT91SAM7XC-EK: softpack-1.4-at91sam7xc-ek-web.zip - AT91SAM7L-EK: softpack-1.4-at91sam7l-ek-web.zip - AT91SAM7L-STK: softpack-1.4-at91sam7l-stk-web.zip - AT91SAM9260-EK: softpack-1.4-at91sam9260-ek-web.zip - AT91SAM9261-EK: softpack-1.4-at91sam9261-ek-web.zip - AT91SAM9263-EK: softpack-1.4-at91sam9263-ek-web.zip - AT91SAM9RL-EK: softpack-1.4-at91sam9rl-ek-web.zip - AT91SAM9XE-EK: softpack-1.4-at91sam9xe-ek-web.zip - AT91SAM9G20-EK: softpack-1.4-at91sam9g20-ek-web.zip - AT91CAP9-DK: softpack-1.4-at91cap9-dk-web.zip - AT91CAP9-STK: softpack-1.4-at91cap9-stk-web.zip Unzip the package zip file under a local folder on your PC or Linux workstation. Open the \softpack-1.4-at91sam***-ek-web\index.html file to browse through the documentation. 3 Contents ----------- The following tables shows the available examples for each development kit in all software package version: - A: available under GCC and IAR - G: available under GCC only - I: available under IAR only - /: example is not supported by the board .------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------. | Ver | Example | SAM7A3 | SAM7S | SAM7SE | SAM7X | SAM7XC | SAM7L-EK | SAM7L-STK | Example | SAM9260 | SAM9261 | SAM9263 | SAM9RL64 | SAM9XE | SAM9G20 | CAP9-STK | CAP9-DK | |-----+----------------------------+--------+-------+--------+-------+--------+----------+-----------+----------------------------+---------+---------+---------+----------+--------+---------+----------+---------| | 1.4 | | | | | | | | | | | | | | | | | | | | Getting Started | A | A | A | A | A | A | A | Getting Started | A | A | A | A | A | A | A | A | | | Basic AC97 |////////|///////|////////|///////|////////|//////////|///////////| Basic AC97 |/////////|/////////| A | A |////////|/////////|//////////| A | | | Basic AES |////////|///////|////////|///////| A |//////////|///////////| Basic AES | A |/////////|/////////|//////////| A |/////////|//////////|/////////| | | Basic Barometer |////////|///////|////////|///////|////////| A |///////////| Basic Barometer |/////////|/////////|/////////|//////////|////////|/////////|//////////|/////////| | NEW | Basic Calculator |////////|///////|////////|///////|////////| A |///////////| Basic Calculator |/////////|/////////|/////////|//////////|////////|/////////|//////////|/////////| | NEW | Basic CAN | A |///////|////////| A | A |//////////|///////////| Basic CAN |/////////|/////////| A |//////////|////////|/////////|//////////|/////////| | | Basic Dhrystone | A | A | A | A | A |//////////|///////////| Basic Dhrystone |/////////| A | A | A |////////| A | A | A | | NEW | Basic EMAC |////////|///////|////////| A | A |//////////|///////////| Basic EMAC | A |/////////| A |//////////|////////| A |//////////| A | | NEW | Basic EMAC lwIP |////////|///////|////////| G | G |//////////|///////////| Basic EMAC lwIP | G |/////////| G |//////////|////////| G |//////////| G | | NEW | Basic EMAC µIP |////////|///////|////////| G | G |//////////|///////////| Basic EMAC µIP | G |/////////| G |//////////|////////| G |//////////| G | | | Basic Internal Flash | A | A | A | A | A | A | A | Basic Internal Flash |/////////|/////////|/////////|//////////| A |/////////|//////////|/////////| | NEW | Basic ISO7816 | A | A | A | A | A | A | A | Basic ISO7816 | A |/////////| A | A |////////| A |//////////|/////////| | | Basic Keyboard Matrix |////////|///////|////////|///////|////////| A |///////////| Basic Keyboard Matrix |/////////|/////////|/////////|//////////|////////|/////////|//////////|/////////| | | Basic LCD |////////|///////|////////|///////|////////|//////////|///////////| Basic LCD |/////////| A | A | A |////////|/////////| A | A | | NEW | Basic Low Power |////////|///////|////////|///////|////////| A | A | Basic Low Power |/////////|/////////|/////////|//////////|////////|/////////|//////////|/////////| | NEW | Basic Nandflash |////////|///////| A |///////|////////|//////////|///////////| Basic Nandflash | A | A | A | A | A | A | A | A | | NEW | Basic Norflash |////////|///////| A |///////|////////|//////////|///////////| Basic Norflash | A |/////////| A | A | A | A |//////////| A | | | Basic PWM | A | A | A | A | A | A | A | Basic PWM |/////////|/////////| A | A |////////|/////////|//////////|/////////| | | Basic RTT | A | A | A | A | A |//////////|///////////| Basic RTT | A | A | A | A | A | A | A | A | | | Basic RTC |////////|///////|////////|///////|////////| A | A | Basic RTC |/////////|/////////|/////////| A |////////|/////////|//////////|/////////| | | Basic SD Card | A |///////|////////|///////|////////|//////////|///////////| Basic SD Card |/////////| A | A | A |////////| A | A | A | | | Basic SPI Dataflash | A | A | A | A | A | A | A | Basic SPI Dataflash | A | A | A | A | A | A | A | A | | | Basic SPI Serialflash | A | A | A | A | A | A | A | Basic SPI Serialflash | A | A | A | A | A | A | A | A | | | Basic SLCD |////////|///////|////////|///////|////////| A | A | Basic SLCD |/////////|/////////|/////////|//////////|////////|/////////|//////////|/////////| | NEW | Basic SSC I2S AT73C213 |////////|///////| A |///////|////////|//////////|///////////| Basic SSC I2S AT73C213 | A |/////////|/////////| A |////////|/////////|//////////|/////////| | NEW | Basic Touchscreen |////////|///////|////////|///////|////////|//////////|///////////| Basic Touchscreen |/////////|/////////|/////////| A |////////|/////////|//////////|/////////| | | Basic Triple-DES |////////|///////|////////|///////| A |//////////|///////////| Basic Triple-DES |/////////|/////////|/////////|//////////| A |/////////|//////////|/////////| | | Basic TWI EEPROM | A | A | A | A | A | A | A | Basic TWI EEPROM | A | A | A | A | A | A |//////////| A | | NEW | Basic USART HW Handshaking |////////| A | A | A | A | A | A | Basic USART HW Handshaking | A |/////////| A |//////////|////////| A |//////////|/////////| | | Demo SAM7L-EK |////////|///////|////////|///////|////////| A |///////////| Demo SAM7L-EK |/////////|/////////|/////////|//////////|////////|/////////|//////////|/////////| | | LCD Slideshow |////////|///////|////////|///////|////////|//////////|///////////| LCD Slideshow |/////////| A | A | A |////////|/////////| A | A | | NEW | USB Audio AT73C213 |////////|///////| A |///////|////////|//////////|///////////| USB Audio AT73C213 | A |/////////|/////////| A |////////|/////////|//////////|/////////| | NEW | USB Audio AC97 |////////|///////|////////|///////|////////|//////////|///////////| USB Audio AC97 |/////////|/////////| A | A |////////|/////////|//////////|/////////| | NEW | USB CCID | A | A | A | A | A |//////////|///////////| USB CCID | A |/////////| A |//////////|////////| A |//////////|/////////| | | USB CDC |////////| A | A | A | A |//////////|///////////| USB CDC | A |/////////| A | A | A | A |//////////|/////////| | | USB Enumeration | A | A | A | A | A |//////////|///////////| USB Enumeration | A | A | A | A | A | A |//////////|/////////| | | USB HID | A | A | A | A | A |//////////|///////////| USB HID | A | A | A | A | A | A |//////////|/////////| | | USB Mass storage | A | A | A | A | A |//////////|///////////| USB Mass storage | A | A | A | A | A | A | A | A | '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------' .---------------------------------------------------------------------------------------------------------------------------------. | Ver | Example | SAM7S | SAM7SE | SAM7X | SAM7XC | SAM7L-EK | SAM9260 | SAM9261 | SAM9263 | SAM9RL64 | SAM9XE | |-----+----------------------------+-------+--------+-------+--------+----------+---------+---------+---------+----------+--------| | 1.3 | | | | | | | | | | | | | | Getting Started | A | A | A | A | A | A | A | A | A | A | | | Basic AC97 |///////|////////|///////|////////|//////////|/////////|/////////| A | A |////////| | | Basic AES |///////|////////|///////| A |//////////| A |/////////|/////////|//////////| A | | NEW | Basic Barometer |///////|////////|///////|////////| A |/////////|/////////|/////////|//////////|////////| | | Basic Dhrystone | A | A | A | A |//////////|/////////| A | A | A |////////| | | Basic Internal Flash | A | A | A | A | A |/////////|/////////|/////////|//////////| A | | NEW | Basic Keyboard Matrix |///////|////////|///////|////////| A |/////////|/////////|/////////|//////////|////////| | | Basic LCD |///////|////////|///////|////////|//////////|/////////| A | A | A |////////| | | Basic PWM | A | A | A | A | A |/////////|/////////| A | A |////////| | | Basic SD Card |///////|////////|///////|////////|//////////|/////////| A | A | A |////////| | | Basic SPI Dataflash | A | A | A | A | A | A | A | A | A | A | | | Basic SPI Serialflash | A | A | A | A | A | A | A | A | A | A | | | Basic RTT | A | A | A | A |//////////| A | A | A | A | A | | NEW | Basic RTC |///////|////////|///////|////////| A |/////////|/////////|/////////| A |////////| | NEW | Basic SLCD |///////|////////|///////|////////| A |/////////|/////////|/////////|//////////|////////| | | Basic Triple-DES |///////|////////|///////| A |//////////|/////////|/////////|/////////|//////////| A | | | Basic TWI EEPROM | A | A | A | A | A | A | A | A | A | A | | NEW | Demo SAM7L-EK |///////|////////|///////|////////| A |/////////|/////////|/////////|//////////|////////| | | LCD Slideshow |///////|////////|///////|////////|//////////|/////////| A | A | A |////////| | | USB CDC | A | A | A | A |//////////| A |/////////| A | A | A | | | USB Enumeration | A | A | A | A |//////////| A | A | A | A | A | | | USB HID | A | A | A | A |//////////| A | A | A | A | A | | | USB Mass storage | A | A | A | A |//////////| A | A | A | A | A | '---------------------------------------------------------------------------------------------------------------------------------' .------------------------------------------------------------------------------------------------------------. | Ver | Example | SAM7S | SAM7SE | SAM7X | SAM7XC | SAM9260 | SAM9263 | SAM9RL64 | SAM9XE | |-----+----------------------------+-------+--------+-------+--------+---------+---------+----------+--------| | 1.2 | | | | | | | | | | | | Getting Started | A | A | A | A | A | A | A | A | | | Basic AC97 |///////|////////|///////|////////|/////////| A | A |////////| | | Basic AES |///////|////////|///////| A | A |/////////|//////////| A | | | Basic Dhrystone | A | A | A | A |/////////| A | A |////////| | NEW | Basic Internal Flash | A | A | A | A |/////////|/////////|//////////| A | | | Basic LCD |///////|////////|///////|////////|/////////| A | A |////////| | NEW | Basic PWM | A | A | A | A |/////////| A | A |////////| | | Basic SD Card |///////|////////|///////|////////|/////////| A | A |////////| | | Basic SPI Dataflash | A | A | A | A | A | A | A | A | | | Basic SPI Serialflash | A | A | A | A | A | A | A | A | | | Basic RTT | A | A | A | A | A | A | A | A | | | Basic Triple-DES |///////|////////|///////| A | A |/////////|//////////| A | | | Basic TWI EEPROM | A | A | A | A | A | A | A | A | | | LCD Slideshow |///////|////////|///////|////////|/////////| A | A |////////| | | USB CDC | A | A | A | A | A | A | A | A | | | USB Enumeration | A | A | A | A | A | A | A | A | | | USB HID | A | A | A | A | A | A | A | A | | | USB Mass storage | A | A | A | A | A | A | A | A | '------------------------------------------------------------------------------------------------------------' .------------------------------------------------------------------------------------------. | Ver | Example | SAM7S | SAM7X | SAM7XC | SAM9260 | SAM9263 | SAM9RL64 | |-----+----------------------------+-------+-------+--------+---------+---------+----------| | 1.1 | | | | | | | | | | Getting Started | A | A | A | A | A | A | | NEW | Basic AC97 |///////|///////|////////|/////////| A | A | | NEW | Basic AES |///////|///////| A | A |/////////|//////////| | | Basic Dhrystone | A | A | A |/////////| A | A | | | Basic LCD |///////|///////|////////|/////////| A | A | | | Basic SD Card |///////|///////|////////|/////////| A | A | | | Basic SPI Dataflash |///////| A | A | A | A | A | | | Basic SPI Serialflash | A | A | A | A | A | A | | NEW | Basic RTT | A | A | A | A | A | A | | NEW | Basic Triple-DES |///////|///////| A | A |/////////|//////////| | NEW | Basic TWI EEPROM | A | A | A | A | A | A | | | LCD Slideshow |///////|///////|////////|/////////| A | A | | | USB CDC | A | A | A | A | A | A | | | USB Enumeration | A | A | A | A | A | A | | | USB HID | A | A | A | A | A | A | | | USB Mass storage | A | A | A | A | A | A | '------------------------------------------------------------------------------------------' .-------------------------------------------------------------. | Ver | Example | SAM7X | SAM7XC | SAM9263 | |-----+----------------------------+-------+--------+---------| | 1.0 | | | | | | | Getting Started | A | A | A | | | Basic Dhrystone | G | G | G | | | Basic LCD |///////|////////| G | | | Basic SD Card |///////|////////| G | | | Basic SPI Dataflash | G | G | G | | | Basic SPI Serialflash | G | G | G | | | LCD Slideshow |///////|////////| G | | | USB CDC | G | G | G | | | USB Enumeration | G | G | G | | | USB HID | G | G | G | | | USB Mass storage | G | G | G | '-------------------------------------------------------------' 4 Changes --------------------- 1.4 --- Additions: - Added SAM7A3-EK, SAM7L-STK, SAM9G20-EK, CAP9-DK and CAP9-STK to the list of supported boards. - Added USB Device Audio Speaker Project (AC97 & AT73C213) example. - Added Basic NorFlash example. - Added Basic NandFlash example. - Added Basic ISO7816 example & USB Device CCID example. - Added Basic SSC-I2S (using on-board AT73C213) example. - Added Basic EMAC (three versions : simple, with lwIP and with µIP) examples. - Added Basic Calculator example. - Added Basic Low Power example. - Added Basic CAN example. - Added Basic USART Hardware Handshaking example. - Added Basic Touchscreen example. Major bug corrections: - Basic-sdcard-project was broken in v1.3 and now works properly again, with added multiblock commands. - Basic-dhrystone-project was doing single calls to testloop(), resulting in a drastic loss of performance due to the loop code overhead. This has been fixed and results are now in line with what they should be. Minor bug corrections: - The memory being compiled (flash, sdram, sram, etc.) is now available in the C code as a global #define. - Useless SDRAM configuration in basic-ac97-project could prevent the project from running properly and has been removed. - Low level initialization functions now disable PIT & RTT interrupts, to avoid conflicts on the shared AT91C_ID_SYS IRQ. - Projects that were defining a big buffer on the stack (basic-dataflash-project, basic-twi-eeprom-project) have been modified to declare it in the data section instead, to avoid run-time stack overflow. - Symbols used in IAR .icf files are now exported so they can be referenced in the C code. - Renamed the .zero section to .bss in all .lds files to avoid potential problems with the linker which sometimes forces symbols to appear in a .bss section, even if it does not exist. - Bigger memories are now compiled first by Makefiles (sdram > flash > norflash > sram). - Many warnings reported by IAR have been removed by changing the code appropriately. - All board.h files now include #defines for the chip family & board (at91sam7s, at91sam7s-ek). - PIO_InitializeInterrupts() now correctly resets the number of configured interrupts to 0. - TC_FindMckDivisor() now behaves properly with SAM9's and CAP9 (CLOCK5 is SLCK, not MCK/1024). 1.3 --- Additions: - Added SAM7L-EK and SAM9261-EK to the list of supported boards. - Added Basic Barometer example. - Added Basic Keyboard Matrix example. - Added Basic Segment LCD example. - Added Basic RTC example. - Added SAM7L-EK demo. - Added multi-block support to Basic SDCard example. Major bug corrections: - None. Minor bug corrections: - Basic Serialflash project now uses an existing dataflash socket if available. - Corrected bug in function FLASHD_IsLocked() flash driver which would occur on dual-plane devices (incorrect bits where being checked). - Internal SRAM size was incorrectly defined as 64Kb instead of 32Kb for the SAM7SE512. 1.2 --- Additions: - Added SAM7SE-EK and SAM9XE-EK to the list of supported boards. - Added Basic PWM example. - Added Basic Internal Flash example. Major bug corrections: - None. Minor bug corrections: - IAR linker no longer generates a warning about the HEAP size. - Corrected SDRAM initialization detection code in usb-device-massstorage-project. - basic-dataflash-project can now be used with boards lacking a dataflash socket (providing a dataflash is externally connected by the user). 1.1 --- Additions: - Added SAM7S-EK, SAM9260-EK and SAM9RL-EK to the list of supported boards. - Added Basic AC97 example. - Added Basic AES example. - Added Basic RTT example. - Added Basic Triple-DES example. - Added Basic TWI-EEPROM example. - Added IAR 5.10 patch for correct project loading in internal flash. - Added whole AT91 library in a single package. Major bug corrections: - None. Minor bug corrections: - Basic LCD example can now be run in external SDRAM (load addresses for the images have been changed). - LCD Slideshow example can now be run in external SDRAM. - USB Mass Storage example can now be run in external SDRAM. - Added pull-up on SPI MISO pin to avoid potential problem after transfers, when the slave stops driving the line. - PIO_Configure() would not correctly enable the open-drain and pull-up features on pins declared as outputs. 5 Contact Information --------------------- For support on the AT91 Software Package please send request to at91@atmel.com 6 Copyright (c) 2008, 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: * * - Redistributions of source code must retain the above copyright notice, * this list of conditions and the disclaimer below. * * Atmel's name may not be used to endorse or promote products derived from * this software without specific prior written permission. * * DISCLAIMER: 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 * 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.