Presentation is loading. Please wait.

Presentation is loading. Please wait.

Development Tools for ARM-Powered Devices

Similar presentations


Presentation on theme: "Development Tools for ARM-Powered Devices"— Presentation transcript:

1 Development Tools for ARM-Powered Devices
RealView Microcontroller Development Kit ULINK2 USB/JTAG Adapter Evaluation Boards Name of presenter

2 Session Agenda Introduction and Overview
RealView Microcontroller Development Kit µVision Integrated Development Environment Advantages of Complete Device Simulation RealView Compilation Tools Hardware Components Evaluation Boards ULINK2 USB-JTAG Adapter Real-Time Agent RTX Real-Time Kernel RTOS Concepts RTX Features RTX Configuration

3 Keil an ARM Company Leading supplier of MCU development tools
ANSI C/C++ compilers, Debuggers Device simulation Middleware components Extensive Device Database® >1,200 8/16/32 bit MCU’s Established support Web support portal. User group structure Global distribution network Huge installed base 100K+ users world wide

4 Keil and RealView RealView Compiler Keil µVision
Tools supporting ARM MCU devices use the ARM RealView Compiler, µVision is common to all Keil based tools. RealView Compiler Replaces Keil CARM compiler for ARM processor-based MCU’s C51 and C166 will continue to be developed Industry leading compiler – performance and code size ARM tools branded as ‘RealView’ Keil µVision Common to all Keil based tools Cx51, C166 and ARM More than 100,000 users Powerful, easy to use, standard device focused

5 Tools for ARM-Powered Devices
Third Party Utilities RealView Microcontroller Development Kit Examples and Templates µVision Device Database & IDE RTX RTOS Kernel RealView C/C++ Compiler Debugger & Analysis Tools Complete Device Simulation RealView RTX Source Code TCP/IP Suite Flash File System USB Device Interface CAN Interface Examples and Templates Real-Time Library Target Debug ULINK2 USB-JTAG Adapter with Real-Time Agent Evaluation Boards ARM7, ARM9 and Cortex-M3 based MCU devices

6 Microcontroller Development Kit
Complete software development environment for ARM processor-based microcontrollers. Easy to learn and easy to use! Industry leading technology ARM RealView Compiler Keil µVision IDE / Debugger Complete device support ARM7, ARM9, Cortex-M3 MCU’s Includes Start-up code & Flash algorithms Complete device simulation RTX Real-Time Kernel Efficient RTOS Kernel for small systems RealView Microcontroller Development Kit Examples and Templates µVision Device Database RTX RTOS Kernel RealView C/C++ Compiler µVision Debugger & Analysis Tools Complete Device Simulation

7 RealView Real-Time Library
Extensive library of common ready-to-use middleware components, speed software development. RealView RTX Source Code TCP/IP Suite Flash File System USB Device Interface CAN Interface Examples and Templates Real-Time Library 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

8 Range of evaluation boards and debug hardware.
Hardware Components Range of evaluation boards and debug hardware. ULINK2 USB – JTAG Adapter Debug and Flash programming JTAG and SWD support Evaluation Boards ARM7, ARM9 & Cortex-M3 NXP, ST & Luminary

9 Challenges for Embedded Developers
How do all of these features really help me to develop my application quickly and accurately?

10 Embedded Design Questions
ARM-based devices and MCU’s make complex applications possible, good tool support enables applications to be developed efficiently. Device selection ARM7, ARM9 or Cortex-M3? Peripheral mix and memory? Application development Easy device configuration? Ensuring the application fits into hardware resources (speed, memory)? Compilation tools, Middleware and libraries? Verification and debug Most efficient way to verify software? Running hardware system debug?

