AVR1514: XMEGA-A1 Xplained Training - Direct Memory Access Controller. 8-bit Atmel Microcontrollers. Application Note. Prerequisites.

Similar documents
AVR1510: Xplain training - XMEGA USART. 8-bit Microcontrollers. Application Note. Prerequisites. 1 Introduction

Atmel AVR4920: ASF - USB Device Stack - Compliance and Performance Figures. Atmel Microcontrollers. Application Note. Features.

Atmel AVR4921: ASF - USB Device Stack Differences between ASF V1 and V2. 8-bit Atmel Microcontrollers. Application Note. Features.

32-bit AVR UC3 Microcontrollers. 32-bit AtmelAVR Application Note. AVR32769: How to Compile the standalone AVR32 Software Framework in AVR32 Studio V2

AVR1900: Getting started with ATxmega128A1 on STK bit Microcontrollers. Application Note. 1 Introduction

APPLICATION NOTE. Atmel AVR134: Real Time Clock (RTC) Using the Asynchronous Timer. Atmel AVR 8-bit Microcontroller. Introduction.

Atmel AVR4903: ASF - USB Device HID Mouse Application. Atmel Microcontrollers. Application Note. Features. 1 Introduction

AVR1922: Xplain Board Controller Firmware. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR1321: Using the Atmel AVR XMEGA 32-bit Real Time Counter and Battery Backup System. 8-bit Microcontrollers. Application Note.

How To Use An Atmel Atmel Avr32848 Demo For Android (32Bit) With A Microcontroller (32B) And An Android Accessory (32D) On A Microcontroller (32Gb) On An Android Phone Or

AVR1318: Using the XMEGA built-in AES accelerator. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR1301: Using the XMEGA DAC. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR1309: Using the XMEGA SPI. 8-bit Microcontrollers. Application Note. Features. 1 Introduction SCK MOSI MISO SS

AT91SAM ARM-based Flash MCU. Application Note

AVR115: Data Logging with Atmel File System on ATmega32U4. Microcontrollers. Application Note. 1 Introduction. Atmel

AVR125: ADC of tinyavr in Single Ended Mode. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

8-bit. Application Note. Microcontrollers. AVR282: USB Firmware Upgrade for AT90USB

USER GUIDE EDBG. Description

APPLICATION NOTE. Atmel AVR443: Sensor-based Control of Three Phase Brushless DC Motor. Atmel AVR 8-bit Microcontrollers. Features.

Application Note. Atmel ATSHA204 Authentication Modes. Prerequisites. Overview. Introduction

AVR32138: How to optimize the ADC usage on AT32UC3A0/1, AT32UC3A3 and AT32UC3B0/1 series. 32-bit Microcontrollers. Application Note.

AVR319: Using the USI module for SPI communication. 8-bit Microcontrollers. Application Note. Features. Introduction

AVR1600: Using the XMEGA Quadrature Decoder. 8-bit Microcontrollers. Application Note. Features. 1 Introduction. Sensors

AVR32701: AVR32AP7 USB Performance. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR317: Using the Master SPI Mode of the USART module. 8-bit Microcontrollers. Application Note. Features. Introduction

AVR305: Half Duplex Compact Software UART. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

APPLICATION NOTE. Atmel AT04389: Connecting SAMD20E to the AT86RF233 Transceiver. Atmel SAMD20. Description. Features

8051 Flash Microcontroller. Application Note. A Digital Thermometer Using the Atmel AT89LP2052 Microcontroller

General Porting Considerations. Memory EEPROM XRAM

AVR151: Setup and Use of the SPI. Introduction. Features. Atmel AVR 8-bit Microcontroller APPLICATION NOTE

Atmel AVR1017: XMEGA - USB Hardware Design Recommendations. 8-bit Atmel Microcontrollers. Application Note. Features.

AVR033: Getting Started with the CodeVisionAVR C Compiler. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR32788: AVR 32 How to use the SSC in I2S mode. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

APPLICATION NOTE Atmel AT02509: In House Unit with Bluetooth Low Energy Module Hardware User Guide 8-bit Atmel Microcontroller Features Description

