Download Cortex A5 + Cortex M4
Document related concepts
no text concepts found
Transcript
Electrocomponentes S.A. SASE 2012 Vybrid Dual Core ARM CortexTM A5-M4 Freescale Agenda • Microcontroladores vs. Microprocesadores. • Aplicaciones. • Comparacion de Arquitecturas. – Arquitectura Cortex A5. – Arquitectura Cortex M4. • Línea de productos Vybrid. • Herramientas de programación y entornos de desarrollo. ¿Qué es un Microprocesador? • Un Microprocesador (uP) es un circuito integrado que incorpora en su interior una unidad central de proceso (CPU) y todo un conjunto de elementos lógicos que permiten enlazarlo con otros dispositivos como pueden ser memorias y puertos de entrada y salida (I/O). Es un sistema del tipo “ABIERTO”. ¿Qué es un Microcontrolador? • Un microcontrolador (uC) es un circuito integrado que nos ofrece las posibilidades de un pequeño computador. Es decir, que en su interior podemos encontrar un procesador, memorias, y varios periféricos (puertos I/O, A/Ds, D/A, etc.). Bonus • Un procesador digital de señales o DSP (sigla en inglés de digital signal processor) es un sistema basado en un microprocesador que posee un juego de instrucciones, un hardware (MAC) y un software optimizados para aplicaciones que requieran operaciones numéricas a muy alta velocidad. Debido a esto es especialmente útil para el procesado y representación de señales analógicas en tiempo real. ¿Donde usar un microcontrolador? • Microcontroladores – Aplicaciones de media y baja gama, donde habitualmente se requiere Flash embebida. – Aplicaciones portátiles y de bajo consumo. – Donde se necesite manejo rápido de puertos de entrada y salida. – Donde se necesite una respuesta en “tiempo real”, es decir baja latencia en las interrupciones. – Aplicaciones típicas pueden ser: • Medidores de consumo (Metering) • Aplicaciones medicas e instrumentación. • Automatizacion de facbricas y control de edificios. • Linea blanca, accesorios de PC y aplicaciones de consumo. Kinetis Microcontrollers Design Potential. Realized Scalable solutions from 50 to 200 MHz built on ARM® Cortex™-M4 • Up to 4 MB flash / 512 KB SRAM • Ethernet & USB HS • Support for DDR and NAND • Segment or graphics LCD • Real-time, deterministic operating systems like MQX, Micrium uC/OS-III, FreeRTOS, ThreadX, embOS ¿Donde usar un microprocesador? • Microprocesadores i.MX Applications Processors Your Interface to the World. Industry-leading scalable, versatile and secure solutions from 500 Mhz to 1.2 GHz built on ARM® ARM9 ™, ARM11™, Cortex™-A8 and Cortex ™-A9 • Single, dual and quad core • Triple play graphics • Up to four displays • Mobile, PC, auto and industrial interfaces • Linux • Android • Windows • QNX – Aplicaciones de alta gama, donde se requiera interfases de usuario avanzadas y el manejo de multimedia una alta definición. – Donde se necesite trabajar con sistemas operativos. – Donde se necesite Cuando se necesite trabajar con protocolos de multimedia como ser MP3, MPG4, etc. – Aplicaciones típicas pueden ser: • Soluciones de eReader • Sistemas de infotainment (información y entretenimiento) • Equipos de diagnostico por imágenes. • Redes (Networking), Router, Switch. • Maquinas de juego. ¿Y el resto de las aplicaciones? • Aplicaciones en tiempo Real que requieren graficos en 2D y Gráficos Vectoriales Redimensionables (scalable vector graphics - SVG) • Soluciones optimizadas de audio para aplicaciones automotrices y de consumo. • Preciso control de motores. • Bus de comunicaciones Ethernet industrial • Puntos de venta. Introducing the New Vybrid Controller Solutions Total System Solution Rich Apps in Real Time Everything you need at your fingertips to go from concept to market faster and easier Unprecedented System Integration Ensure peace of mind for applications requiring secure real-time control and rich human-machine interaction Optimal System Performance Drive optimal power and performance through a portfolio of products that provide the right levels of applications processing and real-time control for a range of systems Vybrid • Son dispositivos basados en una arquitecuta de multiprocesamiento asimetrica usando cores ARM® cores. El portfolio de Vybrid ofece al mercado el unico, sistema de bajo consumo que provee a los clientes un camino para combinar aplicaciones que requieren display graficos de alta resolucion y conectividad en tiempo real determinista. Esto permite al cliente crear sistema que simultaneamente corren un sistema operativo de alto nivel como ser Linux y un sistema operativo de tiempo real como ser MQX en el mismo dispositivo. Manejo centralizado de edificios A5 Sensor s • High Level OS i.e. Linux • Human machine interfaces –Display, Camera, keypad • Connectivity –Ethernet, WiFi, USB Analog ADC ADC PWM FlexTimer DAC Core ARM® Cortex-A5 Up to 500 MHz Core ARM® Cortex-M4 Up to 167 MHz DDR NAND EBUS UART I2C I2C CAN CAN Security TD SDIO SDIO Wi-Fi Ethernet ENET LAN USB Host USB USB OTG USB GPIO GPIO Quad SPI DDR-C Audio Display and Imaging NAND-C External Bus M4 • Real-Time OS i.e. MQX –Power Mgmt –Control of I/O peripherals –ADC control –Audio control for Alarm UART DAC Memory I/F Q SPI Communication IP Camera Audio CODEC Touch Screen Audio In Tamper Detection USB Keypa d ePos Multimedia A5 Motor Control • High Level OS i.e. Linux • Human machine interfaces –Display, Camera, keypad • Connectivity –Ethernet, WiFi, USB • Security –TrustZone, Boot Analog ADC Audio Out ADC PWM FlexTimer DAC Core ARM® Cortex-A5 Up to 500 MHz Core ARM® Cortex-M4 Up to 167 MHz DDR NAND EBUS M4 • Real-Time OS i.e. MQX –Power Mgmt –Control of I/O peripherals –ADC/PWM for motor control –Audio control for Alarm & information UART UART I2C I2C CAN CAN Security TD SDIO SDIO Wi-Fi Ethernet ENET LAN USB Host USB DAC Memory I/F Q SPI Communication Quad SPI DDR-C Audio NAND-C Display and Imaging External Bus USB OTG USB GPIO GPIO Trigge r Audio CODEC Touch Screen Audio In Tamper Detectio n USB Keyp ad Monitor Hospitalario Portátil Ejemplo de arquitectura de multiprocesamiento asimétrica Cortex-A5 Non-Critical Code (Host OS) Cortex-M4 Events Critical-Code Inter-Processor Calls Linux communication stacks DLL, graphics, everything else ... • Importance of HMI in medical is becoming more important, however FDA approval is lengthy even for minor changes to the product • With a single-chip, dual-core device, medical customers can segment the main application code into a) Non-critical sections and b) Critical sections Only “Critical Code” subjected to FDA approval Custom algorithms Measurement Signal biasing acquisition • Changes to critical sections can require FDA approval. Approval process can be minimized for changes to non-critical section (i.e. integrating a new communication interface) • Cortex-M4 core is ideally suited to handle realtime functions of patient critical health parameters, while the Cortex-A5 is ideal for applications processing of the HMI Arquitecturas ARM • ARM posee un gran numero de arquitecturas, las mas difundidas son: – ARMv4T (ARM7TDMI y ARM9T) – ARMv5TEJ (ARM926EJ y ARM7EJ) – ARMv6 (ARM11) – ARMv6-M (Cortex-M0) – ARMv7 • Perfil M, diseñado para aplicaciones de microcontroladores, un procesamiento eficiente es tan importante como, el bajo consumo y un bajo costo. • Perfil R, diseñado para aplicaciones embebidas de alta prestaciones, en los cuales un desempeño en tiempo real es necesario. • Perfil A, diseñado para correr sistemas operativos tales como Linux o Windows CE. Arquitecturas ARM Soluciones ARM de Freescale Performance i.MX6 i.MX6 Series Series ARM ARM Cortex-A9 Cortex-A9 i.MX5x i.MX5x ARM ARM Cortex-A8 Cortex-A8 Vybrid Vybrid Controller Controller Solutions Solutions ARM Cortex-A5 ARM Cortex-M4 i.MX35 i.MX35 ARM ARM®® 11 11 i.MX2xx i.MX2xx ARM ARM 99 Kinetis Kinetis MCUs MCUs ARM ARM Cortex-M4 Cortex Cortex-M4 Integration Arquitectura • La arquitectura de un procesador esta formada por: – La arquitectura del set de instrucciones (ISA). – El ó los buses de comunicaciones. – La segmentación (pipeline). – El soporte de memoria (virtual/protegida). ISA – Tipo de Instrucciones • Cuando hablemos del set de instrucciones o mejor dicho la arquitectura del set de instrucciones (ISA), se tendrá en cuenta varios elementos. – El tipo de datos con que trabaja. • En nuestro caso todas las arquitecturas que analizaremos son de 32 bits. Todas van a soportar trabajar con datos 8, 16 y 32 bits. Y en el caso de los CortexTM-A también con 64 bits. – El tipo de instrucciones propiamente dicho. – Los registros. – Los modos de direccionamiento. – Las excepciones/interrupciones y su manejo. ISA – Tipo de Instrucciones • Los sets de instrucciones suele estar comúnmente separados en dos grupos: – RISC: Reduce Instuction Set Computer. La filosofía de estos dispositivos se concentra en reducir la complejidad de las instrucciones desempeñadas por el hardware, porque es fácil proveer mayores flexibilidad e inteligencia en el software que en el hardware, lo que conlleva un aumento de la complejidad del compilador. – CISC:Complex Instruction Set Computer. Esta filosofía se basa en aumentar la complejidad del hardware para la funcionalidad de las instrucciones, lo que conlleva un set de instrucciones mas complicado, pero produce que el compilador utilice menos recursos. ISA – Tipo de Instrucciones • Todas los procesadores ARM poseen un set de intrucciones tipo RISC. • Las principales características de una arquitectura tipo RISC son: – Gran cantidad y uniformidad de registros, que pueden almacenar datos y direcciones. Actuando como memoria local de acceso rápido para todas las operaciones de procesamiento de datos. – Arquitectura Load-Store. – Modos de direccionamiento simples, con todas las direcciones de load/store siendo determinadas desde contenidos de registros y campos de instrucciones. – Cantidad de campos y largos de instrucciones fijos, lo que facilita la decodificación de la mismas. – Reducido numero de instrucciones, las cuales debido a su simplicidad pueden ser ejecutadas en un solo ciclo de maquina. El complilador sintetizara operaciones complejas en múltiples operaciones sencillas. • Estas características, generan un aumento del desempeño del procesador con el costo de un aumento en el tamaño del código. ISA – Terminos • MIPS es el acrónimo de "millones de instrucciones por segundo". Es una forma de medir la potencia de los procesadores. Sin embargo, esta medida sólo es útil para comparar procesadores con el mismo juego de instrucciones y usando benchmarks que fueron compilados por el mismo compilador y con el mismo nivel de optimización. • El Dhrystone es un pequeño benchmark sintético que pretende ser representativo de programación entera de sistemas. Está basado en estadísticas publicadas sobre uso de particularidades de los lenguajes de programación, sistemas operativos, compiladores, editores, etc. Set de Instrucciones • Inicialmente los procesadores ARM solo tenían un set de instrucciones de 32 bits (set ARM). • A partir de la arquitectura ARMv4T, se incorpora un set de instrucciones de 16 bits (set Thumb). • Este nuevo set de instrucciones: – Reduce las funcionalidades del procesador, ya que para reducir el largo de instrucciones son eliminados de este los bits de ejecución condicional y uno de los operadores que las instrucciones de 32 bits incluían. – Aumenta la cantidad de instrucciones para realizar una tarea particular, pero disminuye la densidad de código total. – Esta reducción de funcionalidades produce una disminucion del desempeño, en el caso de un ARM7TDMI de los 0.94 DMIPS/Mhz en modo ARM, pasa a 0.74 DMIPS/Mhz en modo Thumb. – En sistemas donde los puertos o el ancho del bus es menor a 32 bits se consigue un aumento de desempeño trabajando en modo Thumb respecto al modo ARM. Set de instrucciones • A partir del procesador ARM1156 (arquitectura ARMv6T2), se incorpora el set de instrucciones Thumb 2. • Segunda generación del set Thumb. – Blended 16 bit y 32 bit set de instrucciones. – 25% mas rapido que Thumb – 30% mas chico que ARM. • Incrementa el desempeño pero mantiene la densidad de código. • Maximiza el cache y el uso de la memoria TCM. Set de Instrucciones • Cortex M4 – Thumb®-2 / Thumb – Single cycle 16,32-bit MAC – Single cycle dual 16bit MAC – 8,16-bit SIMD arithmetic – Hardware Divide (2-12 Cycles) • Cortex A5 – ARM – Thumb®-2 / Thumb – DSP & SIMD extensions – VFPv4 Floating Point (optional) – NEON™ Advanced SIMD (optional) – Jazelle® DBX and RCT Bus de comunicaciones Arquitectura Harvard Arquitectura Von Neumann Segmentación • Segmentación: pipeline, es un método por el cual se consigue aumentar el rendimiento de algunos sistemas electrónicos digitales (microprocesadores). La segmentación consiste en descomponer la ejecución de cada instrucción en varias etapas para poder empezar a procesar una instrucción diferente en cada ciclo de maquina y de esta forma trabajar con varias simultáneamente. Segmentación • Algunos microprocesadores tienen las siguientes etapas en una instrucción: – IF: búsqueda – ID: decodificación – EX: ejecución de unidad aritmético lógica – MEM: memoria – WB: escritura • Cada una de estas etapas de la instrucción usa en exclusiva un hardware determinado del procesador, de tal forma que la ejecución de cada una de las etapas en principio no interfiere en la ejecución del resto. Segmentación • Algunos procesadores poseen una segmentación que permite comenzar mas de una instrucción por ciclo de maquina, es decir tiene “n” etapas de pipeline y de esta forma conseguir mayor paralelismo. • Existen dos tipos de arquitecturas para este tipo de segmentación: – Superescalar – VLIW (Very Long Instruction Word) • La diferencia de estas arquitecturas radica en quien decide que instrucciones se ejecutan en paralelo. – Superescalar, lo decide el procesador en tiempo de ejecución. – VLIW, lo decide el programador o el compilador. Segmentación • Cortex M4 – 3 etapas mas predicción de salto. – Arquitectura simple – Unidades de ejecución • SPFPU • v7-ME (DSP+SIMD) • Cortex A5 – 8 etapas mas predicción de salto. – Arquitectura superescalar limitada (ALU + Br) – Unidades de ejecución • • • • VFPv3 (SP + DP FPU) NEON SIMD MMU TrustZone Soporte de memoria • La o las unidades de soporte de memoria son dispositivos de Hardware formado por un grupo de circuito integrados, responsable del manejo de los accesos a la memoria por parte de la Unidad de Procesamiento Central (CPU). • Entre las funciones de estos dispositivos se encuentran la traducción de las direcciones lógicas (o virtuales) a direcciones físicas (o reales), la protección de la memoria, el control de caché y, en arquitecturas de computadoras más simples (especialmente en sistemas de 8 bits), Bank switching. • En la actualidad muchos procesadores separan la funciones de traducción de direcciones de memoria y de protección de memoria en dos unidades, llamando a la primera MMU (VMSA como lo suele llamar ARM) y a la segunda MPU (PMSA como lo suele llamar ARM). • Cache: Un caché es un sistema especial de almacenamiento de alta velocidad. Puede ser tanto un área reservada de la memoria principal como un dispositivo de almacenamiento de alta velocidad independiente. • TCM: Memoria fuertemente acoplada (en inglés: Tightly Coupled Memory), es la memoria del tipo que tiene los microcontroladores, a la que se accede directamente. La memoria en sistemas con cache no es este tipo de memoria, ya que esta entre la memoria y el micro se encuentra el cache. Soporte de Memoria • Cortex M4 – CodeCache, SystemCache, TCM (Lower, Upper) – CodeCache = 16 KB, 2-way SA – SystemCache = 32 KB, 2way SA – 32 byte cache line size (4 beat, 64-bit burst) – TCML(ower) = 32 KB – TCMU(pper) = 32 KB Accesses from other masters via backdoor port • Cortex A5 – I-Cache, D-Cache – I-Cache = 32 KB, 2-way SA – D-Cache = 32 KB, 4-way SA – 32 byte cache line size (4 beat, 64-bit burst) – Optional L2 Cache – L2-Cache = 512 KB, 8-way SA – 32 byte cache line size, (4 beat, 64-bit burst) Comparación Core Arq. Característic as Cache (I/D)/ MMU Velocidad de core Consumo del core MIPS @ MHz 3-stage + branch speculation Cortex-M4 ARMv7-ME (Harvard) Thumb, Thumb-2, no cache, 50-200Mhz 157 µW/MHz - 8 µW/MHz 300-950+Mhz 13 DMIPS/mW MPU optional. 1.25 DMIPS/MHz Floating Point Unit, DSP. 8-stage, single issue, In order Cortex-A5 ARMv7-A variable (L1+L2), ARM,VFP, 40nm (Harvard) NEON,Thumb , Thumb-2. MMU+TrustZo ne 1.57 DMIPS/MHz por núcleo (hasta 4) Porfolio de productos Freescale 8-bit MCUs 16-bit MCUs Up to 50 MHz Up to 130 MHz Flash 1 KB to 128 KB Flash, RAM 1KB to 1MB Analog I/O, ADC LCD, USB, RF Measurement, Sensing, motor control 32-bit MCUs ColdFire & Kinetis® ARM Cortex-M4 Up to 150 MHz Flash 128 KB to 512 KB ARM MPUs i.MX ARM Cortex-A9, A8 & ARM11, ARM9 StarCore™ DSP QorIQ Qonverge Multimode Solutions for Small and Large Cell mkts 400MHz to >1GHz 300MHz to >2GHz 6GHz of processing power Cache, RAM, ROM Cache RAM, ROM Cache RAM, ROM Cache RAM, ROM USB, GbE, PCIe, SATA, sRIO sRIO, GbE PCIe Telecom, media gateways, base stations Antenna interface application accelerators USB, CAN, SATA, USB, Ethernet, CAN, LCD, PCIe, Ethernet LCD, ADC, PWM, SPI Connectivity, Security, Industrial Automation, Motor Control, POS & Consumer, Motion Control, HMI, Digital Power, Lighting, Green Energy Industrial Automation Medical PWM, ADC, CAN, SPI, I2C PowerQUICC & QorIQ Networking, P&I Industrial Software & Development Tools Wireless Infrastructure and small cell Porfolio de productos Freescale 8-bit MCUs 16-bit MCUs 32-bit ARM VybridMPUs i.MX ColdFire &Heterogeneous ARM Cortex-A9, A8 Kinetis® Arch & ARM11, ARM9 32-bit MCUs PowerQUICC & QorIQ StarCore™ DSP QorIQ Qonverge ARM Cortex-M4 Unique Arch Up to 50 MHz Up to 130 MHz Flash 1 KB to 128 KB Flash, RAM 1KB to 1MB Analog I/O, ADC LCD, USB, RF Measurement, Sensing, motor control Up to Apps + Real-Time 400MHz to 150 MHz >1GHz Flash Cache, 128 KB to 512 KB1.5MB SRAM RAM, ROM USB, CAN, SATA, CAN,Ethernet USB, Ethernet,USB, CAN,Ethernet, LCD, PCIe, LCD, ADC, PWM,Video SPI , LCD, DDR Connectivity, Security, Industrial Automation, Motor Control, POS & Consumer, Motion Control, HMI, Digital Power, Industrial Automation, Lighting, Green Energy Industrial Automation Medical PWM, ADC, CAN, SPI, I2C 300MHz to >2GHz 6GHz of processing power Multimode Solutions for Small and Large Cell mkts Cache RAM, ROM Cache RAM, ROM Cache RAM, ROM USB, GbE, PCIe, SATA, sRIO sRIO, GbE PCIe Telecom, media gateways, base stations Antenna interface application accelerators Networking, P&I Industrial Medical, POS, HMI Software & Development Tools Wireless Infrastructure and small cell Controladores Vybrid Cortex-A5 + Cortex-M4 Multicore Cortex-A5 Only Single Core VF7xx - Up to 500 MHz Dual Heterogeneous Cores, Dual XGA LCD, Camera Interface, OpenVG GPU, Stereo Audio, DDR, Secure Boot, Tamper Detect, Dual USB OTG w/HS PHY, Ethernet VF6xx - Up to 500 MHz Feature Integration Dual Heterogeneous Cores, XGA LCD, Camera Interface, OpenVG GPU, DDR, Secure Boot, Tamper Detect, Dual USB OTG w/HS PHY, Dual Ethernet, L2 Switch VF5xx - Up to 500 MHz SVGA LCD, Camera Interface, OpenVG, Stereo Audio, DDR, Secure Boot, Tamper Detect, Dual USB OTG w/HS PHY, Dual Ethernet, L2 Switch VF4xx - Up to 500 MHz SVGA LCD, Audio, DDR, Secure Boot, Tamper Detect, Dual USB OTG w/HS PHY, Ethernet, NAND Flash Controller VF3xx - Up to 266 MHZ WQVGA LCD, Audio, Secure Boot, Tamper Detect, USB OTG w/HS PHY, Dual Ethernet, L2 Switch, Dual Quad-SPI, NAND Flash Controller Performance Controladores Vybrid Common Platform, Analog and Digital CRC Tools 12-bit ADC Bundled IDE I2C 12-bit DAC CRC Secure JTAG Programmable Delay Block Secure Fuses Timers Flash Controller Secure RAM UARTS Bundled OS Application Software Ind. Protocols, Peripheral Drivers, HMI, USB, VoIP eSDHC Low Voltage, Low Power Multiple Operating Modes, Clock Gating (1.71 to 3.6V) ESAI DMA SRAM Broad Third-Party Ecosystem Support Diagrama en bloques Vybrid Debug & Trace • • • • • • Unique heterogeneous architecture with apps processor to run high-level OS (i.e. Linux) and control processor to run RTOS (i.e. MQX) Ability to segment tasks that need predictable latencies to execute on the M4 and execute graphical and connectivity tasks on A5 Secure boot and cryptographic algorithm acceleration for sensitive applications like payment systems Multimedia hardware IP that offloads pixels processing from the cores Real time sub-system including PWM and ADC for motor control Error Correction Code (ECC) on-chip SRAM, DDR controller and NAND flash controller Core System JTAG Trace Timers FlexTimer (8ch) FlexTimer (2ch) Cortex-A5 Upto 500 MHz DP-FPU NEON FlexTimer (2ch) FlexTimer (8ch) IEEE 1588 Timers L1 I/D-CACHE Periodic Interrupt Timers Trace/Debug Low Power Timers GIC Core AMBA NIC 12-bit ADC x2 Internal & External Watchdog Interrupt Router DMA Up to 64ch 12-bit DAC x2 Power Mgmt Regulators L2 CACHE Analog Cortex-M4 Upto 167MHz PLL SP-FPU Clocks DSP Clock Monitors I/D-CACHE TCM TrustZone ™ Address Controllers Trace/Debug NVIC Internal Reference clocks Low/High Freq Oscillators Communication Memory Display Security Boot ROM TFT LCD Cryptography Module UART x6 CAN x2 1.0MB SRAM Segment LCD Tamper Detect DSPI x4 I2C x4 Memory Interfaces Video Secure RTC IEEE 1588 Ethernet X2 Video Interface w/ camera Secure RTIC L2 Switch DDR Controller Video ADC Secure RAM USB Host + PHY LS/FS/HS OpenVG GPU Secure Fuses NAND Flash Controller Quad SPI x2 External Bus Interface Audio ASRC SAI x 4 ESAI SPDIF Secure WDOG USB OTG + PHY LS/FS/HS Secure JTAG Secure Digital x2 Subsistema de memoria y Display • Single & Dual TFT LCD Capability • • • • Nominal support for up to XGA with DDR3/LPDDR2 usage. LCD controller is based on DCU. DCU is an image composition engine, which is capable of aggregating many sources/planes of data. Performance at a given resolution can be dramatically affected depending on the number of layers/planes and number of different memory interfaces that are used to compose the image. OpenVG 1.1 Hardware graphics processor can dramatically reduce CPU overhead when creating rich content. OpenVG can beused to render a subset of the screen and let DCU merge that image with output from a software render running on A5 or M4 or both cores. Memory Subsystem offering pixel converters built on to SRAM interface. This is for BOM cost challenged systems with little or not DRAM. Can convert from one color depth to another by just reading pixels from SRAM location. Zero overhead and single cycle. Memory Display Boot ROM TFT LCD 1.0MB SRAM Segment LCD Memory Interfaces Video DDR Controller Video Interface w/ camera Video ADC NAND Flash Controller OpenVG GPU Quad SPI x2 Audio External Bus Interface ASRC SAI x 4 ESAI SPDIF VF3xx Core Up to 266 Hz ARM Cortex-A5 with TrustZone HMI TFT LCD up to XGA resolution Segment LCD Memory 32 KB I and D L1 Cache 512 KB L2 cache On Chip: up to 1 MB SRAM . ECC support on 512 KB NAND flash controller with 32b ECC Analog 2 x 12-bit ADC (12-ch), 2 x 12-bit DAC Communication 4 x UART, 2 x CAN, 3 X SPI, 2 X I2C, Ethernet MAC with IEEE 1588 USB2.0 OTG with PHY Audio 3 x SAI for full-duplex serial interfaces like I2S, AC97, Enhanced serial audio interface (ESAI) Video Video Interface unit with parallel camera interface Security Tamper detect, high assurance boot, True RNG Power Management Internal regulator (PMIC) VF4xx Core Up to 500 MHz ARM Cortex-A5 with TrustZone HMI TFT up to XGA resolution Memory 32KB I and D L1 Cache, 512KB L2 Cache On Chip: up to 1.0MB SRAM . ECC support on 512KB On Chip: LPDDR2/DDR3 DRAM controller, NAND Flash Controller with 32b ECC Analog 2 x 12-bit ADC(16-Ch), 2 x 12-bit DAC Communication 6 x UART, 2 x CAN, 4 X SPI, 4 x I2C, 1 Ethernet MAC with IEEE1588 HS/FS/LS USB2.0 HOST and OTG with PHY Audio 4 x SAI for full-duplex serial interfaces like I2S, AC97, ESAI – Enhanced Serial Audio Interface Video Video Interface unit with parallel camera interface Security Tamper Detect, High Assurance Boot, True RNG Power Management Internal regulator (PMIC) VF5xx Core Up to 500MHz ARM™ Cortex-A5 with, TrustZone HMI TFT LCD up to XGA resolution Memory 32KB I and D L1 Cache, 512KB L2 Cache On Chip: up to 1.0MB SRAM . ECC support on 512KB On Chip: LPDDR2/DDR3 DRAM controller, NAND Flash Controller Analog 2 x 12-bit ADC(16-Ch), 2 x 12-bit DAC Communication 6 x UART, 2 x CAN, 4 X SPI, 4 X I2C, 2 Ethernet MAC with IEEE1588 and L2 Switch, USB2.0 HOST and OTG with PHY Audio 4 x SAI for full-duplex serial interfaces like I2S, AC97 ESAI – Enhanced Serial Audio Interface, SPDIF Video Video Interface unit with parallel camera interface, OpenVG GPU Security Tamper Detect, High Assurance Boot, True RNG Power Management Internal regulator (PMIC) VF6xx Core Up to 500MHz ARM™ Cortex-A5 with TrustZone Up to 167MHz ARM™ Cortex-M4 HMI TFT LCD up to XGA resolution Memory 32KB I and D L1 Cache for A5, 16KB L I/D cache for M4, 512KB L2 Cache for A5 & 64KB TCM for M4, On Chip: up to 1.0MB SRAM ECC support on 512KB, On Chip: LPDDR2/DDR3 DRAM controller NAND Flash Controller Analog 2 x 12-bit ADC (16-Ch), 2 x 12-bit DAC Communication 6 x UART, 2 x CAN, 4 X SPI, 4 X I2C, 2 Ethernet MAC with IEEE1588 with L2 Switch, Dual USB2.0 HOST and OTG with PHY Audio 4 x SAI for full-duplex serial interfaces like I2S, AC97 ESAI – Enhanced Serial Audio Interface, SPDIF Video Video Interface unit with parallel camera interface, OpenVG GPU Security Tamper Detect, High Assurance Boot, True RNG Power Management Internal regulator (PMIC) VF7xx Core Up to 500MHz ARM™ Cortex-A5 with TrustZone Up to 167MHz ARM™ Cortex-M4 HMI Dual TFT LCD up to XGA resolution Memory 32KB I and D L1 Cache for A5, 16KB I and D for M4 512KB L2 Cache and 64KB TCM for M4 On Chip: up to 1.0MB SRAM . ECC support on 512KB On Chip: LPDDR2/DDR3 DRAM controller, NAND Flash Controller Analog 2 x 12-bit ADC (16-Ch), 2 x 12-bit DAC Communication 6 x UART, 2 x CAN, 4 X SPI, 4 X I2C, 1 Ethernet MAC with IEEE1588, Dual USB2.0 HOST and OTG with PHY Audio 4 x SAI for full-duplex serial interfaces like I2S, AC97 ESAI – Enhanced Serial Audio Interface, SPDIF Video Video Interface unit with parallel camera interface and analog input, OpenVG GPU Security Tamper Detect, High Assurance Boot, True RNG Power Management Internal regulator (PMIC) Productos • PVF30GS10CLU26 == VF3xx @ Cortex-A5 = 266MHz • PVF40GS10CMK45 == VF4xx @ Cortex-A5 = 450MHz • PVF40GS10CMK50 == VF4xx @ Cortex-A5 = 500MHz • PVF50GS10CMK45 == VF5xx @ Cortex-A5 = 450MHz • PVF50GS10CMK50 == VF5xx @ Cortex-A5 = 500MHz • PVF60GS10CMK45 == VF6xx @ Cortex-A5 = 450 MHz and Cortex-M4 =150MHz • PVF60GS10CMK50 == VF6xx @ Cortex-A5 = 500 MHz and Cortex-M4 =167MHz • PVF70GS10CMK45 == VF7xx @ Cortex-A5 = 450 MHz and Cortex-M4 =150MHz • PVF70GS10CMK50 == VF7xx @ Cortex-A5 = 500 MHz and Cortex-M4 =167MHz • 144LQFP : 20mm x 20mm, 0.5mm pitch • 176LQFP : 24mm x 24mm, 0.5mm pitch • 364 BGA : 17mm x 17mm, 0.8mm pitch Ecosistema de Desarrollo On -Demand Support On-Demand • Human Support – Tiered – – – – – TIC DFAE Freescale FAE Factory Apps Design team • WiKi for Product technical questions • ARM community forum • Intuitive Web/Product Folder • Documentation – App Notes – Extensive white papers • Linux Community – towergeeks.org • Open Source Projects – makeit challenge • Training – youTube short clips – Webinars – Designing with Freescale Seminars Development Tools • OS support – – – – Linux MQX Android GHS – Integrity, VelOSity • Tool Chain – – – – DS5 CodeWarrior Processor Expert Software IAR • Protocol Stacks – – – – – USB TCP/IP Wi-Fi NanoSSL™/ NanoSSH™ BlueTooth • GUI – PEG Swell – Qt Tower Dev Boards • Reference designs and Demos • A modular development platform for 8/16/32-bit MCUs and MPUs – Quickly combine Tower Modules to build a prototype of your application – Modules sold individually or in kits – Open Source: Build your own Tower Module to integrate your IP – Cost-optimized hardware – Software support from Freescale and Third Parties – Community of Third Party hardware support – On-line community: www.towergeeks.org Tower System Caracteristicas: •VF600 364 BGA •New Serial Interface debugger with SPI programming •Integrated secure USB-JTAG Debuger (OpenSDA / CMSIS-DAP / MSD) •High Speed ETM Trace Port •Dual USB on-board (one A and one micro-B) •Test points for tamper detect •Memories •DDR3 •Dual Quad SPI •NAND •Standard Tower Features •TWRPI socket •Accelerometer (MMA8451Q) •Potentiometer •MicroSD Socket •LED’s and push button switches •Execute – in – place flash (Spansion) •Compatible Modules (non-inclusive) •TWR-SER2 for Dual Ethernet •TWR-LCD-RGB for DCU •TWR-Dock •Powered via USB wall wart •Battery back-up •Consumer focused board (TWR-VF700) with more audio and SPI will be released soon after. Tower System Entornos de desarrollo http://arduino.cc/en http://ar duino.cc /en http://arduino.cc/en SDK Management http://arduino.cc/en Application Peripheral Drivers & Init Store Knowledge Database Software Multicore Framework • Asymmetrical OS support App on Linux and MQX domains • Media Framework to leverage display and graphics capabilities • Full trace and debug JTAG WiFi, ZigBee® and USB Debug Tools • Connectivity stacks like Development & Debug Tools passing API between Linux Multi OS Configuration & Build Tool • Low-latency message App on Linux App on MQX Connectivity middleware - stacks Linux Kernel Tower Drivers MQX Message passing between domains Bootloader capability for ease of code development Tower Drivers Tower Board Development Studio 5 for Vybrid Professional software development toolkit for the Freescale Vybrid Platform DS-5 Eclipse IDE Integrated environment with pre-configured support for the Vybrid platform Highly optimizing bare metal compiler for Cortex-A5 & M4 ARM Compiler Project Manager Bring-up tools, JTAG debug and ETM/PTM trace DS-5 Debugger Streamline Analyzer Connection to Hardware and Virtual Targets Linux driver and multi-thread application debug Streamline system-level Linux performance analyzer DS-5 para Vybrid CADI is the debug interface to ARM Fast Models TPIU (off-chip) trace is not supported by CMSIS-DAP, but requires a DSTREAM unit Linux application debug and Streamline require a TCP/IP connection to the target Beneficios de DS-5 para Vybrid • DS-5 for Vybrid: Make Vybrid more attractive by providing a low-cost professional targeted toolkit • DS-5 for Vybrid Tower System: Achieve a successful evaluation of Vybrid with a free professional toolkit locked to the Tower System • The shortest path to a successful evaluation of Vybrid is achieved with a great out-of-the-box experience – Fully integrated graphical development environment – Pre-configured debug connections to Vybrid hardware and virtual platforms – USB direct debug connection to Tower System – no JTAG probe required – Automatic download & debug of Linux applications – Linux and MQX kernel awareness – Intuitive graphical performance analyzer Conexión del Tower al DS5 Host running DS-5 USB TCP/IP (Ethernet or USB) Connection Connects to Purpose USB On-board debug MCU via CMSISDAP I/F JTAG debug and ETB trace of code running on Cortex-A5 and Cortex-M4 TCP/IP (*) Vybrid chipset Linux application debug via gdbserver TCP/IP (*) Vybrid chipset Linux system analysis with Streamline (*) Both Linux application debug and Streamline require a TCP/IP connection to the target. In Linux, the TCP/IP connection is normally implemented on Ethernet, but USB could be an alternative. It is recommended that the Tower System provides both USB (for bare metal debug over CMSIS-DAP) and Ethernet (for application debug) connections. DS-5 Debugger Select a device, and go! Powerful debug features with trace support JTAG debug over direct USB connection to Tower System DSTREAM for fast connection and 4GB trace buffer Streamline Performance Analyzer Type a TCP/IP address, and go! Linux OS counters Processor counters, aggregated, or per core System counters Visual annotations Process/thread heat map Text annotations Profiling reports www.freescale.com/vybrid www.freescale.com/beyondbits https://www.freescale.com/go/vybridcontrollersolutions