11 Today’s Microcontroller Selection
Wide range of MCU Cores 8/16/32 Bit On-chip Memory Interrupt System 512KB On-chip Flash JTAG Debug and Embedded Trace Macrocell 16-bit standard Timers including PWM 32KB SRAM, 2KB Battery back-up RAM 72MHz ARM7TDMI-S Peripherals I/O Pins, Timers, PWM A/D and D/A Converters UART, SPI, I2C Complex communication peripherals (CAN, USB, Ethernet) Power management, RTC, reset and watchdog, internal oscillator and PLL 10/100 Ethernet MAC with DMA & 16KB Static RAM 2 CAN Channels USB 2.0 Interface with 8KB Static RAM 2 Programmable DMA Channels 10-bit A/D converter (eight channels) SD/MMC Memory Card I/F 10-bit D/A converter Four style UART’s Three I2C Interfaces Two channels for SPI or SSP Customers expect support for specific Microcontrollers. 104 GPIO Pins Block Diagram of LPC2378

12 RealView MDK supports MCU’s
Instantly begin developing software, without the need for hardware or in-depth knowledge of target MCU. Out of the box support >180 ARM MCU’s Start-up code and configuration wizards Flash Algorithms and debug information Examples and Templates Complete device simulation Not only a processor simulator! Includes On-Chip peripheral’s A/D, D/A, EBI, Timers UART, CAN, I2C, Interrupts .. External signals and I/O

13 Application Development
µVision, device configuration and Compilation tools

14 µVision IDE Leading microcontroller Integrated Development Environment. µVision is the industry leading Integrated Development Environment (IDE) for microcontroller and standard devices. Common to ARM, C166 and 8051 platforms Includes target device configuration and Device Database High speed simulation Instruction Set On-chip peripherals Source code editor Project debugging Flash programming

15 Device Database On-line uVision
Enables quick selection of suitable device. Available on-line and integrated in µVision. On-line Includes Parametric Search uVision Includes main parameters for device Enables easy project creation Fast device configuration

16 Configuration wizards enable effortless device set-up.
Device Configuration Configuration wizards enable effortless device set-up. Available for all devices Included in Device Database User configurable (text or wizard) Configuration Wizard Main parameters for device Drop-down selection or user entry Enables stable device start-up

17 RealView Compilation Tools
Highest performance compiler for ARM-Powered devices

18 RealView Compilation Tools
Best in class compilation tools, enabling applications to run faster while reducing system cost. The RealView Compilation tools contain: Highly-optimizing ISO C/C++ compiler Supports ARM, Thumb and Thumb2 Instruction sets including FPU Full C and C++ run-time library support The RealView Compiler Advantage Smaller, Faster Code RealView Compiler 3.1 Micro Library for small Embedded Systems Source Browser Integration for µVision

19 MicroLib – Optimized C Libraries
MicroLib significantly reduces library size in embedded applications Superset of standard RealView C Library Developed for embedded and memory constrained applications Optimized for embedded applications Minimal overhead for un-used OS functionality Un-used functions removed from memory footprint Faster system bring-up Most functions initialized at point of use Up to 92% Reduction in Library Code size ‘empty main’ Even more for ‘Hello World’ using Print f

20 MicroLib – Optimised for Embedded
RealView MDK libraries reduce system code size by 50% to 90% Library Totals RO Totals 51% 61% Processor Object Standard MicroLib % saving ARM7TDMI ARM Library Total 21,352 8,980 61% RO Total 25,608 12,816 51% Thumb 17,156 6,244 57% 20,129 9,348 50% Cortex-M3 Thumb-2 15,018 5,796 63% 18,616 8,976 54% Based on Dhrystone 2.1 Benchmark

21 Source Browser F12 Source Browser View
Displays variable and function definitions and where they are used throughout your application. F12 Displays variable definition Source Browser View Displays all locations of variables or functions

22 Verification and Debug
Complete Device Simulation and Analysis Tools

23 Complete Device Simulation
The µVision Advantage

24 µVision Device Simulation
All components of the Target Device are Simulated. Code can be run on entire device. Complete simulation of target. Fast Instruction Set Simulation (ISS) On-chip peripheral’s ADC, DAC, EBI, Timers UART, CAN, I2C, Interrupts …. Includes external signals and I/O Dialog Boxes Complete access to peripherals Read and write Device Simulation D/A A/D SRAM Flash / EEPROM UART SPI Ethernet Interrupts GPIO CAN USB Timers CPU Extending Simulation AGSI Interface Board or System Interfaces Device Simulation External Peripherals

