Configuring CoreNet Platform Cache (CPC) as SRAM For Use by Linux Applications
|
|
|
- Jeremy Nichols
- 9 years ago
- Views:
Transcription
1 Freescale Semiconductor Document Number:AN4749 Application Note Rev 0, 07/2013 Configuring CoreNet Platform Cache (CPC) as SRAM For Use by Linux Applications 1 Introduction This document provides, with examples, software methods to configure the CoreNet Platform Cache (CPC) as very high performance SRAM for use by Linux applications. The CPC is a CoreNet-compliant target device that can serve as a general purpose write-back, an I/O stash, a memorymapped SRAM device, or any combination of these functions. As a general purpose cache, the CPC manages allocations and victimizations to reduce read latency and increase bandwidth for accesses to backing store (DRAM). As an I/O stash, the CPC can accept and allocate writes from an I/O device in order to reduce latency and improve bandwidth for multiple read operations to the same address. As an SRAM device, the CPC acts as a low-latency, high-bandwidth memory that occupies a programmable address range. Below, illustrative examples from the P4080 are discussed which demonstrate how to configure the CPC in both hardware and software. Finally, examples show methods for measuring performance benchmarking results. Readers should be familiar with the P4080 QorIQ Integrated Multicore Communication Processor Family Reference Manual. Contents 1 Introduction Configuring the CPC SRAM in hardware Modifying the Software configuration Understanding the SRAM performance benchmark Configuring a standalone Linux kernel Revision history Freescale Semiconductor, Inc. Review Draft
2 Configuring the CPC SRAM in hardware 2 Configuring the CPC SRAM in hardware At a high level, the steps required to configure the CPC hardware are shown below: Step Table 1. USDPAA offloading applications Description 1 Use the SRAM mode registers to configure the CPC to use some of its (32) ways as a direct-mapped SRAM memory. 2 Enable the CPC's SRAM mode with the CPCSRCR0[SRAMEN] bit. 3 Control the size of the SRAM address space with the CPCSRCR0[SRAMSZ] bits. 4 Control the base address of the SRAM address space with the CPCSRCR0[SRBARL] and CPCSRCR1[SRBARU] bits. 5 Interleave SRAM address space on the same address boundary by setting the CPCSRCR0[INTLVEN] bit if DRAM addresses are interleaved using the DDR controller configuration registers. (If DDR addresses are not interleaved, SRAM address space cannot be interleaved.) NOTE SRAM interleaving requires that each CPC instance in the system that participates in interleaving be configured to use the same SRAM size and base address. Enabling SRAM interleaving effectively doubles the total SRAM address space. 2.1 Modifying the register settings for CPC SRAM mode Change the CPC SRAM control register 1 (CPCSRCR1) to modify the upper base address when the CPC is used as SRAM. The least significant 16 bits defines the SRAM physical address 16:31. Note that for each CPU core, it is 64 bits address width. But for SRAM, it can only be set up to 48 bits (0xffff_ffff_ffff) The CPC SRAM control register 0 (CPCSRCR0), configures the CPC when it is used as SRAM. The most significant 16 bits defines the SRAM physical address 32:48. This means that the SRAM base address can only be set at 32K boundary. Also, this register is used to configure SRAM size and interleaving mode. The least significant bit of the register is used to enable or disable SRAM mode. In addition to the registers described above, the SRAM/CACHE mode must be enabled using the CPC configuration and status register (CPCCSR0). 3 Modifying the Software configuration The CPC SRAM is designed for cases in which efficiency is critical. For example, for high-speed data loading and data storage and transfer. In the ideal case, SRAM throughput can be up to: CoreNet frequency * CoreNet data width For the P4080 SoC, this works out to 800MHz * 128 bits/sec. That said, real-world performance is limited by software and DMA performance. 2 Review Draft Freescale Semiconductor, Inc.
3 Modifying the Software configuration 3.1 Invoking the U-boot configuration The following shows how to use U-boot to enable the CPC to speed up image loads, decompression, etc. For Linux applications that require SRAM, one can configure the CPC as well as SRAM and as cache in U-boot. Example U-boot SRAM configuration code is shown here: /* Configure the SRAM upper base address */ out_be32(&cpc-> cpcsrcr1, CPC_SRCR1_SRBARU(SRAM_BASE_ADDRESS)); /* Configure the SRAM lower base address, SRAM size and enable SRAM mode */ out_be32(&cpc->cpcsrcr0, CPC_SRCR0_SRAMEN CPC_SRCR0_SRAMSZ_32_WAY CPC_SRCR0_SRBARL(SRAM_BASE_ADDRESS)); /*Enable the SRAM CS */ out_be32(&cpc->cpccsr0, CPC_CSR0_CE); /* Read the configuration to let it work */ in_be32(&cpc-> cpccsr0); /* Set the SRAM access window in memory address space */ law_idx = set_next_law(sram_base_address, LAW_SIZE_1M, LAW_TRGT_IF_DDR_1); /* Set a TLB1 entry for SRAM, it is not necessary in U-boot, just for test. SRAM TLB1 entry will be set in Linux eventually */ tlb_idx = find_free_tlbcam(); set_tlb(1, SRAM_VIRTUAL_BASE_ADDRESS, (u64) SRAM_BASE_ADDRESS, MAS3_SX MAS3_SW MAS3_SR, 0, 0, tlb_idx, BOOKE_PAGESZ_1M, 1); /* Set the other CPC chip as cache */ cpc++ out_be32(&cpc->cpccsr0, CPC_CSR0_CE CPC_CSR0_PE); in_be32(&cpc->cpccsr0); In the U-boot code above, SRAM is mapped to SRAM_BASE_ADDRESS, which is the physical base address defined by the user. It is suggested that the SRAM address not overlap with the DDR controller's region or any other devices' I/O region. U- boot can configure the SRAM base address and size using the hwconfig parameters. 3.2 Linux kernel configuration The SRAM's physical base address and size configured in U-boot must be passed to the Linux kernel as parameters. The sections that follow explain how the kernel allows applications to access SRAM mmap interface callback The QorIQ DPAA SDK includes a Linux SRAM device driver that provides an interface that lets application use the SRAM. An application calls this drivers' mmap interface to access the SRAM address space. In the mmap callback function, the function remap_pfn_range is called for the current user process to map its virtual address to SRAM physical address. However, translation lookaside buffer (TLB) entries for this mapping are not created. static int sram_mmap(struct file *file, struct vm_area_struct *vma) size_t size = vma->vm_end - vma->vm_start; Freescale Semiconductor, Inc. Review Draft 3
4 Modifying the Software configuration if (remap_pfn_range(vma, vma->vm_start, (sram_alloc_addr >> PAGE_SHIFT), size, vma->vm_page_prot)) printk("sram mmap error\r\n"); return -EAGAIN; TLB miss exception handling An application can get a virtual address mapped to SRAM using the mmap system call. However, as stated above, a TLB entry for the mapping is not set up. Therefore, when you access a virtual address returned by mmap, a TLB miss exception is asserted. In the TLB miss exception interrupt service routine (ISR), the function shown below is called to set up a TLB1 entry for this virtual address to physical address translation. static inline void hook_sramcpc_tlb(struct vm_area_struct *vma, unsigned long address, pte_t *ptep) unsigned long pfn = pte_pfn(*ptep); if ((pfn < (sramcpc_pfn_start + sramcpc_pfn_len)) && (pfn >= sramcpc_pfn_start)) unsigned long va = address & ~(sramcpc_phys_size - 1); flush_tlb_mm(vma->vm_mm); settlbcam(usdpaa_tlbcam_index, va, sramcpc_phys_start, sramcpc_phys_size, pte_val(*ptep), 0); Consider an SMP Linux kernel running on an eight CPU core SoC in which each core has its own TLB and is running a single process. When a given process accesses SRAM, an SRAM address translation TLB1 entry is set up by the TLB miss exception ISR of the core on which this process is running. If a second process is spawned on this core and this process accesses SRAM, a TLB miss exception is not asserted. Instead, the address translation uses the TLB entry created when the first process accessed SRAM SRAM memory management All processes share the same SRAM space. Therefore we must break the SRAM into partitions so one process cannot overwrite data written by another. A 1 MB SRAM can be broken into 256 4KB blocks. We create a memory map to record memory use. When an application calls the mmap callback to allocate memory in the SRAM, this map is checked to determine if there is a sufficient contiguous memory to satisfy the request. If there is, the physical beginning address of the contiguous memory (sram_alloc_addr) is mapped to the application's virtual address. The virtual address returned to the application by mmap is BASE_VIRTUAL_ADDRESS + offset where BASE_VIRTUAL_ADDRESS is 0 and offset is the offset to the SRAM base address of the allocated blocks. Otherwise, an error is returned to notify the application that the operation failed. vma->vm_star= BASE_VIRTUAL_ADDRESS+4*1024*begin_blocks; vma->vm_end= vma->vm_star+4*1024*allocated_blocks; remap_pfn_range(vma, vma->vm_start, (sram_alloc_addr >> PAGE_SHIFT), size, vma->vm_page_prot); 4 Review Draft Freescale Semiconductor, Inc.
5 A process is allowed to acquire memory from the SRAM no more than ten times using the mmap interface. Further, before calling the mmap, the application should call ioctl to notify the kernel driver of the alloc ID of the SRAM memory block being acquired. When an SRAM memory block is no longer needed or before a process terminates, the process must call ioctl to free the memory, otherwise a memory leak results. The process ID and alloc ID are used to record memory usage in memory map. Understanding the SRAM performance benchmark 3.3 Using SRAM from a Linux application An application can access the SRAM via the normal driver interface, the mmap system call. When a block of SRAM is no longer needed, the application must call ioctl to free the memory. An application can also use ioctl to get the SRAM physical address for DMA operations. Shown below is typical code that manipulates SRAM: unsigned long long allocid=1; volatile unsigned int* temp_addr; fd = open(cpc_sram_path, O_RDWR); ret = ioctl(fd, CPCSRAM_IOCTL_ALLOC, &allocid); virt = mmap(0, 200*1024, PROT_READ PROT_WRITE,MAP_SHARED MAP_FIXED, fd, 0); temp_addr = (volatile unsigned int*)virt; *temp_addr= *temp_addr + 1; //access the SRAM allocid = 2; ret = ioctl(fd, CPCSRAM_IOCTL_ALLOC, &allocid); virt = mmap(0, 400*1024, PROT_READ PROT_WRITE,MAP_SHARED MAP_FIXED, fd, 0); temp_addr = (volatile unsigned int*)virt; *temp_addr = *temp_addr+10;//access the SRAM allocid = 1; ret = ioctl(fd, CPCSRAM_IOCTL_FREE, &allocid); allocid = 2; ret = ioctl(fd, CPCSRAM_IOCTL_FREE, &allocid); close(fd); 4 Understanding the SRAM performance benchmark In the ideal case, for a CoreNet running at a frequency of 800MHz with a data width of 128 bits, SRAM throughput is: 800 MHz * 128 bits/second However, this calculation does not take into consideration SRAM access wait-states. The DDR controller's working frequency is also 800 MHz, but considering the latency of preparing for 64-byte burst accesses and page open, DDR throughput is about half that of the SRAM throughput. 4.1 Software benchmark We cannot calculate SRAM bandwidth using software because it is extremely difficult to exclude the time consumed executing core instructions. However, it is easy to compare the throughputs of DDR memory and CPC SRAM. The code shown here makes this comparison: dcache_disable(); // L1 & L2 data cache disable for DDR and SRAM benchmark atbl0 = mfspr(526); atbu0 = mfspr(527); time_begin = (u64)atbu0; time_begin <<= 32; time_begin = time_begin (u64)atbl0; Freescale Semiconductor, Inc. Review Draft 5
6 Understanding the SRAM performance benchmark for( j = 0; j < 500; j++)//this loop is easy to test and compare temp=ddr_ptr; for( k = 0;k < (1024*256) / 16; k++) *(temp+0) = *(temp+1); *(temp+1) = *(temp+2); *(temp+14) = *(temp+15); *(temp+15) = *(temp+0); temp=temp+16; /* end inner loop */ /* end outer loop */ atbl1 = mfspr(526); atbu1 = mfspr(527); time_end = (u64)atbu1; time_end <<= 32; time_end = time_end (u64)atbl1; printf("soft DDR cycle expired:0x%llx\r\n", time_end-time_begin); atbl0 = mfspr(526); atbu0=mfspr(527); atbl0 = mfspr(526); atbu0=mfspr(527); time_begin = (u64)atbu0; time_begin <<= 32; time_begin = time_begin (u64)atbl0; for( j = 0; j < 500; j++) temp=sram_ptr; for( k = 0; k < (1024 * 256) / 16; k++) *(temp + 0) = *(temp + 1); *(temp + 1) = *(temp + 2); *(temp + 14) = *(temp + 15); *(temp + 15) = **(temp + 0); temp=temp+16; /* end inner loop */ /* end outer loop */ atbl1 = mfspr(526); atbu1 = mfspr(527); time_end = (u64)atbu1; time_end <<= 32; time_end = time_end (u64)atbl1; printf("soft SRAM cycle expired:0x%llx\r\n", time_end - time_begin); The test code's output proves that the SRAM efficiency is about twice that of DDR memory. soft DDR cycle expired: 0x23eea58e5 soft SRAM cycle expired: 0xfac014a2 4.2 DMA benchmark We cannot exploit the SRAM's superior performance when used for DMA transfers. This is because the OCN which connects the DMA engine has limited bandwidth and creates a bottleneck. As the test results show, the DMA-to-SRAM transfer performance is about the same as the DMA-to-DMA transfer. This limits application of SRAM a great deal. Here is the code for the DMA-to-SRAM and the DMA-to-DMA benchmarks: out_dma32(&dma->satr, FSL_DMA_SATR_SREAD_SNOOP); out_dma32(&dma->datr, FSL_DMA_DATR_DWRITE_SNOOP); out_dma32(&dma->sr, ffff_ffffh); /* clear any errors */ xfer_size = count; //MIN(FSL_DMA_MAX_SIZE, count); out_dma32(&dma->dar, (u32) (dest & FFFF_FFFFh)); out_dma32(&dma->sar, (u32) (src & FFFF_FFFFh)); 6 Review Draft Freescale Semiconductor, Inc.
7 out_dma32(&dma->satr,(in_dma32(&dma->satr)&ffff_fc00) (u32)((u64)src >> 32)); out_dma32(&dma->datr,in_dma32(&dma->datr) (u32)((u64)dest >> 32)); out_dma32(&dma->bcr, xfer_size); out_dma32(&dma->mr, FSL_DMA_MR_DEFAULT 0002_8000h); atbl0=mfspr(526);atbu0=mfspr(527); time_begin = (u64)atbu0; time_begin <= 32; time_begin = time_begin (u64)atbl0; out_dma32(&dma->mr, 0800_0000h FSL_DMA_MR_DEFAULT FSL_DMA_MR_CS 0002_8000h); do status = in_dma32(&dma->sr); while (status & FSL_DMA_SR_CB); out_dma32(&dma->mr, in_dma32(&dma->mr) & ~FSL_DMA_MR_CS); if (status!= 0) printf ("DMA Error: status = %x\n", status); return status; atbl1=mfspr(526);atbu1=mfspr(527); time_end = (u64)atbu1; time_end <<= 32; time_end = time_end (u64)atbl1; printf("hh: 00DMA test time expired:0x%11x\n",time_end-time_begin); Configuring a standalone Linux kernel. 5 Configuring a standalone Linux kernel. A CPC SRAM configuration for a standalone Linux kernel that does not depend on U-boot configuration has not been implemented. However, the sections that follow cover the basic concepts implementing a physical CPC SRAM configuration in a standalone Linux kernel. 5.1 Disable CPC configuration To reconfigure the CPC as SRAM, the CPC configuration should first be disabled. Table 2. Steps to disable CPC Step Action Description 1 Clear all bits of CPC ARn This prevents any new transactions from allocating CPC resources using a write operation. 2 Flush the CPC by performing a dcbf operation on each coherency granule mapped to the memory target (i.e. one dcbf for each 64 bytes. 3 Clear all lock bits by setting CPCCSR0[CPCLFC]. To do this, first read 2MB of contiguous memory in a loop. When this operation completes, the CPC cache lines are filled with this memory region. Then, in a loop, perform a dcbf operation on every 64 bytes to cover this entire memory region, thereby flushing the CPC. - Table continues on the next page... Freescale Semiconductor, Inc. Review Draft 7
8 Revision history Table 2. Steps to disable CPC (continued) Step Action Description 4 Wait for the hardware to clear CPCCSR0[CPCLFC] using a polling loop. 5 Disable the CPC by clearing CPCCSR0[CPCE] Reconfigure CPC as SRAM First, configure the CPC as SRAM in the same manner as described for U-boot above. However, when performing these steps during Linux kernel initialization the kernel halts after dcbf operations. This behavior remains to be analyzed and debugged. 6 Revision history This table summarizes revisions to this document. Table 3. Revision history Revision Date Description 0 07/2013 Initial public release. 8 Review Draft Freescale Semiconductor, Inc.
9 How to Reach Us: Home Page: freescale.com Web Support: freescale.com/support Information in this document is provided solely to enable system and software implementers to use Freescale products. There are no express or implied copyright licenses granted hereunder to design or fabricate any integrated circuits based on the information in this document. Freescale reserves the right to make changes without further notice to any products herein. Freescale makes no warranty, representation, or guarantee regarding the suitability of its products for any particular purpose, nor does Freescale 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 that may be provided in Freescale 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 does not convey any license under its patent rights nor the rights of others. Freescale sells products pursuant to standard terms and conditions of sale, which can be found at the following address: freescale.com/salestermsandconditions. Freescale, the Freescale logo, and QorIQ are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. CoreNet, is a trademark of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. The Power Architecture and Power.org word marks and the Power and Power.org logos and related marks are trademarks and service marks licensed by Power.org Freescale Semiconductor, Inc. Document Number AN4749 Revision 0, 07/2013 Review Draft
How to Run the MQX RTOS on Various RAM Memories for i.mx 6SoloX
Freescale Semiconductor, Inc. Document Number: AN5127 Application Note Rev. 1, 05/2015 How to Run the MQX RTOS on Various RAM Memories for i.mx 6SoloX 1 Introduction This document describes how to customize
Production Flash Programming Best Practices for Kinetis K- and L-series MCUs
Freescale Semiconductor Document Number:AN4835 Application Note Rev 1, 05/2014 Production Flash Programming Best Practices for Kinetis K- and L-series MCUs by: Melissa Hunter 1 Introduction This application
USB to SPI Device Driver Installation Instructions
Freescale Semiconductor User s Guide Document Number: KTUSBSPIDRVUG Rev. 1.0, 10/2012 USB to SPI Device Driver Installation Instructions Table of Contents 1 Introduction........................................................................
etpu Host Interface by:
Freescale Semiconductor Application Note AN2821 Rev. 2, 08/2007 etpu Host Interface by: David Paterson Ming Li MCD Applications 1 Introduction This application note discusses the enhanced Time Processing
QorIQ espi Controller Register Setting Considerations and Programming Examples
Freescale Semiconductor Application Note Document Number: AN4375 Rev. 1, 06/2012 QorIQ espi Controller Register Setting Considerations and Programming Examples About this document This document describes
How To Improve Performance On A P4080 Processor
QorIQ Advanced Multiprocessing (AMP) Series Delivers More than Moore Freescale s new QorIQ AMP series pushes the compute and energy performance envelope beyond the P4080 processor such that its performance
MPR121 Serial Communication
Freescale Semiconductor Document Number: AN3895 Application Note Rev. 2, 02/2013 MPR121 Serial Communication INTRODUCTION The MPR121 uses an I 2 C Serial Interface. The I 2 C protocol implementation and
MCF54418 NAND Flash Controller
Freescale Semiconductor Application Note Document Number: AN4348 Rev. 0, 09/2011 MCF54418 NAND Flash Controller by: Liew Tsi Chung Applications Engineer 1 Introduction The ColdFire MCF5441x family is the
OpenSPARC T1 Processor
OpenSPARC T1 Processor The OpenSPARC T1 processor is the first chip multiprocessor that fully implements the Sun Throughput Computing Initiative. Each of the eight SPARC processor cores has full hardware
Installing Service Pack Updater Archive for CodeWarrior Tools (Windows and Linux) Quick Start
Installing Service Pack Updater Archive for CodeWarrior Tools (Windows and Linux) Quick Start SYSTEM REQUIREMENTS Hardware Operating System Intel Pentium 4 processor, 2 GHz or faster, Intel Xeon, Intel
PowerQUICC II Pro (MPC83xx) PCI Agent Initialization
Freescale Semiconductor Application Note Document Number: AN3373 Rev. 0, 04/2007 PowerQUICC II Pro (MPC83xx) PCI Agent Initialization by: David Smith Field Application Engineering Raleigh, NC In many designs,
Understanding LCD Memory and Bus Bandwidth Requirements ColdFire, LCD, and Crossbar Switch
Freescale Semiconductor Application Note Document Number: AN3606 Rev. 0, 03/2008 Understanding LCD Memory and Bus Bandwidth Requirements ColdFire, LCD, and Crossbar Switch by: Melissa Hunter TSPG Applications
Performance Monitor on PowerQUICC II Pro Processors
Freescale Semiconductor Application Note Document Number: AN3359 Rev. 0, 05/2007 Performance Monitor on PowerQUICC II Pro Processors by Harinder Rai Network Computing Systems Group Freescale Semiconductor,
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
Freescale Semiconductor Document Number: AN4819 Application Note Rev. 1, 10/2013 Building a Project using IAR Eclipse Plugin Processor Expert Microcontrollers Driver Suite Processor Expert Microcontrollers
Installing Service Pack Updater Archive for CodeWarrior Tools (Windows and Linux) Quick Start
Installing Service Pack Updater Archive for CodeWarrior Tools (Windows and Linux) Quick Start SYSTEM REQUIREMENTS Processor Windows OS: Intel Pentium 4 processor, 2 GHz or faster, Intel Xeon, Intel Core,
Bandwidth Calculations for SA-1100 Processor LCD Displays
Bandwidth Calculations for SA-1100 Processor LCD Displays Application Note February 1999 Order Number: 278270-001 Information in this document is provided in connection with Intel products. No license,
UART Boot Loader Design on the Kinetis E Series
Freescale Semiconductor Application Note Document Number: AN4767 Rev. 0, 7/2013 UART Boot Loader Design on the Kinetis E Series by Wang Peng Many applications and products need to upgrade the firmware
76-77 GHz RF Transmitter Front-end for W-band Radar Applications
Freescale Semiconductor Data Sheet Summary for MC33 7-77 GHz RF Transmitter Front-end for W-band Radar Applications The MR2001 is a scalable three package solution for automotive radar modules. The chipset
Building and Debugging a project using Keil MDK-ARM Eclipse plug-in
Freescale Semiconductor Document Number: AN4913 Building and Debugging a project using Keil MDK-ARM Eclipse plug-in Processor Expert Microcontrollers Driver Suite 1. Introduction Processor Expert Microcontrollers
How To Use A Watt Saver On A Microcontroller (Watt Saver) On A Cell Phone Or Mp3 Player
Watt Saver for a Cell Phone AC Adapter Reference Design Document Number: DRM130 Rev 1, 10/2013 2 Freescale Semiconductor, Inc. Contents Section number Title Page Chapter 1 Introduction 1.1 Overview...5
Measuring Cache and Memory Latency and CPU to Memory Bandwidth
White Paper Joshua Ruggiero Computer Systems Engineer Intel Corporation Measuring Cache and Memory Latency and CPU to Memory Bandwidth For use with Intel Architecture December 2008 1 321074 Executive Summary
White Paper. Freescale s Embedded Hypervisor for QorIQ P4 Series Communications Platform
White Paper Freescale s Embedded for QorIQ P4 Series Communications Platform Document Number: EMHYPQIQTP4CPWP Rev 1 10/2008 Overview Freescale Semiconductor s QorIQ communications platform P4 series processors
Freescale 802.15.4 MAC Security Setup
Freescale Semiconductor Application Note Document Number: AN4973 Rev. 0, 7/2014 Freescale 802.15.4 MAC Security Setup MAC 2006 and MAC 2011 Group Key Security Examples By: Alexandru Balmus, Embedded Connectivity
Initializing the TSEC Controller
Freescale Semiconductor Application Note Document Number: AN2925 Rev. 0, 11/2005 Initializing the TSEC Controller by Ahsan Kabir Digital Systems Division Freescale Semiconductor, Inc. Austin, TX This application
The Freescale Embedded Hypervisor
November, 2010 The Freescale Embedded Hypervisor Jacques Landry Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert,
Single Phase Two-Channel Interleaved PFC Operating in CrM
Freescale Semiconductor Application Note Document Number: AN4836 Rev. 0, 12/2013 Single Phase Two-Channel Interleaved PFC Operating in CrM Using the MC56F82xxx Family of Digital Signal Controllers by Freescale
Data Movement Between Big-Endian and Little-Endian Devices
Freescale Semiconductor Application Note AN2285 Rev. 2.2, 3/2008 Data Movement Between Big-Endian and Little-Endian Devices by Kyle Aubrey, Field Technical Leader Ashan Kabir, System Engineering Freescale
QorIQ T4 Family of Processors. Our highest performance processor family. freescale.com
of Processors Our highest performance processor family freescale.com Application Brochure QorIQ Communications Platform: Scalable Processing Performance Overview The QorIQ communications processors portfolio
TWR-KV31F120M Sample Code Guide for IAR Board configuration, software, and development tools Rev.0
TWR-KV31F120M Sample Code Guide for IAR Board configuration, software, and development tools Rev.0 Freescale TWR-KV31F120M Sample Code Guide for IAR KL25_LAB Contents 1 Purpose... 3 2 Getting to know the
Using the Performance Monitor Unit on the e200z760n3 Power Architecture Core
Freescale Semiconductor Document Number: AN4341 Application Note Rev. 1, 08/2011 Using the Performance Monitor Unit on the e200z760n3 Power Architecture Core by: Inga Harris MSG Application Engineering
IRTC Compensation and 1 Hz Clock Generation
Freescale Semiconductor Document Number: AN4257 Application Note Rev. 0, January 2011 IRTC Compensation and 1 Hz Clock Generation by: Derek Liu Applications Engineering Shanghai 1 Introduction The MC9S08GW64
Hardware Configurations for the i.mx Family USB Modules
Freescale Semiconductor Application Note Document Number: AN4136 Rev. 0, 06/2010 Hardware Configurations for the i.mx Family USB Modules by Multimedia Applications Division Freescale Semiconductor, Inc.
Simple Method of Changing the Frequency Range of a Power Amplifier Circuit
Freescale Semiconductor Application Note AN4859 Rev. 0, 8/2014 Simple Method of Changing the Frequency Range of a Power Amplifier Circuit Amplifier designers often face the challenge of modifying an existing
Have both hardware and software. Want to hide the details from the programmer (user).
Input/Output Devices Chapter 5 of Tanenbaum. Have both hardware and software. Want to hide the details from the programmer (user). Ideally have the same interface to all devices (device independence).
Windows 7: Using USB TAP on a Classic CodeWarrior Installation (MGT V9.2 DSC V8.3)
Freescale Semiconductor Document Number: AN4338 Application Note Rev. 1.0, 12/2011 Windows 7: Using USB TAP on a Classic CodeWarrior Installation (MGT V9.2 DSC V8.3) Technical Information & Commercial
Performance Analysis and Software Optimization on Systems Using the LAN91C111
AN 10.12 Performance Analysis and Software Optimization on Systems Using the LAN91C111 1 Introduction This application note describes one approach to analyzing the performance of a LAN91C111 implementation
Quick Start Guide. MRB-KW01 Development Platform Radio Utility Application Demo MODULAR REFERENCE BOARD
Quick Start Guide MRB-KW01 Development Platform Radio Utility Application Demo MODULAR REFERENCE BOARD Quick Start Guide Get to Know the MRB-KW01x Module UART Selector ANT 1 RFIO (TX/RX) USB 2.0 Serial
Software Real Time Clock Implementation on MC9S08LG32
Freescale Semiconductor Document Number: AN4478 Rev. 0, 03/2012 Software Real Time Clock Implementation on MC9S08LG32 by: Nitin Gupta Automotive and Industrial Solutions Group 1 Introduction The MC9S08LG32
MQX Lite Real-Time Operating System User Guide
MQX Lite Real-Time Operating System User Guide Document Number: MQXLITEUG Rev 1.1, 02/2014 2 Freescale Semiconductor, Inc. Contents Section number Title Page Chapter 1 Introduction 1.1 Overview of MQX
AN10860_1. Contact information. NXP Semiconductors. LPC313x NAND flash data and bad block management
Rev. 01 11 August 2009 Application note Document information Info Keywords Abstract Content LPC3130 LPC3131 LPC313x LPC313X LPC3153 LPC3154 LPC3141 LPC3142 LPC31XX LPC31xx Linux kernel Apex boot loader
CodeWarrior Development Studio for Freescale S12(X) Microcontrollers Quick Start
CodeWarrior Development Studio for Freescale S12(X) Microcontrollers Quick Start SYSTEM REQUIREMENTS Hardware Operating System Disk Space PC with 1 GHz Intel Pentum -compatible processor 512 MB of RAM
AN10850. LPC1700 timer triggered memory to GPIO data transfer. Document information. LPC1700, GPIO, DMA, Timer0, Sleep Mode
LPC1700 timer triggered memory to GPIO data transfer Rev. 01 16 July 2009 Application note Document information Info Keywords Abstract Content LPC1700, GPIO, DMA, Timer0, Sleep Mode This application note
RF Power LDMOS Transistors Enhancement--Mode Lateral MOSFETs
Freescale Semiconductor Technical Data RF Power LDMOS Transistors Enhancement--Mode Lateral MOSFETs These 90 W RF power LDMOS transistors are designed for wideband RF power amplifiers covering the frequency
Freescale MQX USB Device User Guide
Freescale MQX USB Device User Guide MQXUSBDEVUG Rev. 4 02/2014 How to Reach Us: Home Page: freescale.com Web Support: freescale.com/support Information in this document is provided solely to enable system
White Paper Utilizing Leveling Techniques in DDR3 SDRAM Memory Interfaces
White Paper Introduction The DDR3 SDRAM memory architectures support higher bandwidths with bus rates of 600 Mbps to 1.6 Gbps (300 to 800 MHz), 1.5V operation for lower power, and higher densities of 2
Buffer Management 5. Buffer Management
5 Buffer Management Copyright 2004, Binnur Kurt A journey of a byte Buffer Management Content 156 A journey of a byte Suppose in our program we wrote: outfile
Intel Data Direct I/O Technology (Intel DDIO): A Primer >
Intel Data Direct I/O Technology (Intel DDIO): A Primer > Technical Brief February 2012 Revision 1.0 Legal Statements INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE,
Family 12h AMD Athlon II Processor Product Data Sheet
Family 12h AMD Athlon II Processor Publication # 50322 Revision: 3.00 Issue Date: December 2011 Advanced Micro Devices 2011 Advanced Micro Devices, Inc. All rights reserved. The contents of this document
MPLAB TM C30 Managed PSV Pointers. Beta support included with MPLAB C30 V3.00
MPLAB TM C30 Managed PSV Pointers Beta support included with MPLAB C30 V3.00 Contents 1 Overview 2 1.1 Why Beta?.............................. 2 1.2 Other Sources of Reference..................... 2 2
Flexible Active Shutter Control Interface using the MC1323x
Freescale Semiconductor Document Number: AN4353 Application Note Rev. 0, 9/2011 Flexible Active Shutter Control Interface using the MC1323x by: Dennis Lui Freescale Hong Kong 1 Introduction This application
i.mx28 Ethernet Performance on Linux
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
TECHNOLOGY BRIEF. Compaq RAID on a Chip Technology EXECUTIVE SUMMARY CONTENTS
TECHNOLOGY BRIEF August 1999 Compaq Computer Corporation Prepared by ISSD Technology Communications CONTENTS Executive Summary 1 Introduction 3 Subsystem Technology 3 Processor 3 SCSI Chip4 PCI Bridge
Intel X38 Express Chipset Memory Technology and Configuration Guide
Intel X38 Express Chipset Memory Technology and Configuration Guide White Paper January 2008 Document Number: 318469-002 INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE,
The Quest for Speed - Memory. Cache Memory. A Solution: Memory Hierarchy. Memory Hierarchy
The Quest for Speed - Memory Cache Memory CSE 4, Spring 25 Computer Systems http://www.cs.washington.edu/4 If all memory accesses (IF/lw/sw) accessed main memory, programs would run 20 times slower And
AN10950. LPC24XX external memory bus example. Document information
Rev. 1.1 9 November 2012 Application note Document information Info Content Keywords LPC24XX, EMC, memory, SDRAM, SRAM, flash Abstract This application note will detail an example design illustrating how
Intel Q35/Q33, G35/G33/G31, P35/P31 Express Chipset Memory Technology and Configuration Guide
Intel Q35/Q33, G35/G33/G31, P35/P31 Express Chipset Memory Technology and Configuration Guide White Paper August 2007 Document Number: 316971-002 INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION
Installation of the MMA955xL CodeWarrior Service Pack Author: Fengyi Li Application Engineer
Freescale Semiconductor Application Note Document Number: AN4128 Rev. 0, 10/2011 Installation of the MMA955xL CodeWarrior Service Pack Author: Fengyi Li Application Engineer 1 Overview The Freescale MMA955xL
COMPUTER HARDWARE. Input- Output and Communication Memory Systems
COMPUTER HARDWARE Input- Output and Communication Memory Systems Computer I/O I/O devices commonly found in Computer systems Keyboards Displays Printers Magnetic Drives Compact disk read only memory (CD-ROM)
DDR Validation Tool User Guide
DDR Validation Tool User Guide Document Number: QCVSDDRVUG Rev 4.2, 03/2015 2 Freescale Semiconductor, Inc. Contents Section number Title Page Chapter 1 DDR Validation Tool 1.1 Installing DDR Validation
How To Control A Motor Control On An Hvac Platform
Freescale Semiconductor Document Number:AN4616 Application Note Rev. 0, 10/2012 Flap Motor Control Based On HVAC Platform by: Shawn Shi, Albert Chen, Alex Liu 1 Introduction According to the world market
Performance Characteristics of VMFS and RDM VMware ESX Server 3.0.1
Performance Study Performance Characteristics of and RDM VMware ESX Server 3.0.1 VMware ESX Server offers three choices for managing disk access in a virtual machine VMware Virtual Machine File System
Binary search tree with SIMD bandwidth optimization using SSE
Binary search tree with SIMD bandwidth optimization using SSE Bowen Zhang, Xinwei Li 1.ABSTRACT In-memory tree structured index search is a fundamental database operation. Modern processors provide tremendous
Intel 965 Express Chipset Family Memory Technology and Configuration Guide
Intel 965 Express Chipset Family Memory Technology and Configuration Guide White Paper - For the Intel 82Q965, 82Q963, 82G965 Graphics and Memory Controller Hub (GMCH) and Intel 82P965 Memory Controller
Oracle Database Scalability in VMware ESX VMware ESX 3.5
Performance Study Oracle Database Scalability in VMware ESX VMware ESX 3.5 Database applications running on individual physical servers represent a large consolidation opportunity. However enterprises
Accelerating High-Speed Networking with Intel I/O Acceleration Technology
White Paper Intel I/O Acceleration Technology Accelerating High-Speed Networking with Intel I/O Acceleration Technology The emergence of multi-gigabit Ethernet allows data centers to adapt to the increasing
PAC52XX Clock Control Firmware Design
APPLICATION NOTE PAC52XX Clock Control Firmware Design TM Marc Sousa Senior Manager, Systems and Firmware www.active-semi.com Copyright 2014 Active-Semi, Inc. TABLE OF CONTENTS APPLICATION NOTE... 1 Table
Scanning Comparator (ScanComp) Features. General Description. Input/Output Connections. When to Use a Scanning Comparator. clock - Digital Input* 1.
Scanning Comparator (ScanComp) 1.0 Features Scan up to 64 single ended or differential channels automatically Note The number of input and output channels will be limited by the hardware available in the
VxWorks Guest OS Programmer's Guide for Hypervisor 1.1, 6.8. VxWorks GUEST OS PROGRAMMER'S GUIDE FOR HYPERVISOR 1.1 6.8
VxWorks Guest OS Programmer's Guide for Hypervisor 1.1, 6.8 VxWorks GUEST OS PROGRAMMER'S GUIDE FOR HYPERVISOR 1.1 6.8 Copyright 2009 Wind River Systems, Inc. All rights reserved. No part of this publication
Designing an Induction Cooker Using the S08PT Family
Freescale Semiconductor, Inc. Document Number: AN5030 Application Note Rev. 0 11/2014 Designing an Induction Cooker Using the S08PT Family by: Leo Pan, Dennis Lui, T.C. Lun 1 Introduction This application
Eight Ways to Increase GPIB System Performance
Application Note 133 Eight Ways to Increase GPIB System Performance Amar Patel Introduction When building an automated measurement system, you can never have too much performance. Increasing performance
CodeWarrior Development Studio Floating Licensing Quick Start
CodeWarrior Development Studio Floating Licensing Quick Start This quick start guide explains how to set up a floating license server of Freescale software products licensed with FLEXlm (e.g. CodeWarrior).
Programming Audio Applications in the i.mx21 MC9328MX21
Freescale Semiconductor Application Note Document Number: AN2628 Rev. 1, 10/2005 Programming Audio Applications in the MC9328MX21 by: Alfred Sin 1 Abstract The MC9328MX21 () processor has two dedicated
I/O Device and Drivers
COS 318: Operating Systems I/O Device and Drivers Prof. Margaret Martonosi Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall11/cos318/ Announcements Project
MPC8245/MPC8241 Memory Clock Design Guidelines: Part 1
Freescale Semiconductor AN2164 Rev. 4.1, 03/2007 MPC8245/MPC8241 Memory Clock Design Guidelines: Part 1 by Esther C. Alexander RISC Applications, CPD Freescale Semiconductor, Inc. Austin, TX This application
SOC architecture and design
SOC architecture and design system-on-chip (SOC) processors: become components in a system SOC covers many topics processor: pipelined, superscalar, VLIW, array, vector storage: cache, embedded and external
TCP Servers: Offloading TCP Processing in Internet Servers. Design, Implementation, and Performance
TCP Servers: Offloading TCP Processing in Internet Servers. Design, Implementation, and Performance M. Rangarajan, A. Bohra, K. Banerjee, E.V. Carrera, R. Bianchini, L. Iftode, W. Zwaenepoel. Presented
AVR32701: AVR32AP7 USB Performance. 32-bit Microcontrollers. Application Note. Features. 1 Introduction
AVR32701: AVR32AP7 USB Performance Features Linux USB bulk transfer performance ATSTK1000 (32-bit SDRAM bus width) ATNGW100 (16-bit SDRAM bus width) GadgetFS driver and gadgetfs-test application USB performance
Motorola 8- and 16-bit Embedded Application Binary Interface (M8/16EABI)
Motorola 8- and 16-bit Embedded Application Binary Interface (M8/16EABI) SYSTEM V APPLICATION BINARY INTERFACE Motorola M68HC05, M68HC08, M68HC11, M68HC12, and M68HC16 Processors Supplement Version 2.0
Qorivva MPC5643L Dual Processor Mode Mark Ruthenbeck Applications Engineering Microcontroller Solutions Group
Freescale Semiconductor Application Note Document Number: AN4034 Rev. 0, 03/2011 Qorivva MPC5643L Dual Processor Mode by: Mark Ruthenbeck Applications Engineering Microcontroller Solutions Group 1 Scope
Software and Support Activation. Quick Start Guide
Software and Support Activation Quick Start Guide Quick Start Guide Welcome Welcome to the Freescale Software Development tools and support activation guide. This document guides you through the registration
Multi-Threading Performance on Commodity Multi-Core Processors
Multi-Threading Performance on Commodity Multi-Core Processors Jie Chen and William Watson III Scientific Computing Group Jefferson Lab 12000 Jefferson Ave. Newport News, VA 23606 Organization Introduction
MLPPP in the Evolving Radio Access Network
Freescale Semiconductor White Paper Document Number: MLPPPWP Rev. 0, 09/2010 MLPPP in the Evolving Radio Access Network by Networking and Multimedia Group Freescale Semiconductor, Inc. East Kilbride, Scotland
Family 10h AMD Phenom II Processor Product Data Sheet
Family 10h AMD Phenom II Processor Product Data Sheet Publication # 46878 Revision: 3.05 Issue Date: April 2010 Advanced Micro Devices 2009, 2010 Advanced Micro Devices, Inc. All rights reserved. The contents
AMD PhenomII. Architecture for Multimedia System -2010. Prof. Cristina Silvano. Group Member: Nazanin Vahabi 750234 Kosar Tayebani 734923
AMD PhenomII Architecture for Multimedia System -2010 Prof. Cristina Silvano Group Member: Nazanin Vahabi 750234 Kosar Tayebani 734923 Outline Introduction Features Key architectures References AMD Phenom
Software Datapath Acceleration for Stateless Packet Processing
June 22, 2010 Software Datapath Acceleration for Stateless Packet Processing FTF-NET-F0817 Ravi Malhotra Software Architect Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions
MSC8156 and MSC8157 PCI Express Performance
Freescale Semiconductor Application Note Document Number: AN3935 Rev. 1, 11/2011 MSC8156 and MSC8157 PCI Express Performance This application note presents performance measurements of the MSC8156 and MSC8157
Computer Systems Structure Main Memory Organization
Computer Systems Structure Main Memory Organization Peripherals Computer Central Processing Unit Main Memory Computer Systems Interconnection Communication lines Input Output Ward 1 Ward 2 Storage/Memory
AMD Opteron Quad-Core
AMD Opteron Quad-Core a brief overview Daniele Magliozzi Politecnico di Milano Opteron Memory Architecture native quad-core design (four cores on a single die for more efficient data sharing) enhanced
Introduction to the NI Real-Time Hypervisor
Introduction to the NI Real-Time Hypervisor 1 Agenda 1) NI Real-Time Hypervisor overview 2) Basics of virtualization technology 3) Configuring and using Real-Time Hypervisor systems 4) Performance and
Freescale Semiconductor, Inc. Product Brief Integrated Portable System Processor DragonBall ΤΜ
nc. Order this document by MC68328/D Microprocessor and Memory Technologies Group MC68328 MC68328V Product Brief Integrated Portable System Processor DragonBall ΤΜ As the portable consumer market grows
1. Memory technology & Hierarchy
1. Memory technology & Hierarchy RAM types Advances in Computer Architecture Andy D. Pimentel Memory wall Memory wall = divergence between CPU and RAM speed We can increase bandwidth by introducing concurrency
Introduction to PCI Express Positioning Information
Introduction to PCI Express Positioning Information Main PCI Express is the latest development in PCI to support adapters and devices. The technology is aimed at multiple market segments, meaning that
System Performance Analysis of an All Programmable SoC
XAPP1219 (v1.1) November 5, 2015 Application Note: Zynq-7000 AP SoC System Performance Analysis of an All Programmable SoC Author: Forrest Pickett Summary This application note educates users on the evaluation,
73S1215F, 73S1217F Device Firmware Upgrade Host Driver/Application Development User s Guide April 27, 2009 Rev. 1.00 UG_12xxF_029
Simplifying System Integration TM 73S1215F, 73S1217F Device Firmware Upgrade Host Driver/Application Development User s Guide April 27, 2009 Rev. 1.00 UG_12xxF_029 73S1215, 73S1217F DFU Host Driver/Application
Intel StrongARM SA-110 Microprocessor
Intel StrongARM SA-110 Microprocessor Product Features Brief Datasheet The Intel StrongARM SA-110 Microprocessor (SA-110), the first member of the StrongARM family of high-performance, low-power microprocessors,
Developing an Application for the i.mx Devices on the Linux Platform
Freescale Semiconductor Application Note Document Number: AN3870 Rev. 0, 08/2010 Developing an Application for the i.mx Devices on the Linux Platform by Multimedia Applications Division Freescale Semiconductor,
COLO: COarse-grain LOck-stepping Virtual Machine for Non-stop Service
COLO: COarse-grain LOck-stepping Virtual Machine for Non-stop Service Eddie Dong, Yunhong Jiang 1 Legal Disclaimer INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE,
HEF4011B. 1. General description. 2. Features and benefits. 3. Ordering information. 4. Functional diagram. Quad 2-input NAND gate
Rev. 6 10 December 2015 Product data sheet 1. General description 2. Features and benefits 3. Ordering information The is a quad 2-input NAND gate. The outputs are fully buffered for the highest noise