Application Note. 8-bit Microcontrollers. AVR270: USB Mouse Demonstration

Using CryptoMemory in Full I 2 C Compliant Mode. Using CryptoMemory in Full I 2 C Compliant Mode AT88SC0104CA AT88SC0204CA AT88SC0404CA AT88SC0808CA

Introducing a platform to facilitate reliable and highly productive embedded developments

Application Note. Atmel CryptoAuthentication Product Uses. Atmel ATSHA204. Abstract. Overview

APPLICATION NOTE. Atmel LF-RFID Kits Overview. Atmel LF-RFID Kit. LF-RFID Kit Introduction

AVR287: USB Host HID and Mass Storage Demonstration. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Atmel AVR4027: Tips and Tricks to Optimize Your C Code for 8-bit AVR Microcontrollers. 8-bit Atmel Microcontrollers. Application Note.

AVR353: Voltage Reference Calibration and Voltage ADC Usage. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Application Note. 8-bit Microcontrollers. AVR272: USB CDC Demonstration UART to USB Bridge

APPLICATION NOTE. Atmel AT02985: User s Guide for USB-CAN Demo on SAM4E-EK. Atmel AVR 32-bit Microcontroller. Features. Description.

USER GUIDE. ZigBit USB Stick User Guide. Introduction

AT88CK490 Evaluation Kit

APPLICATION NOTE. Atmel AT01095: Joystick Game Controller Reference Design. 8-/16-bit Atmel Microcontrollers. Features.

AVR030: Getting Started with IAR Embedded Workbench for Atmel AVR. 8-bit Microcontrollers. Application Note. Features.

Atmel AT32UC3A3256 microcontroller 64MBit SDRAM Analog input (to ADC) Temperature sensor RC filter

SMARTCARD XPRO. Preface. SMART ARM-based Microcontrollers USER GUIDE

APPLICATION NOTE. AT07175: SAM-BA Bootloader for SAM D21. Atmel SAM D21. Introduction. Features

AVR055: Using a 32kHz XTAL for run-time calibration of the internal RC. 8-bit Microcontrollers. Application Note. Features.

AVR2006: Design and characterization of the Radio Controller Board's 2.4GHz PCB Antenna. Application Note. Features.

AVR1324: XMEGA ADC Selection Guide. 8-bit Atmel Microcontrollers. Application Note. Features. 1 Introduction

AVR1003: Using the XMEGA Clock System. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR134: Real Time Clock (RTC) using the Asynchronous Timer. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Software Prerequisites Linux Ubuntu LTS. Estimated completion time: 15min. The goal of this hands-on is to:

Application Note. C51 Bootloaders. C51 General Information about Bootloader and In System Programming. Overview. Abreviations

AVR106: C Functions for Reading and Writing to Flash Memory. Introduction. Features. AVR 8-bit Microcontrollers APPLICATION NOTE

How To Design An Ism Band Antenna For 915Mhz/2.4Ghz Ism Bands On A Pbbb (Bcm) Board

Application Note. 8-bit Microcontrollers. AVR293: USB Composite Device

APPLICATION NOTE. Authentication Counting. Atmel CryptoAuthentication. Features. Introduction

Atmel AVR ATxmega384C3 microcontroller OLED display with pixels resolution Analog sensors. Ambient light sensor Temperature sensor

AVR106: C functions for reading and writing to Flash memory. 8-bit Microcontrollers. Application Note. Features. Introduction

Application Note. 1. Introduction. 2. Associated Documentation. 3. Gigabit Ethernet Implementation on SAMA5D3 Series. AT91SAM ARM-based Embedded MPU

Two mechanical buttons Two user LEDs Four expansion headers. Board controller with USB interface. One power LED and one status LED

AVR245: Code Lock with 4x4 Keypad and I2C LCD. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR131: Using the AVR s High-speed PWM. Introduction. Features. AVR 8-bit Microcontrollers APPLICATION NOTE

AVR32110: Using the AVR32 Timer/Counter. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

APPLICATION NOTE. Secure Personalization with Transport Key Authentication. ATSHA204A, ATECC108A, and ATECC508A. Introduction.