25 The µVision Advantage Advantages of Complete Device Simulation
Complete Device Simulation allows software testing with no hardware, providing quick test cycles and improving product quality. Advantages of Complete Device Simulation Test before hardware available Hardware cannot be damaged No extra components required Real advantages v hardware Embedded Trace has limitations Many things are only possible in simulation Lower cost Easy with RealView MDK All included in Device Database Removes configuration hassles

26 ETM Trace is not available in all systems.
ETM Style Trace ETM Trace is not available in all systems. ETM is relatively new to MCU world Increasing with ARM9 MCU families Very rare in ARM7 MCU devices ETM not always available Requires additional pins ETM pins shared with other I/O E.g. ADC or GPIO Additional Hardware Costly Complete Device Simulation offers all the advantages of ETM without the disadvantages

27 CPU and Peripheral Control
Simulation offers true system synchronization with all components that allows total system halt, detailed analysis, and full run control. Halt Stops Peripherals Whole system stops Breakpoint and Single-Stepping External signals all stop Complete System Analysis Test can be reproduced Executes from a ‘known’ state Full Power-Down Control Debug in all MCU states System is always accessible Timing analysis of power-down activity No Adaptation Hassle Hardware can be destroyed Small systems are physically hard to connect

28 Analysis Tools The µVision Advantage

29 µVision Code Coverage Execution Statistics
Simulation gives extra features not available with JTAG Debuggers. For example: Code Coverage at Source and Assembly Level. Execution Statistics Always Active for Complete Project Instruction Status Color Coded Multi-Session Coverage With Save / Restore

30 µVision Execution Profiling
Simulation provides exact CPU Timing and allows detailed program execution analysis with different parameters. Detailed Timing Statistics Active for Complete Project Execution Time Number of Executions Flexible Views Source Disassembler Compete Overview

31 µVision Logic Analyzer
Allows analog and digital signals to be monitored graphically. Easy, fast analysis of signal timing with code trace. Timing Analysis Analog & Digital I/O Pins and Signals Internal Variables Exact Timing Using Cursor Line Tool-Tip Delta Information Direct Code Analysis From Analyzer Window

32 Use Cases for Simulation
Generic: Detect Illegal Memory Access ULINK2: Analysis of JTAG I/O Pins

33 Detect Illegal Memory Accesses
Requirement: Detect illegal accesses that fail in Hardware MAP command allows to define access rights: read, write, execute On illegal memory access you may display messages or stop simulation “Better verification with no extra effort ”

34 Use Case: Detect I/O Glitches
Requirement: Analyze timing and glitches of I/O Pins Using the Logic Analyzer the JTAG signal pin timing is verified Glitches of I/O pins can be analyzed Synchronisation with the Source Code simplifies corrections

35 Including Real-Time Agent
Target Hardware Debug Including Real-Time Agent

36 ULINK2 – USB / JTAG Adapter
Easy to use USB run control adapter, supporting JTAG debug and Flash programming. New Features Cortex-M3 Serial Wire Debug and Trace Plug and Play USB Installation On-the-fly debugging with Real-Time Agent Program Debugging Single Stepping & Real-Time Execution Flash and Software Breakpoints Memory Access Breakpoints Flash Programming Download, Verify, and Execute

37 Embedded Debug Challenges
Traditional debugging with run-control halts program execution. The real world does not stop which makes run-stop debugging difficult. Program Halt is not practical in many applications Mechanical System: depends on movements that cannot be halted Motor Control: may even destroy the hardware due to overloading Communication: time-outs occur when hand-shake is missing Developers need solutions that: Provide verification and timings for algorithm development Work on standard hardware with minimal overhead Are easy-to-implement and easy-to-use RealView MDK includes: ULINK2 Real-Time Agent: allowing ‘on-the fly’ debugging

38 Enables target debugging on-the-fly that requires no system halts
Real-Time Agent Enables target debugging on-the-fly that requires no system halts Small C Module Adds little overhead to user application ~1,500Bytes R/O Communicates using standard JTAG channel via ULINK2 On-the-fly Debugging Read and Write memory and variable access during program execution Set breakpoints while program is running Serial I/O (printf) via debug channel Application + Real-Time Agent JTAG CPU Peripherals

39 Evaluation Boards ARM7, ARM9 and Cortex-M3

