· 3.9.2. JTAG WYSIWYG Atom for JTAG Control Block Access Using Internal JTAG Interface
111 Development Tools for ARM-Powered Devices Name of presenter RealView Microcontroller Development...
-
Upload
rudolph-dickerson -
Category
Documents
-
view
217 -
download
0
Transcript of 111 Development Tools for ARM-Powered Devices Name of presenter RealView Microcontroller Development...
111
Development Toolsfor ARM-Powered Devices
Name of presenter
RealView Microcontroller Development KitULINK2 USB/JTAG Adapter
Evaluation Boards
222
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
333
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
444
Keil and RealView
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
Tools supporting ARM MCU devices use the ARM RealView Compiler, µVision is common to all Keil based tools.
555
Evaluation BoardsEvaluation Boards
ARM7, ARM9 and Cortex-M3 based MCU devices
Target DebugTarget DebugULINK2 USB-JTAG Adapter
with Real-Time Agent
RealViewRealView
RTX Source Code
TCP/IP Suite
Flash File System
USB Device Interface
CAN Interface
Exa
mp
les
and
Tem
pla
tes
Real-Time Library
Tools for ARM-Powered DevicesT
hir
d P
arty
Uti
liti
esRealView Microcontroller
Development KitRealView Microcontroller
Development Kit
Exa
mp
les
and
Tem
pla
tes
µVision Device Database & IDE
RTX RTOS Kernel
RealView C/C++ Compiler
µVision Debugger & Analysis Tools
Complete Device Simulation
666
Microcontroller Development Kit
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
Complete software development environment for ARM processor-based microcontrollers. Easy to learn and easy to use!
RealView Microcontroller Development Kit
RealView Microcontroller Development Kit
Exa
mp
les
and
Tem
pla
tes
µVision Device Database
RTX RTOS Kernel
RealView C/C++ Compiler
µVision Debugger & Analysis Tools
Complete Device Simulation
777
RealView 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
Extensive library of common ready-to-use middleware components, speed software development.
RealViewRealView
RTX Source Code
TCP/IP Suite
Flash File System
USB Device Interface
CAN Interface
Exa
mp
les
and
Tem
pla
tes
Real-Time Library
888
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
999
Challenges for Embedded Developers
How do all of these features really help me to develop my application quickly and
accurately?
101010
Embedded Design Questions
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?
ARM-based devices and MCU’s make complex applications possible, good tool support enables applications to be developed efficiently.
111111
Peripherals I/O Pins, Timers, PWM A/D and D/A Converters UART, SPI, I2C Complex communication
peripherals (CAN, USB, Ethernet)
Wide range of MCU Cores 8/16/32 Bit On-chip Memory Interrupt System
Customers expect supportfor specific Microcontrollers. Block Diagram of LPC2378
JTAG Debug and Embedded Trace Macrocell
2 CAN Channels
512KB On-chip Flash
Power management, RTC, reset and watchdog, internal oscillator and PLL
104 GPIO Pins
32KB SRAM, 2KB Battery back-up RAM
16-bit standard Timers including PWM
10/100 Ethernet MAC with DMA & 16KB Static RAM
USB 2.0 Interface with 8KB Static RAM
2 Programmable DMA Channels
72MHz ARM7TDMI-S
SD/MMC Memory Card I/F
10-bit D/A converter
Three I2C InterfacesTwo channels for SPI or
SSP
10-bit A/D converter (eight channels)
Four 16550-style UART’s
Today’s Microcontroller Selection
121212
RealView MDK supports MCU’s
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
Instantly begin developing software, without the need for hardware or in-depth knowledge of target MCU.
131313
Application DevelopmentµVision, device configuration and Compilation tools
141414
µ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
151515
Device Database
On-line Includes Parametric Search
www.keil.com/dd
uVision Includes main parameters for device
Enables easy project creation
Fast device configuration
Enables quick selection of suitable device. Available on-line and integrated in µVision.
161616
Device Configuration
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
Configuration wizards enable effortless device set-up.
171717
RealView Compilation ToolsHighest performance compiler for ARM-Powered devices
181818
RealView Compilation Tools
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
Best in class compilation tools, enabling applications to run faster while reducing system cost.
191919
Superset of standard RealView C LibraryDeveloped for embedded and memory constrained applicationsOptimized 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
MicroLib – Optimized C Libraries
MicroLib significantly reduces library size in embedded applications
202020
MicroLib – Optimised for Embedded
Processor Object Standard MicroLib % saving
ARM7TDMI ARM Library Total 21,352 8,980 61%
RO Total 25,608 12,816 51%
ARM7TDMI Thumb Library Total 17,156 6,244 57%
RO Total 20,129 9,348 50%
Cortex-M3 Thumb-2 Library Total 15,018 5,796 63%
RO Total 18,616 8,976 54%
Based on Dhrystone 2.1 Benchmark
0
5000
10000
15000
20000
25000
ARM Thumb Thumb20
5000
10000
15000
20000
25000
30000
ARM Thumb Thumb2
Library Totals RO Totals
61% 51%
RealView MDK libraries reduce system code size by 50% to 90%
212121
F12Displays variable definition
Source Browser ViewDisplays all locations of
variables or functions
Source Browser
Displays variable and function definitions and where they are used throughout your application.
222222
Verification and DebugComplete Device Simulation and Analysis Tools
232323
Complete Device SimulationThe µVision Advantage
242424
µVision Device Simulation
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
All components of the Target Device are Simulated.Code can be run on entire device.
Device Simulation
D/A
A/D
SRAM
Flash / EEPROM
UART
SPI
Ethernet
Interrupts
GPIO
CAN
USB
TimersCPU
www.keil.com/uVision/db_sim.asp
Extending Simulation
AGSI Interface
Board or System Interfaces
Device Simulation
External Peripherals
252525
The µVision Advantage
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
Complete Device Simulation allows software testing with no hardware,providing quick test cycles and improving product quality.
262626
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
272727
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 physicallyhard to connect
282828
Analysis ToolsThe µVision Advantage
292929
µVision Code Coverage
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
303030
µVision Execution Profiling
Simulation provides exact CPU Timing and allowsdetailed program execution analysis with different parameters.
Detailed Timing Statistics Active for Complete Project
Execution Time
Number of Executions
Flexible Views
Source
Disassembler
Compete Overview
313131
Timing AnalysisAnalog & Digital I/O Pins and
Signals Internal Variables
Exact TimingUsing Cursor LineTool-Tip Delta Information
Direct Code AnalysisFrom Analyzer Window
µVision Logic Analyzer
Allows analog and digital signals to be monitored graphically.Easy, fast analysis of signal timing with code trace.
323232
Use Cases for Simulation Generic: Detect Illegal Memory Access
ULINK2: Analysis of JTAG I/O Pins
333333
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 ”
http://www.keil.com/download/docs/323.asp
343434
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
http://www.keil.com/download/docs/322.asp
353535
Target Hardware DebugIncluding Real-Time Agent
363636
New FeaturesCortex-M3 Serial Wire Debug and TracePlug and Play USB InstallationOn-the-fly debugging with Real-Time Agent
Program DebuggingSingle Stepping & Real-Time ExecutionFlash and Software BreakpointsMemory Access Breakpoints
Flash ProgrammingDownload, Verify, and Execute
ULINK2 – USB / JTAG Adapter
Easy to use USB run control adapter, supporting JTAG debug and Flash programming.
373737
Embedded Debug Challenges
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
Traditional debugging with run-control halts program execution. The real world does not stop which makes run-stop debugging difficult.
383838
Real-Time Agent
JTAG
PeripheralsCPU
Application +
Real-Time Agent
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
Enables target debugging on-the-fly that requires no system halts
393939
Evaluation BoardsARM7, ARM9 and Cortex-M3
404040
Wide Range Evaluation Boards
Designed for easy set-up Extensive Program Examples.
Wide range of peripherals
Popular ARM based MCU’s
Proven hardware for quick project development and debug.
STR91x
LPC23x
STR750
414141
RTX Real-Time Kernel
424242
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
434343
Software Concepts for ARMThe 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
TasksPriority 0
IRQ
FIQ
TasksPriority 1
TasksPriority 2
Time
Main
ISRlevel 0
ISRlevel 1
ISRlevel 2
Time
444444
What makes a Good RTOS Performance
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
454545
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
464646
RTX Features
Full-featured Real-Time kernel meets the requirements of a ‘good’ real-time kernel
Task Specifications
Priority Levels 256
No. of Tasks Defined Unlimited
No. of Tasks Active 256
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
Main Features Multi-Tasking – Round Robin, Pre-emptive, Cooperative
Unlimited – User Timers, Semaphores and Mailboxes
Royalty free
474747
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)
RTX Real-Time Kernel
Full-featured Real-Time kernel designed to meet the challenges of Embedded System Design
484848
Compilation Tasks are integrated into the RealView C Compiler language.
Close integration in RealView MDK (µVision)
µVision IDE automatically includes RTX Libraries
Tool Chain Integration
void task1 (void) _task {… code of task 1 placed here….
}
RTX is fully integrated into RealView MDK for easy development and debugging
494949
RTX Setup
All major parameters of RTX can be easily changed using the µVision configuration wizard.
505050
Kernel Aware Debugging
Tasks and Event analysis Resource Loading
Allowing resource optimisation
RTX and µVision are tightly integrated, kernel aware debugging is fully supported.
515151
RTX ExamplesExamples and Templates
525252
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
RTX Examples
535353
RTX Examples
CAN Tx
CAN Rec LED’s
Analog Input Voltage
Incremental Script
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
545454
Get More Information
Application Notes
Program Examples
Device Database
Support Knowledge
Discussion Forum
Customers use www.keil.com on a daily basis to obtain program examples, latest technical information, and support.