8-bit Microcontroller. Application Note. AVR134: Real-Time Clock (RTC) using the Asynchronous Timer. Features. Theory of Operation.

Section 1 Introduction to the AT91SAMD20 and the Development Environment

8-bit Microcontroller. Application Note. AVR105: Power Efficient High Endurance Parameter Storage in Flash Memory

8-bit Microcontroller. Application Note. AVR222: 8-point Moving Average Filter

AVR ONE!... Quick-start Guide. EVK Windows 32104B AVR ONE! 02/10

AT91 ARM Thumb Microcontrollers. AT91SAM CAN Bootloader. AT91SAM CAN Bootloader User Notes. 1. Description. 2. Key Features

APPLICATION NOTE. AT16268: JD Smart Cloud Based Smart Plug Getting. Started Guide ATSAMW25. Introduction. Features

AVR32100: Using the AVR32 USART. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

8-bit RISC Microcontroller. Application Note. AVR236: CRC Check of Program Memory

Atmel AVR4950: ASF - USB Host Stack. 8-bit Atmel Microcontrollers. Application Note. Features. 1 Introduction

APPLICATION NOTE. Atmel AVR2033: SAM-ICE Adapter Hardware User Manual. 8-bit Atmel Microcontrollers. Features. Introduction

AVR127: Understanding ADC Parameters. Introduction. Features. Atmel 8-bit and 32-bit Microcontrollers APPLICATION NOTE

8-bit Microcontroller. Application Note. AVR415: RC5 IR Remote Control Transmitter. Features. Introduction. Figure 1.

Atmel AVR4905: ASF - USB Device HID Generic. 8-/32-bit Atmel Microcontrollers. Application Note. Features. 1 Introduction

APPLICATION NOTE. Atmel AVR600: STK600 Expansion, Routing and Socket Boards. Atmel Microcontrollers. Introduction

QT1 Xplained Pro. Preface. Atmel QTouch USER GUIDE

APPLICATION NOTE. Atmel AT01180: Barcode and QR code scanner User Guide. Atmel 32-bit Microcontroller. Features. Introduction

SKP16C62P Tutorial 1 Software Development Process using HEW. Renesas Technology America Inc.

More Secure, Less Costly IoT Edge Node Security Provisioning

Quest vworkspace Virtual Desktop Extensions for Linux

AT15007: Differences between ATmega328/P and ATmega328PB. Introduction. Features. Atmel AVR 8-bit Microcontrollers APPLICATION NOTE

AVR315: Using the TWI Module as I2C Master. Introduction. Features. AVR 8-bit Microcontrollers APPLICATION NOTE

AVR126: ADC of megaavr in Single Ended Mode. Introduction. Features. AVR 8-bit Microcontrollers APPLICATION NOTE

1Mb (64K x 16) One-time Programmable Read-only Memory

8-bit RISC Microcontroller. Application Note. AVR155: Accessing an I 2 C LCD Display using the AVR 2-wire Serial Interface

Dell One Identity Cloud Access Manager How to Configure vworkspace Integration

Dell Spotlight on Active Directory Server Health Wizard Configuration Guide

AT89C5131A Starter Kit... Software User Guide

3-output Laser Driver for HD-DVD/ Blu-ray/DVD/ CD-ROM ATR0885. Preliminary. Summary. Features. Applications. 1. Description

MODFLEX MINI GATEWAY ETHERNET USER S GUIDE

Transcription:

AVR1514: XMEGA-A1 Xplained Training - Direct Memory Access Controller Prerequisites Required knowledge - AVR1512: XMEGA-A1 Xplained Training - XMEGA Basics Software prerequisites - Atmel AVR Studio 5 Hardware prerequisites - XMEGA-A1 Xplained evaluation board - JTAGICE3 (or AVR ONE! or JTAGICE mkii) Estimated completion time: - 2 hours 8-bit Atmel Microcontrollers Application Note 1 Introduction This application note covers the basic features of the Atmel AVR XMEGA Direct Memory Access Controller (DMAC). The goal for this training is to get started with simple memory transfers almost without using CPU time, and reading / writing to peripherals with hardly any CPU intervention. There are four DMA channels that have individual source, destination, triggers, and block sizes. The DMA Controller can move data from one memory area to another, between memories and peripherals and between peripherals. Rev. 8400A-AVR-06/11

