Vous êtes sur la page 1sur 19

IAR Embedded Workbench® for AVR

Version 4.30

1
Highlights in v4.30

• Support has been added for the following new Atmel devices:
– AT90USB82, AT90USB162
– AT90PWM216, AT90PWM316,
– ATmega48P, ATmega88P, ATmega168P, ATmega328P

2
Easy-to-use IDE

• Powerful Project Manager arranging multiple projects in a


workspace with an hierarchical representation
• Dockable and floating windows management
• Smart source browser and quick function navigation
• Flexible ways to build project via batch build, pre/post-build or
custom build which can easily integrate external tools in the
build process.
• Integration with source code control systems
• Feature-rich editor with multi-byte character support and
context-sensitive online help
• Modular and extensible architecture allowing easy plugins from
3rd parties

3
A Modular and Extensible Architecture

IAR Embedd Workbench IDE

Text editor C-SPY debugger

Project Simulator
• AVR JTAGICE mkII
manager
Custom plug-ins • AVR ICE200
(editors, source code • AVR JTAGICE
control systems, etc.) C/C++ HW systems • AVR Crypto Controller
compilers plug-ins ROM-monitor, etc.
assembler

Linker, RTOS plug-ins


• ORTI
libraries • Micrium µC/OS-II, etc

4
Hierarchical project Integration of source Set breakpoint Editable code
representation code control systems before debugging template for easy
code inserting

Smart Source
Browser for quick
function/variable
navigation

Powerful Project Manager can


arrange multiple projects in one Multi-byte character support
workspace
5
A Flying Start

• A getting started guide and ready-made example project for


Atmel STK500 board
• Project templates for C, C++, assembler and library projects
• Extensive device support with ready-made header files, device
description files and linker configuration files (up-to-date chip
support list on the product page on the www.iar.com/ewavr)
• Extensive step-by-step tutorials
• Online flash demo showing all the major features
• Context-sensitive online help for easy lookup of keywords and
library functions
• Efficient coding hints for embedded application

6
Highly Optimizing C/C++ Compiler (1/2)

• Support for C, EC++ and Extended EC++ including C++


templates, namespaces, STL etc.
• MISRA C checker for automatic checking of most MISRA C
rules
• Multiple levels of optimizations for code size and execution
speed
• Floating-point values are represented by 32- and 64-bit numbers
in standard IEEE format
• Comprehensive language extensions allow detailed tailoring of
embedded applications
– Extended function and data keywords to support AVR-specific
features
– Pragma directives to control, for example how to allocate memory
– Intrinsic functions for direct access to low-level processor
operations in, for example, time-critical routines.

7
Highly Optimizing C/C++ Compiler (2/2)

• Support for all devices in AVR Classic, megaAVR, tinyAVR,


CAN AVR, LCD AVR, USB AVR, AT90SC Secure
Microcontrollers and FPSLIC families, including devices with
the enhanched core
• Fuse and lock bits programming
• Add the keyword __nested that modifies the enter code of an
interrupt function to allow for nested interrupts
• Flexible segment commands allow detailed control of code and
data placement
• Efficient layout of stack/static/global variables

8
Extended Support for Embedded C++

• Adaption of C++ to the specific requirements of embedded


applications, including support for
• C++ templates
• Standard Template Library (STL)
• Namespaces
• Full support for memory attributes in C++
• Class memory, multiple heaps etc.
• C++ cast variants static_cast<>, const_cast<>, and
reinterpret_cast<>
• Mutable specifier

9
MISRA C Checker

• MISRA C – Defined set of rules describing how to develop


”safe” C from Motor Industry Software Reliability Association
(MISRA)

• MISRA C checker supports automatic checking of most of these


rules

– Rule-checking and logging


– Covers automatic checking of 101 of 127 rules
– Several un-covered rules require manual checking
– Comprehensive documentation (IAR Embedded Workbench
MISRA C Reference Guide)

10
Libraries and Library Tools

• All required ISO/ANSI C and C++ libraries included


• All low-level routines such as writechar and readchar provided
in full source code
• Lightweight runtime library, user-configurable to match the
needs of the application; full source included
• Library tools with template projects for creating and
maintaining library projects, libraries and library modules
• Add pre-built libraries that use the MUL instruction when the –
cpu options is used

11
C-SPY® Debugger (1/3)

• Complex code and data breakpoints with new breakpoint category―Log


breakpoint
• Very fine granularity execution control (function call-level stepping)
• Stack window to monitor the memory consumption and integrity of the
stack
• Runtime backtrace via C call stack
• Profiling and code coverage performance analysis tools
• Trace utility with expressions to examine execution history
• RTOS-aware debugging via OSEK Run-Time Interface (ORTI) plug-in
for any ORTI-compliant OS

12
C-SPY® Debugger (2/3)

• Versatile monitoring of registers, structures, call chain, locals,


global variables and peripheral registers
• Smart STL container display in Watch window
• Symbolic memory window showing memory content annotated
with global symbols
• Static watch window showing global and static variables,
including function and class statics
• I/O and interrupt simulation
• True editing-while-debugging
• Convenient file/function/variable accessing in different windows
with Drag and drop model

13
C-SPY® Debugger (3/3)

• The C-SPY debugger for AVR supports the following hardware target
systems:
– AVR® ICE200
– AVR® JTAGICE
– AVR® JTAGICE mkII
– AVR® Crypto Controller ROM-monitor for the Atmel Smart Card
Development Board (SCDB) and the Voyager development system (optional
add-ons, order separately)
– AVR Studio via compatible output format (fully support Atmel ICE via the
Atmel debugger interface)

• Built-in RTOS plugins:


– OSEK Run Time Interface (ORTI)
– Micrium µC/OS-II RTOS

14
Extensive hardware Extended EC++ support
debugging support

MISRA C checker

Multibyte support in editor and compiler Fuse and lock bits programming

15
Stack unwinding even at high
Complex code and data breakpoints View registers in
optimization levels different groups

Profiling and code coverage helps you to analize your


application and locate the bottle-necks
16
Runtime stack analysis Static watch window displays global and static
variables, including function and class statics

Trace utility in simulator to examine Symbolic memory window displays memory


execution history content annotated with global symbols.

17
Customer Support

• Support and Update Agreement (SUA)


– Free software updates
– First class world-wide technical support by telephone, e-mail and fax
– VIP Support contracts available
• ”My Pages” at www.iar.com
– Read about new product releases
– Download product updates
– Transfer licenses to co-workers
– Manage your contact information

18
Road Map

Version 5.10 Q4, 2007


• New compiler platform
• More new device support
• Improvements on code speed optimization

19

Vous aimerez peut-être aussi