i.mx28 Ethernet Performance on Linux



Similar documents
Windows 7: Using USB TAP on a Classic CodeWarrior Installation (MGT V9.2 DSC V8.3)

How To Build A Project On An Eclipse Powerbook For Anarc (Powerbook) On An Ipa (Powerpoint) On A Microcontroller (Powerboard) On Microcontrollers (Powerstation) On Your Microcontroller 2 (Powerclock

Connecting Low-Cost External Electrodes to MED-EKG

Hardware Configurations for the i.mx Family USB Modules

Installation of the MMA955xL CodeWarrior Service Pack Author: Fengyi Li Application Engineer

How To Control A Motor Control On An Hvac Platform

Connecting to an SMTP Server Using the Freescale NanoSSL Client

IRTC Compensation and 1 Hz Clock Generation

Cyclic Redundant Checker Calculation on Power Architecture Technology and Comparison of Big-Endian Versus Little-Endian

Software Real Time Clock Implementation on MC9S08LG32

Using WinUSB in a Visual Studio Project with Freescale USB device controller

How to Convert 3-Axis Directions and Swap X-Y Axis of Accelerometer Data within Android Driver by: Gang Chen Field Applications Engineer

Freescale Embedded GUI Converter Utility 2.0 Quick User Guide

etpu Host Interface by:

Local Interconnect Network (LIN) Physical Interface

Handling Freescale Pressure Sensors

MC13783 Buck and Boost Inductor Sizing

Generate Makefiles from Command Line Support in Eclipse-Based CodeWarrior Software

MCF54418 NAND Flash Controller

Initializing the TSEC Controller

Understanding LCD Memory and Bus Bandwidth Requirements ColdFire, LCD, and Crossbar Switch

Performance Monitor on PowerQUICC II Pro Processors

Freescale Semiconductor. Integrated Silicon Pressure Sensor. On-Chip Signal Conditioned, Temperature Compensated and Calibrated MPX4080D.

Flexible Active Shutter Control Interface using the MC1323x

Programming Audio Applications in the i.mx21 MC9328MX21

Using the Performance Monitor Unit on the e200z760n3 Power Architecture Core

PowerQUICC II Pro (MPC83xx) PCI Agent Initialization

Improving Embedded Software Test Effectiveness in Automotive Applications

Blood Pressure Monitor Using Flexis QE128 Gabriel Sanchez RTAC Americas

Point-of-Sale (POS) Users Guide Lech José Olmedo Guerrero Jaime Herrerro Gallardo RTAC Americas

MLPPP in the Evolving Radio Access Network

Developing an Application for the i.mx Devices on the Linux Platform

User Interface Design using CGI Programming and Boa Web Server on M5249C3 Board

Using the Kinetis Security and Flash Protection Features

Data Movement Between Big-Endian and Little-Endian Devices

USB HID bootloader for the MC9S08JM60

Using eflexpwm Module for ADC Synchronization in MC56F82xx and MC56F84xx Family of Digital Signal Controllers

VGA Output using TV-Out Extension Solution i.mx21

How To Measure Power Of A Permanent Magnet Synchronous Motor

Installing Service Pack Updater Archive for CodeWarrior Tools (Windows and Linux) Quick Start

MSC8156 and MSC8157 PCI Express Performance

Adding SDIO Wi-Fi Solution to i.mx Windows CE 5.0/Windows CE 6.0

Freescale Semiconductor. Integrated Silicon Pressure Sensor. On-Chip Signal Conditioned, Temperature Compensated and Calibrated MPX5500.

How To Fit A 2Mm Exposed Pad To A Dfn Package

Ref Parameters Symbol Conditions Min Typ Max Units. Standby μa. 3 Range kpa. 4 Resolution 0.15 kpa. 5 Accuracy -20ºC to 85ºC ±1 kpa

Processor Expert Software Microcontrollers Driver Suite Getting Started Guide

MPC8245/MPC8241 Memory Clock Design Guidelines: Part 1

Installing Service Pack Updater Archive for CodeWarrior Tools (Windows and Linux) Quick Start

NOT RECOMMENDED FOR NEW DESIGN

Detecting a CPM Overload on the PowerQUICC II

Techniques and Tools for Software Analysis

ColdFire Security SEC and Hardware Encryption Acceleration Overview

White Paper. Freescale s Embedded Hypervisor for QorIQ P4 Series Communications Platform

Enhanced Serial Interface Mapping

3-Phase BLDC Motor Control with Hall Sensors Using 56800/E Digital Signal Controllers

RF Power Field Effect Transistors N- Channel Enhancement- Mode Lateral MOSFETs

NOT RECOMMENDED FOR NEW DESIGN

VLE 16-bit and 32-bit Instruction Length Decode Algorithm

Efficient Low-Level Software Development for the i.mx Platform

CodeWarrior Development Studio Floating Licensing Quick Start

How To Improve Performance On A P4080 Processor

Emulated EEPROM Implementation in Dual Flash Architecture on MC9S08LG32 With Demo Description

Configuring the FlexTimer for Position and Speed Measurement with an Encoder

Understanding Pressure and Pressure Measurement

Using Program Memory As Data Memory. 1. Introduction Program Memory and Data. Contents. Memory. Freescale Semiconductor Application Note

CodeWarrior Development Studio for Freescale S12(X) Microcontrollers Quick Start

PQ-MDS-T1 Module. HW Getting Started Guide. Contents. About This Document. Required Reading. Definitions, Acronyms, and Abbreviations

Robust Over-the-Air Firmware Updates Using Program Flash Memory Swap on Kinetis Microcontrollers

Freescale Variable Key Security Protocol Transmitter User s Guide by: Ioseph Martínez and Christian Michel Applications Engineering - RTAC Americas

Avoiding Read While Write Errors When Developing In-Software Flash Programming Applications for Kinetis and ColdFire+ MCUs

NOT RECOMMENDED FOR NEW DESIGN

Pressure Freescale Semiconductor

Genesi Pegasos II Setup

AND8336. Design Examples of On Board Dual Supply Voltage Logic Translators. Prepared by: Jim Lepkowski ON Semiconductor.

Network testing with iperf

Using the High Input Voltage Charger for Single Cell Li-Ion Batteries (KIT34671EPEVBE)

Implementing Positioning Algorithms Using Accelerometers

Real Time Development of MC Applications using the PC Master Software Visualization Tool. 1. Introduction. 2. Development of Motor Control.

Using XGATE to Implement LIN Communication on HCS12X Daniel Malik 8/16-Bit Products Division East Kilbride, Scotland

ITU-T V.42bis Data Dictionary Search on the StarCore SC140/SC1400 Cores

3-Phase BLDC Motor Control with Hall Sensors Using the MC56F8013

Motion and Freefall Detection Using the MMA8451, 2, 3Q

Freescale Semiconductor. Integrated Silicon Pressure Sensor

MPXAZ6115A MPXHZ6115A SERIES. Freescale Semiconductor Technical Data. MPXAZ6115A Rev 4, 01/2007

How to Run the MQX RTOS on Various RAM Memories for i.mx 6SoloX

ULN2803A ULN2804A OCTAL PERIPHERAL DRIVER ARRAYS

RF Power Field Effect Transistors N--Channel Enhancement--Mode Lateral MOSFETs

Creating Overlay Networks Using Intel Ethernet Converged Network Adapters

i.mx Applications Processors with Hantro's Multimedia Framework

DRM for Driver Information System on S12G128. Reference Design

AND8365/D. 125 kbps with AMIS-4168x APPLICATION NOTE

Using the HC08 SCI Module

KIT34845EPEVME Evaluation Board

AND9190/D. Vertical Timing Optimization for Interline CCD Image Sensors APPLICATION NOTE

SEMICONDUCTOR TECHNICAL DATA

User Guide. Introduction. HCS12PLLCALUG/D Rev. 0, 12/2002. HCS12 PLL Component Calculator

Transcription:

Freescale Semiconductor Document Number:AN4544 Application Note Rev. 0, 6/2012 i.mx28 Ethernet Performance on Linux 1 Introduction The aim of this document is to show how to measure the ENET "Ethernet Controller" performance on the i.mx28 EVK/BSP platform and present the results. The results were taken with two hardware configurations; one with the image running from NAND, and the other from SD card. Contents 1 Introduction...1 2 ENET Benchmark Performance Test Setup...1 3 Test Procedure...4 4 SD Image Test Descriptions and Results...4 5 NAND Image Test Descriptions and Results...7 2 ENET Benchmark Performance Test Setup The following sections describe ENET Benchmark Performance Test Setup. 2.1 Hardware Configuration All the tests described in this document were done with the hardware described below: Target Processor: i.mx28 Target Platform: i.mx28 EVK PCB Rev D Host Processor: Intel Pentium D 2.80GHz NAND: Samsung K9GAG08U0M, 2GB SD: SanDisk 4GB SDHC Class 2 2012 Freescale Semiconductor, Inc.

ENET Benchmark Performance Test Setup 2.2 Software Configuration Host Operating System: i386 Linux Ubuntu 10.04 LTS (lucid) Host Kernel Version: 2.6.32-33-generic (#70-Ubuntu SMP Thu Jul 7 21:09:46 UTC 2011) MX28EVK Linux BSP Version: L2.6.35_10.12.01 Host Iperf version: iperf version 2.0.4 (7 Apr 2008) pthreads Host SCP Version: OpenSSH 1:5.3p1-3ubuntu7, OpenSSL 0.9.8k-7ubuntu8.6 Target Kernel Version: Freescale Linux 2.6.35.3-571-gcca29a0 #8 PREEMPT Wed Jan 4 09:23:36 PST 2012 Target IPerf Version: iperf version 1.7.0 (13 Mar 2003) pthreads Target SCP Version: Dropbear sshd v0.52 Target FTP version: ftp (GNU inetutils) 1.4.2 available from LTIB Figure 1. ENET Benchmark Topology 2.3 Chip Errata Note Due to i.mx28 chip errata ENGR121613, "ENET: ENET big endian mode not compatible with ARM little endian," Ethernet performance is limited by the requirement that the driver perform byte swapping. When both interfaces (eth0 and eth1) are used concurrently, they must share CPU bandwidth to perform byte swapping. 2.4 Configuring the Target Using ltib --selectype, select the min profile. Using ltib -c, select the configurations indicated below. 2.4.1 Target System Configuration Target System Options : Start Networking : Network Setup Enable Interface 0 Configure static parameters Alternatively, configure static parameters from target command line after boot. For example: ifconfig eth0 192.168.1.2 netmask 255.255.255.0 broadcast 192.168.1.255 Target Image Options : Root filesystem image type: ext2.gz 2.4.2 Package list dropbear ssh client/server 2 Freescale Semiconductor, Inc.

ENET Benchmark Performance Test Setup inetutils iperf mtd-utils kobs-ng boot stream kernel command line (SD Card) noinitrd console=ttyam0,115200 root=/dev/mmcblk0p3 rw rootwait ip=none gpmi kernel command line (NAND) noinitrd console=ttyam0,115200 ubi.mtd=1 root=ubi0:rootfs0 rootfstype=ubifs rw ip=none gpmi 2.5 Target Linux Kernel Configuration Select: Device Drivers Network Device Support Ethernet (10 or 100Mbit) FEC Ethernet Controller 2.5.1 Target File System Configuration For SD Card, ext2 file system is used. For NAND, UBIFS is used. For Samsung K9GAG08U0M NAND, the following UBI configuration parameters are used: mkfs.ubifs -x none -m 4096 -e 516096 -c 4000 -r rootfs rootfs.ubifs No compression NAND block size = 4096 Logical Erase Block Size (LEB) = 516096 Max Logical Erase Blocks = 4000 2.5.2 Target user In order to write to the target using FTP and SCP, a user should be created with the command: adduser <username> 2.6 Configure the Host The Ubuntu host requires additional packages and network configuration. 2.6.1 Packages sudo apt-get install iperf sudo apt-get install vsftp sudo apt-get install openssh-server Freescale Semiconductor, Inc. 3

Test Procedure 2.6.2 Network Configuration The direct Ethernet connection to the target must be configured. For example: ifconfig eth0 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 3 Test Procedure Each test will be executed 5 times, the result will be the average. To make files with specific size, the following commands were used: For 100MB file size: $ dd if=/dev/zero of=100mfile bs=100k count=1024 For 10MB file size: $ dd if=/dev/zero of=10mfile bs=10k count=1024 File transfer tests will measure throughput for read and write. 3.1 Buffer Length Performance for both TCP and UDP is measured using various buffer lengths. As can be seen in the results below, buffer length has a large impact on performance. 4 SD Image Test Descriptions and Results The following sections describe SD image test descriptions and results. 4.1 Network Throughput (TCP and UDP [SD Image Test]) The method to measure network throughput consist of sending UDP and TCP packets from target to host using the open source iperf program. TCP On host, type the command: iperf -s The table below shows results running iperf on the target with no arguments. This can be considered a typical use case. Table 1. Network Throughput TCP - Default Arguments Name Target Command Buffer length Interval Test-1.1- defaults [sec] iperf -c $HOST_IP 8KB 10 60.1 Throughput [Mbits/ sec] 4 Freescale Semiconductor, Inc.

The table below shows results running iperf on the target with various combinations of buffer length and number of bytes to transmit. Table 2. Network Throughput TCP - Various Arguments Name Target Command Buffer length number of bytes to transmit SD Image Test Descriptions and Results Test-1.1-a iperf -c $HOST_IP -l 8K -n 1K 8KB 1KB 6.73 Test-1.1-b iperf -c $HOST_IP -l 8K -n 2K 8KB 2KB 6.84 Test-1.1-c iperf -c $HOST_IP -l 8K -n 4K 8KB 4KB 7.17 Test-1.1-d iperf -c $HOST_IP -l 8K -n 8K 8KB 8KB 7.04 Test-1.1-e iperf -c $HOST_IP -l 256K -n 32K 256KB 32KB 53.20 Test-1.1-f iperf -c $HOST_IP -l 256K -n 64K 256KB 64KB 53.24 Test-1.1-g iperf -c $HOST_IP -l 256K -n 128K 256KB 128KB 53.32 Test-1.1-h iperf -c $HOST_IP -l 256K -n 256K 256KB 256KB 52.70 Test-1.1-i iperf -c $HOST_IP -l 8M -n 1M 8MB 1MB 67.84 Test-1.1-j iperf -c $HOST_IP -l 8M -n 2M 8MB 2MB 68.34 Test-1.1-k iperf -c $HOST_IP -l 8M -n 4M 8MB 4MB 68.62 Test-1.1-l iperf -c $HOST_IP -l 8M -n 8M 8MB 8MB 68.54 Test-1.1-m iperf -c $HOST_IP -l 8M -n 1K 8MB 1KB 68.24 Test-1.1-n iperf -c $HOST_IP -l 8M -n 2K 8MB 2KB 68.66 Test-1.1-o iperf -c $HOST_IP -l 8M -n 4K 8MB 4KB 68.52 Test-1.1-p iperf -c $HOST_IP -l 8M -n 8K 100MB 8KB 68.52 Test-1.1-q iperf -c $HOST_IP -l 100M -n 1M 100MB 1MB 67.80 Test-1.1-r iperf -c $HOST_IP -l 100M -n 25M 100MB 25MB 67.78 Test-1.1-s iperf -c $HOST_IP -l 100M -n 50M 100MB 50MB 67.84 Test-1.1-t iperf -c $HOST_IP -l 100M -n 100M 100MB 100MB 71.08 Throughput [Mbits/ sec] UDP On host, type iperf -su to enable receiving of UDP datagrams. The -b parameter (in target command) determines the maximum bandwith that iperf will transmit. In Table 2, Test-1.2-a can be considered a typical use case. Ping Time Response Table 3. Network Throughput UDP Name Target Command Length Buffer Test-1.2-a iperf -c $HOST_IP -u -b 100M - (default) 89.60 Test-1.2b iperf -c $HOST_IP -u -b 100M -l 12 12 0.980 Test-1.2c iperf -c $HOST_IP -u -b 100M -l 120 120 9.58 Test-1.2d iperf -c $HOST_IP -u -b 100M -l 1200 1200 78.66 [kb] Throughput [Mbits/sec] Ping Time Response is measured using the command: ping <host IP address> -s <packet size> Freescale Semiconductor, Inc. 5

SD Image Test Descriptions and Results In Table 3, Test-2.1-a can be considered a typical use case. Table 4. Ping Time Response Name Target Command Packet size Time Response [ms] Test-2.1-a ping -s 64 $HOST_IP 64B 0.36 Test-2.1-b ping -s 16384 $HOST_IP 16384B 4.22 Test-2.1-c ping -s 32768 $HOST_IP 32768B 8.17 4.2 File Transfer using SCP (SD Image Test) File transfer using SCP is measured using the command: scp <file> <user@host:file> Table 5. File Transfer using SCP Name Target Command File size Write Transfer Rate [Mbits/s] Test-3.1-a scp <file> <host>:<file> 100MB 24.80 Test-3.1-b scp <file> <host>:<file> 10MB 25.12 Host Command File size Read Transfer Rate [Mbits/s] Test-3.1-c scp <file> <target>:/dev/null 100MB 10.56 Test-3.1-d scp <file> <target>:/dev/null 10MB 10.88 4.3 File Transfer using FTP (SD Image Test) File transfer using FTP is measured using the command: ftp $HOST_IP <autentication> Table 6. File Transfer using TFTP Name Target Command File size Write Transfer Rate [Mbits/s] Test-4.1-a ftp $HOST_IP 100MB 54.46 Test-4.1-b ftp $HOST_IP 10MB 54.56 Host Command File size Read Transfer Rate [Mbits/s] Test-4.1-c ftp $TARGET_IP 100MB 71.93 /dev/null Test-4.1-d ftp $TARGET_IP /dev/null 10MB 61.65 6 Freescale Semiconductor, Inc.

NAND Image Test Descriptions and Results 5 NAND Image Test Descriptions and Results The following sections describe NAND image test descriptions and results. 5.1 Network Throughput (TCP and UDP [NAND Image Test]) The method to measure network throughput consist of sending UDP and TCP packets from target to host using the open source iperf program. TCP On host, type the command: iperf -s The table below shows results running iperf on the target with no arguments. This can be considered a typical use case. Table 7. Network Throughput TCP - Default Arguments Name Target Command Buffer length Interval Test-1.1- defaults [sec] iperf -c $HOST_IP 8KB 10 61.70 Throughput [Mbits/ sec] The table below shows results running iperf on the target with various combinations of buffer length and number of bytes to transmit. Table 8. Network Throughput TCP - Various Arguments Name Target Command Buffer length number of bytes to transmit Test-1.1-a iperf -c $HOST_IP -l 8K -n 1K 8KB 1KB 7.07 Test-1.1-b iperf -c $HOST_IP -l 8K -n 2K 8KB 2KB 7.11 Test-1.1-c iperf -c $HOST_IP -l 8K -n 4K 8KB 4KB 7.09 Test-1.1-d iperf -c $HOST_IP -l 8K -n 8K 8KB 8KB 7.08 Test-1.1-e iperf -c $HOST_IP -l 256K -n 32K 256KB 32KB 53.12 Test-1.1-f iperf -c $HOST_IP -l 256K -n 64K 256KB 64KB 53.28 Test-1.1-g iperf -c $HOST_IP -l 256K -n 128K 256KB 128KB 53.16 Test-1.1-h iperf -c $HOST_IP -l 256K -n 256K 256KB 256KB 53.26 Test-1.1-i iperf -c $HOST_IP -l 8M -n 1M 8MB 1MB 70.00 Test-1.1-j iperf -c $HOST_IP -l 8M -n 2M 8MB 2MB 70.86 Test-1.1-k iperf -c $HOST_IP -l 8M -n 4M 8MB 4MB 71.00 Test-1.1-l iperf -c $HOST_IP -l 8M -n 8M 8MB 8MB 70.90 Test-1.1-m iperf -c $HOST_IP -l 8M -n 1K 8MB 1KB 70.70 Test-1.1-n iperf -c $HOST_IP -l 8M -n 2K 8MB 2KB 70.86 Test-1.1-o iperf -c $HOST_IP -l 8M -n 4K 8MB 4KB 71.00 Table continues on the next page... Throughput [Mbits/ sec] Freescale Semiconductor, Inc. 7

NAND Image Test Descriptions and Results Table 8. Network Throughput TCP - Various Arguments (continued) Test-1.1-p iperf -c $HOST_IP -l 8M -n 8K 100MB 8KB 70.96 Test-1.1-q iperf -c $HOST_IP -l 100M -n 1M 100MB 1MB 70.26 Test-1.1-r iperf -c $HOST_IP -l 100M -n 25M 100MB 25MB 71.02 Test-1.1-s iperf -c $HOST_IP -l 100M -n 50M 100MB 50MB 70.98 Test-1.1-t iperf -c $HOST_IP -l 100M -n 100M 100MB 100MB 71.08 UDP On host, type iperf -su to enable receiving of UDP datagrams. The -b parameter (in target command) determines the maximum bandwidth that iperf will transmit. In Table 7, Test-1.2-a can be considered a typical use case. Table 9. Network Throughput UDP Name Target Command Length Buffer Test-1.2-a iperf -c $HOST_IP -u -b 100M - (default) 89.76 Test-1.2b iperf -c $HOST_IP -u -b 100M -l 12 12 0.99 Test-1.2c iperf -c $HOST_IP -u -b 100M -l 120 120 9.64 Test-1.2d iperf -c $HOST_IP -u -b 100M -l 1200 1200 78.22 [kb] Throughput [Mbits/sec] 5.2 Ping Time Response (NAND Image Test) Ping time response is measured using the command: ping <host IP address> -s <packet size> In Table below, Test-2.1-a can be considered a typical use case. Table 10. Ping Time Response Name Target Command Packet size Time Response [ms] Test-2.1-a ping -s 64 $HOST_IP 64B 0.38 Test-2.1-b ping -s 16384 $HOST_IP 16384B 4.24 Test-2.1-c ping -s 32768 $HOST_IP 32768B 8.13 5.3 File Transfer using SCP (NAND Image Test) File transfer using SCP is measured using the command: scp <file> <user@host:file> Table 11. File Transfer using SCP Name Target Command File size Write Transfer Rate [Mbits/s] Test-3.1-a scp <file> <host>:<file> 100MB 22.24 Table continues on the next page... 8 Freescale Semiconductor, Inc.

Table 11. File Transfer using SCP (continued) NAND Image Test Descriptions and Results Test-3.1-b scp <file> <host>:<file> 10MB 23.36 Host Command File size Read Transfer Rate [Mbits/s] Test-3.1-c scp <file> <target>:/dev/null 100MB 10.88 Test-3.1-d scp <file> <target>:/dev/null 10MB 11.00 5.4 File Transfer using FTP (NAND Image Test) File transfer using FTP is measured using the command : ftp $HOST_IP <autentication> Table 12. File Transfer using TFTP Name Target Command File size Write Transfer Rate [Mbits/s] Test-4.1-a ftp $HOST_IP 100MB 23.18 Test-4.1-b ftp $HOST_IP 10MB 54.38 Host Command File size Read Transfer Rate [Mbits/s] Test-4.1-c ftp $TARGET_IP 100MB 76.01 /dev/null Test-4.1-d ftp $TARGET_IP /dev/null 10MB 71.79 Freescale Semiconductor, Inc. 9

How to Reach Us: Home Page: www.freescale.com Web Support: http://www.freescale.com/support USA/Europe or Locations Not Listed: Freescale Semiconductor, Inc. Technical Information Center, EL516 2100 East Elliot Road Tempe, Arizona 85284 1-800-521-6274 or +1-480-768-2130 www.freescale.com/support Europe, Middle East, and Africa: Freescale Halbleiter Deutschland GmbH Technical Information Center Schatzbogen 7 81829 Muenchen, Germany +44 1296 380 456 (English) +46 8 52200080 (English) +49 89 92103 559 (German) +33 1 69 35 48 48 (French) www.freescale.com/support Japan: Freescale Semiconductor Japan Ltd. Headquarters ARCO Tower 15F 1-8-1, Shimo-Meguro, Meguro-ku Tokyo 153-0064 Japan 0120 191014 or +81 3 5437 9125 support.japan@freescale.com Asia/Pacific: Freescale Semiconductor China Ltd. Exchange Building 23F No. 118 Jianguo Road Chaoyang District Beijing 100022 China +86 10 5879 8000 support.asia@freescale.com Information in this document is provided solely to enable system and software implementers to use Freescale Semiconductor products. There are no express or implied copyright licenses granted hereunder to design or fabricate any integrated circuits or integrated circuits based on the information in this document. Freescale Semiconductor reserves the right to make changes without further notice to any products herein. Freescale Semiconductor makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does Freescale Semiconductor assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation consequential or incidental damages. Typical parameters which may be provided in Freescale Semiconductor data sheets and/or specifications can and do vary in different applications and actual performance may vary over time. All operating parameters, including Typicals must be validated for each customer application by customer s technical experts. Freescale Semiconductor does not convey any license under its patent rights nor the rights of others. Freescale Semiconductor products are not designed, intended, or authorized for use as components in systems intended for surgical implant into the body, or other applications intended to support or sustain life, or for any other application in which the failure of the Freescale Semiconductor product could create a situation where personal injury or death may occur. Should Buyer purchase or use Freescale Semiconductor products for any such unintended or unauthorized application, Buyer shall indemnify and hold Freescale Semiconductor and its officers, employees, subsidiaries, affiliates, and distributors harmless against all claims, costs, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or death associated with such unintended or unauthorized use, even if such claim alleges that Freescale Semiconductor was negligent regarding the design or manufacture of the part. Freescale and the Freescale logo are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. All other product or service names are the property of their respective owners. ARM is the registered trademark of ARM Limited. ARM9 is a trademark of ARM Limited. 2012 Freescale Semiconductor, Inc. All rights reserved. Document Number: AN4544 Rev. 0 06/2012