2 Setting up the DMA Controller The Atmel AVR XMEGA Direct Memory Access Controller (DMAC) is a highly flexible four-channel DMA Controller capable of transferring data between memories and peripherals with minimal CPU intervention. While the CPU spends time in lowpower sleep modes or performs other tasks, the XMEGA DMAC offloads the CPU by taking care of mere data copying from one area to another. The following subchapters are meant to complement the understanding when doing the tasks in this training. 2.1 DMA Transaction A complete DMA read and write operation between memories and/or peripherals is called a DMA transaction. A transaction is done in data blocks and the size of the transaction (number of bytes to transfer) is selectable from software and controlled by the block size and repeat counter settings. Each block transfer is divided into smaller bursts, see Figure 2-1. Figure 2-1. DMA Transaction When a DMA channel requests a data transfer, the bus arbiter will wait until the AVR core is not using the data bus and permit the DMA Controller to transfer data. Transfers are done in bursts of 1, 2, 4 or 8 bytes. Addressing can be static, incremental or decremental. Automatic reload of source and/or destination address can be done after each burst transfer, block transfer, when transfer is complete, or disabled. DMA transfers can be triggered by application software, peripherals and events. The size of the block transfer is set by the Block Transfer Count Register, and can be anything from 1 byte to 64 Kbytes. A repeat counter can be enabled to set a number of repeated block transfers before a transaction is complete. The repeat is from 1 to 255 and unlimited repeat count can be achieved by setting the repeat count to zero. A bus arbiter controls when the DMA controller and the AVR core can use the bus. The core always has priority, so as long as the core request access to the bus, any pending burst transfer must wait. The core requests bus access when it executes an instruction that write or read data to SRAM, IO memory, EEPROM and the External Bus Interface. 2.2 Addressing 2 AVR1514 If the source or destination is SRAM, the user will most likely want to increment or decrement the address pointer. Therefore, it is possible to set the DMAC source / destination in incremental or decremental mode.

AVR1514 The DMAC will increment the address pointer automatically in incremental mode SRAM Address 0x2066 34 0x2067 76 0x2068 13 Value 0x2069 113 In incremental mode, the DMAC will start at the source address. After the first byte has been sent, the next byte will be read from the previous address plus one. In decremental mode, it is opposite, where the DMAC will start at a given source address and proceed with the previous addresses. The original source and destination addresses are stored by the DMA controller, so that the source and destination addresses can be individually configured to be reloaded at the following points: End of each burst transfer End of each block transfer End of transaction Never reload When using the DMAC with a peripheral, such as the SPI, the data register is fixed, and it is important that the addressing mode is static. 2.3 Transfer Triggers The main purpose of the DMA triggers is to synchronize the peripherals with the transfer rate. For instance, when using the USART at 9600 baud, the DMA should not be triggered more often than the transfer complete flag is set. DMA transfers can only be started when a DMA transfer request is detected. A transfer request can be triggered from software, from an external trigger source (peripheral) or from an event. There are dedicated source trigger selections for each DMA channel. The available trigger sources may vary from one device to another, depending on the modules or peripherals that exist in the device (see the XMEGA manual for different transfer triggers). 2.4 Interrupts The DMA Controller can generate interrupts when an error is detected on a DMA channel or when a transaction is complete for a DMA channel. Each DMA channel has a separate interrupt vector, and there are different interrupt flags for error and transaction complete. The transaction complete flag is set at the end of each Block Transfer even if unlimited repeat is enabled. 3

