ARM-Architektur - Embedded Computing Conference
Transcrição
ARM-Architektur - Embedded Computing Conference
ARM-Architektur Toni Reber Redacom AG, 2560 Nidau www.redacom.ch Warum ist die ARM Architektur erfolgreich - als Unternehmen - Technologie - Mikrocontroller (embedded) Redacom AG und ARM Redacom ist seit 1988 Keil Distributor Keil gehört seit Oktober 2005 zu ARM Redacom AG ist seit diesem Zeitpunkt Repräsentant und Distributor von ARM Distribution Workshop Schulung User Meeting Fast-Prototyping Warum ist die ARM Architektur Erfolgreich (1) Börsenkurs der letzten 2 Jahre Börsenkurs der letzten 6 Monate Apple und Microsoft Microsoft Lizenzvertrag Apple Gerüchte Warum ist die Arm Architektur erfolgreich (2) Mobile Bereich Energieverbrauch Konzept für Downsizing, Clock, Bus usw. Fortschrittliche 32-Bit RISC Technologie Hohe Rechenleistung Innovative Core Erweiterungen (z.Bsp. Cortex M4) Warum ist die Arm Architektur erfolgreich (3) Im Bereich embedded Computing, Mikrocontroller 32-Bit, Technologie, bis 4 GB Speicher adressierbar RISC Architektur Geringer Energieverbrauch Clock skalierbar Peripherie meist abschaltbar Cortex M, integriertes Interrupt Konzept All in one CoreSight Debug Interface All in one früher jetzt Today’s Microcontroller Selection Microcontroller have Processor On-chip Memory Interrupt System Rich peripheral set I/O Pins, Timers, PWM A/D and D/A converters UART, SPI, I2C Complex communication peripherals (CAN, USB, Ethernet) JTAG Debug On-chip Flash Serial Wire Debug (SWD) & Serial Wire Viewer (SWV) SRAM, Cortex-M3 Power management, RTC, reset and watchdog, internal oscillator and PLL Two CAN Channels USB 2.0 Interface 12-bit A/D converter channels) (Sixteen Three USART Channels 10/100 Ethernet MAC Two channels for I2C, I2S, SPI & SSI SD/MMC card Interface 16-bit standard Timers including PWM 80 GPIO Pins Block Diagram of a Standard Microcontroller All in one (2) CoreSight Debugging früher ab Fr. 15‘000.- jetzt unter Fr. 500.- Debug and Trace Adapters ULINK2: Debug + Serial Wire Trace Flash Programming + Run-Control Memory + Breakpoint (access while running) Serial Wire Trace Capturing up to 1Mbit/sec (UART mode) ULINKpro: adds ETM + Streaming Trace Cortex-M processors running up to 200MHz 50MHz JTAG clock speed Serial Wire Trace Capturing up to 100Mbit/sec (Manchester Mode) ETM Trace Capturing up to 800Mbit/sec Virtually un-limited Trace Buffer Streaming Trace allows complete Code Coverage and Performance Analysis Debug and Trace Connectors 20-pin (0.1”) or 10-pin (0.05”) Connector Identical Debugging capabilities Support 2 Operating Modes: 20-pin (0.1”) ARM JTAG Standard 5-pin JTAG mode (device chaining) Serial CoreSight mode 10-pin (0.05”) Cortex Debug 20-pin (0.05”) Cortex Debug+ETM 2-pin Serial Wire Debug (SWD) 1-pin Serial Wire Trace Output (SWO) for Data Trace at minimum system cost 20-pin (0.05”) Debug+ETM Connector Superset of 10-pin 0.05” Connector Adds 4 (trace data) +1 (trace clock) pins for high-speed Data + Instruction Trace in any operating mode (JTAG or SWD) More Information: www.keil.com/coresight/connectors.asp ULINKpro Debug and Trace Unit Features Debug via JTAG interface for ARM7/9 and Cortex-M Serial Wire Debug (SWD) for Cortex-M Serial Wire Viewer (SWV) data trace for Cortex-M Instruction trace (via ETM) for Cortex-M Data streaming direct to host PC Cortex-M processors running up to 200MHz Connectors: 20-pin 0.10“ JTAG 10-pin 0.05“ Cortex Debug 20-pin 0.05“ Cortex Debug+ETM Performance 50MHz JTAG clock speed 1MB/s memory read/write CoreSight™ Debug Technology (Cortex-M) Instruction Stream for Code Execution Analysis, Time Profiling, Code Coverage Start, Stop, and Single-step User Program Application Trace Information: Debug printf, RTOS nfo, Unit Test, UML Annotation 8 Hardware Breakpoints in User Program Data Trace or Access Breakpoints for 4 Variables On-the-Fly (while User Program runs) read/write access to Variables and Memory Contents Timing Information PC Sampling, Event Counters, Interrupt Execution JTAG (5-pin) or Serial Wire (2-pin + 1 trace pin) ITM, DWT Output via 1 serial trace data pin (UART or Manchester Mode) ITM, DWT, ETM Output via 4 trace data pins + 1 clock pin Trace (ETM, ITM, DWT) not available on Cortex-M0 Code Coverage (ETM) Complete software validation requires code coverage Product liability and industry standards (IEC61508) demand for testing according to “State of Science and Technology” methodologies ETM enabled devices provide complete instruction stream Non-intrusive - use final, optimized code at full speed Feedback provided directly in the debugger window Source & disassembly view Color-coded details for individual instructions Summary analysis by function or module Log File Support Coverage information can be saved for documentation Instruction Trace (ETM) Execution history of all executed instructions Instruction Trace window displays: cycle count (timing) and assembly code synchronized to the C source code. Instruction Trace is useful to analyze sporadic problems Data corruption by incorrect interrupt/thread protection Incorrect timing caused by interrupt/thread nesting What is Streaming Trace? Trace data transferred in real-time to debug host Capture size only limited by host resources (harddisk) Trace for minutes, hours, or longer Required for full code-coverage and timing analysis Today’s workstations can present trace data instantly Hardware Components Range of evaluation boards and debug hardware Verify application running on hardware target ULINK family of USB Adapters Debug and Flash programming JTAG and SWD support Hi-Speed Streaming Trace Evaluation Boards ARM7, ARM9, & Cortex-M3 Luminary, NXP, ST, & Toshiba CoreSight Beispiel GPIO Coresight Beispiel GPIO CoreSight Beispiel SPI LogicPort MCB1760 Mitutoyo Messuhr Logicport SPI Adaption CoreSight Beispiel SPI LogicPort CoreSight Beispiel SPI LogicPort CoreSight Beispiel SPI Controlregister Statusregister Datenregister ARM Architecture History 1987: ARM2 1989: ARM3 1991: ARM6 1993: ARM7 1995: ARM8 1997: ARM9 1998: ARM10 2002: ARM11 2005: ARM Cortex neu auf dem Markt Kinetics Microcontrollers FASP-M3 MDK-ARM MDK-ARM Complete software development environment Industry leading technology ARM Compiler Keil µVision IDE / Debugger Complete device support ARM7, ARM9, Cortex-Mx MCUs Start-up code & Flash algorithms Complete device simulation Board support packages (BSPs) RTX Real-Time Kernel Efficient RTOS Kernel for small systems MDK-ARM Microcontroller Development Kit ARM C/C++ Compiler RTX RTOS Kernel Library µVision Device Database & IDE µVision Debugger & Analysis Tools Complete Device Simulation Examples and Templates For ARM7/9 and Cortex-Mx devices Easy to learn and easy to use RL-ARM Extensive library of ready-to-use middleware components Speed up software development Meets Embedded Developers’ needs Solves common embedded challenges Real-Time Systems Embedded communication & networking Designed for use with MCU Devices Extensive Range of Examples Easy to begin working Can be used as building blocks Royalty Free Includes RTX source code. License – single user, multi project RL-ARM Real-Time Library RTX RTOS Source Code TCPnet Networking Suite Flash File System USB Device Interface CAN Interface Examples and Templates What is RL-ARM? A collection of resources for solving these challenges Middleware components created and used by ARM engineers All library components supplied - no hidden costs Flexible usage model (with or without the RTX Kernel) Delivered as libraries and source code All components are royalty-free Provided for many popular microcontrollers Uses RTX Kernel messaging implementation Embedded Connectivity Challenges Embedded devices are used everywhere Need to support many different interfaces… CAN, USB, SD/MMC, Ethernet …and different protocols HTTP, FTP, SMTP... Customers demand ease of use Today’s embedded devices need to support plug and play compatibility Developers need more functionality Ability to support a wide range of interfaces Need better development and debug tools for this task Evaluation Boards Proven hardware for quick development and debug Designed for easy set-up Extensive program examples Available as starter kits Evaluation version of MDK-ARM ULINK adapter Toshiba TMPM330 STM32E LPC1700 Webserver auf Single-Chip Thank You