40 Wide Range Evaluation Boards
Proven hardware for quick project development and debug. Designed for easy set-up Extensive Program Examples. Wide range of peripherals Popular ARM based MCU’s STR750 STR91x LPC23x

41 RTX Real-Time Kernel

42 Why use a Real-Time Kernel?
Building Block Software / Hardware interface layer Easy expansion of system software Hardware independent House Keeping Process scheduling CPU resource management Task communication Focus on Application Development Leave basic system management

43 Software Concepts for ARM
The ARM core requires a different mindset for embedded applications. ARM7 & ARM9 have just two interrupt levels Standard (IRQ) and Fast (FIQ) but provide CPU modes with separate interrupt stacks for predictable stack requirements. ‘main’ as End-less Loop Solution for simple applications Usage together with powerful multi-level interrupt system Stack usage un-predictable Using a Real-Time Kernel Allows application to be separated into independent tasks Message passing eliminates critical memory buffers Each task has an own stack area Interrupt communication with event flags and messages

44 What makes a Good RTOS Performance Ease of Use System Friendly
Predictable behaviour Low latency High number of interrupt levels Ease of Use Flexible API and implementation Tool-chain integration. Scheduling options Multitasking, Preemptive, Round Robin. System Friendly Consumes small amount of system resource Proven Kernel Low cost

45 Real-Time? Real-Time does not equal High Speed
Not all tasks are ‘Super High Speed’ Systems perform to deadlines Tasks need to complete before deadline and other tasks Real-Time OS not to be confused with high speed requirements Real-Time, not mission critical Varying levels of Real-Time Hard, Firm, Soft and Non RTOS not confined to critical systems Real-Time OS = Building Block RTOS provides easy Multitasking Environment House keeping tasks

46 RTX Features Main Features
Full-featured Real-Time kernel meets the requirements of a ‘good’ real-time kernel Main Features Multi-Tasking – Round Robin, Pre-emptive, Cooperative Unlimited – User Timers, Semaphores and Mailboxes Royalty free Task Specifications Priority Levels 256 No. of Tasks Defined Unlimited No. of Tasks Active Context Switch < 300 Cycles Interrupt Latency < 100 Cycles Memory Requirements Bytes CODE Space (depending on used functionality) 1.5K – 5K RAM Space (each active task requires an own stack space) < 500

47 RTX Real-Time Kernel Full-featured Real-Time kernel designed to meet the challenges of Embedded System Design Process Management Create and delete tasks Change task priorities Event flag management Interrupt functions CPU resources Multi-Tasking Preemptive context switching Scheduling Semaphore management Real-Time Control Deterministic behaviour Inter-task Communication Mailbox management Interface to interrupt functions Memory Allocation Thread-safe (usage even in ISR)

48 Tool Chain Integration
RTX is fully integrated into RealView MDK for easy development and debugging Compilation Tasks are integrated into the RealView C Compiler language. Close integration in RealView MDK (µVision) µVision IDE automatically includes RTX Libraries void task1 (void) _task { … code of task 1 placed here…. }

49 RTX Setup All major parameters of RTX can be easily changed using the µVision configuration wizard.

50 Kernel Aware Debugging
RTX and µVision are tightly integrated, kernel aware debugging is fully supported. Tasks and Event analysis Resource Loading Allowing resource optimisation 50

51 Examples and Templates
RTX Examples Examples and Templates

52 RTX Examples Traffic Light
LED’s are timed or controlled by push button Utilizes interrupt control, event management and multitasking capabilities of RTX Kernel Demonstrates RTX concepts

53 RTX Examples CAN Example using RTX Mailbox and event handling
CAN Send (Tx) – shows automatic data handling capabilities CAN Rec – message checking with instant message receipt – task wait and return – almost impossible without Real-Time Kernel Analog Input Voltage CAN Tx Incremental Script CAN Rec LED’s

54 Get More Information Application Notes Program Examples
Customers use on a daily basis to obtain program examples, latest technical information, and support. Application Notes Program Examples Device Database Support Knowledge Discussion Forum


Download ppt "Development Tools for ARM-Powered Devices"

Similar presentations


Ads by Google