3 Overview Here is a short overview of the tasks in this training: Task 1: Memory Copy This task shows how to copy blocks of memory from one location to another without CPU intervention. The task is divided in two parts. 1. The first part will show how to copy memory in SRAM with the DMAC 2. The second part will show how to set up an interrupt to indicate that the transfer is done Task 2: Interrupt mode This task shows how to implement a simple recorder that records a ten second sequence of switch presses and plays them back on the LEDs. The recording and playback process is performed without CPU intervention. 4 Task 1: Memory copy DMA controllers are perfect for copying large chunks of memory from one location to another. This task will demonstrate the block memory copy routine from the driver file. It will also show how to set up the PMIC to get interrupt when the transfer is done. The goals for this task are that you know how to: Use the driver code to set up the DMAC and start memory copy operations Set up the PMIC to trigger an interrupt when the transfer is done 4.1 Memory Copy: Polling approach TASK: 1. Locate the Atmel XMEGA-DMAC folder. 2. Open the xmega_dmac.avrsln solution file and set Task 1 active by selecting it as StartUp project. 3. Build the project (press F7) and start debugging (click on Play or press Alt+F5) 4. Locate the memoryblocka and memoryblockb definitions and add data watches for both of them ( Add watch in right-click menu), see Figure 4-1 4 AVR1514

AVR1514 Figure 4-1. Locate memory blocks at top of task1.c 5. In main(), right-click on the call to MemCopy and select Run to Cursor (or use Ctrl+F10) in the right-click menu, see Figure 4-2 6. Expand memoryblocka and memoryblockb in the watch window and look into their contents. Are they equal? See Figure 4-3 Figure 4-2. Run to cursor Figure 4-3. Compare memoryblocka and memoryblockb 7. Step Over (F10) the call to MemCopy and look onto the contents of memoryblocka and memoryblockb again. Are they equal now? 8. Reset execution (Shift-F5) and run to MemCopy again. This time step into (press F11) to access the function. Further, step into DMA_SetupBlock to see how the 5

4.2 Memory Copy: Interrupt approach driver configures the DMAC for you. You may want to refer to the introduction chapter in order to answer these questions: a) Is the memory copy set up as static, incrementing or decrementing? Why is it set up this way? b) Could another DMA channel have been used? c) The software trigger source is used as default for this between memories transfer. Why do you think this is convenient when copying from SRAM to SRAM? d) What is the burst length? Why do you think it is configurable? 1. Add a break-point to the start of test two, as shown in Figure 4-4. And press F5 to run Figure 4-4. Add break point here 2. If the previous test went fine (no errors in the transfer), then we are ready for the next test. Single-step (press F10) some steps and notice that an interrupt is set up to trigger when the next DMA transaction has completed 3. Look at the function AsyncMemCopy. Notice that, in comparison with MemCopy, there is no call to DMA_ReturnStatus_non_blocking The function DMA_ReturnStatus_blocking polls until the DMA transfer has finished. When using an interrupt instead to indicate that the transfer has finished, the CPU will be free to do other operations. 4. At the bottom of task1.c, add a break-point in the interrupt service routine ISR(DMA_CH0_vect), as shown in Figure 4-5. Press F5 to run 6 AVR1514

AVR1514 Figure 4-5. Wait for interrupt 5. Run to completion (press F5) and break execution (Ctrl+F5) after a while. Verify that the transfer went well by comparing memoryblocka and memoryblockb 5 Task 2: Recorder An application, for which the DMAC is really useful, is to copy data between memory and peripherals such as ADCs and DACs. This task shows how to implement a simple recorder that samples the switches for a period of time, stores it in a SRAM buffer, and then plays the data back on the LEDs over and over again. The exact same principle would be used if you should record sound with an ADC and play it back on a DAC. The goal for this task is that you know how to: Configure the DMAC to copy data from peripheral to SRAM Configure the DMAC to copy data from SRAM to peripheral Use a timer tick as a trigger source for DMA data transfers TASK: 1. Locate the Atmel XMEGA-DMAC folder. 2. Open the xmega_dmac.avrsln solution file and set Task 2 active by selecting it as StartUp project. 3. Build the project (press F7), start debugging (click on Play), and run code (press F5) to use the recorder: a) The LEDs flash once b) Press any switch c) The LEDs flashes again d) You have approximately 10 seconds to hammer at the switches while the DMAC records the switch states e) The LEDs flashes again f) Press any switch g) The LEDs flashes again 7

h) The DMAC will play back the switch recording on the LEDs until a switch is pressed. 1 i) The procedure starts over 4. Try changing the SAMPLE_COUNT definition or the sample rate. Recompile, run, and see what happens. See Figure 5-1 Figure 5-1. Try changing SAMPLE_COUNT 5. Try to walk through the code and understand what happens. You may refer to the introduction chapter when answering theses questions: a) In the SetupReadChannel, what is the source and what is the destination? b) In the SetupWriteChannel, what is the source and what is the destination? c) What would happen if you set the DMAC up with software trigger source, in this case? d) For the Read-channel, why are the source address fixed and the destination address incremental? e) Could the burst-length have been different, such as 4 or 8? 8 AVR1514 1 Note that LED6 and LED7 are always lit when using the XMEGA-A1 Xplained. The reason for this is that the switches are distributed between PORTD and PORTR.

AVR1514 6 Summary Memory copy; DMAC from SRAM to SRAM Using interrupt source to indicate end of transfer Recording switch presses using DMAC. This application recorded the port pin input states and saved the information in SRAM. The information that was saved in SRAM was then set out to the LEDs. A timer overflow was used as a trigger source 7 Resources Atmel XMEGA Manual and Datasheets. o http://www.atmel.com/xmega Atmel AVR Studio 5 o http://www.atmel.com/microsite/avr_studio_5 Atmel IAR Embedded Workbench compiler o http://www.iar.com/ 8 Atmel Technical Support Center Atmel has several support channels available: Web portal: http://support.atmel.no/ All Atmel microcontrollers Email: avr@atmel.com All AVR products Email: avr32@atmel.com All 32-bit AVR products Please register on the web portal to gain access to the following services: Access to a rich FAQ database Easy submission of technical support requests History of all your past support requests Register to receive Atmel microcontrollers newsletters Get information about available trainings and training material 9

Atmel Corporation 2325 Orchard Parkway San Jose, CA 95131 USA Tel: (+1)(408) 441-0311 Fax: (+1)(408) 487-2600 www.atmel.com Atmel Asia Limited Unit 01-5 & 16, 19F BEA Tower, Milennium City 5 418 Kwun Tong Road Kwun Tong, Kowloon HONG KONG Tel: (+852) 2245-6100 Fax: (+852) 2722-1369 Atmel Munich GmbH Business Campus Parkring 4 D-85748 Garching b. Munich GERMANY Tel: (+49) 89-31970-0 Fax: (+49) 89-3194621 Atmel Japan 9F, Tonetsu Shinkawa Bldg. 1-24-8 Shinkawa Chou-ku, Tokyo 104-0033 JAPAN Tel: (+81) 3523-3551 Fax: (+81) 3523-7581 2011 Atmel Corporation. All rights reserved. Atmel, Atmel logo and combinations thereof, XMEGA, AVR Studio, AVR, AVR logo and others are registered trademarks or trademarks of Atmel Corporation or its subsidiaries. Other terms and product names may be trademarks of others. Disclaimer: The information in this document is provided in connection with Atmel products. No license, express or implied, by estoppel or otherwise, to any intellectual property right is granted by this document or in connection with the sale of Atmel products. EXCEPT AS SET FORTH IN THE ATMEL TERMS AND CONDITIONS OF SALES LOCATED ON THE ATMEL WEBSITE, ATMEL ASSUMES NO LIABILITY WHATSOEVER AND DISCLAIMS ANY EXPRESS, IMPLIED OR STATUTORY WARRANTY RELATING TO ITS PRODUCTS INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE, SPECIAL OR INCIDENTAL DAMAGES (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS AND PROFITS, BUSINESS INTERRUPTION, OR LOSS OF INFORMATION) ARISING OUT OF THE USE OR INABILITY TO USE THIS DOCUMENT, EVEN IF ATMEL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Atmel makes no representations or warranties with respect to the accuracy or completeness of the contents of this document and reserves the right to make changes to specifications and product descriptions at any time without notice. Atmel does not make any commitment to update the information contained herein. Unless specifically provided otherwise, Atmel products are not suitable for, and shall not be used in, automotive applications. Atmel products are not intended, authorized, or warranted for use as components in applications intended to support or sustain life.