ide for medical device software development · 2018-04-18 · iec 62304 • medical device software...
TRANSCRIPT
Agenda
• SW Validation
• Functional safety certified tool
• IAR Embedded Workbench
• Code Analysis tools
Certifications of Medical device
IEC 62304
• Medical device software life cycle process
• Replace ANSI / AAMI / SW 68: 2001
• Based on ISO 12207 -Software life cycle processes
• Provides the framework of life cycle needed for safe development
and maintenance of medical device software
• IEC / ISO joint development
IEC 62304
Medical device
management standards
ISO 14971
ISO 13485
Medical device process
standards
IEC 62304
Other source of
information
IEC/ISO 12207
IEC 61508-3
IEC/ISO 90003, …
Medical device product
standards
IEC 60601-1
IEC 61010-1
Implementation of
medical device
software
affects
affects
affects
requires
inspires
Lay out a foundation to
develop a medical device
Gives specific direction
for evaluation of a safe
medical device
Gives detailed direction how
to develop and maintain safe
software system
Gives additional
guidelines, techniques,
etc that may be used
V-Model
Systematic Software testing ‐ Rick D. Craig and Stefan P. Jaskiel
IAR Embedded Workbench
C-STAT, C-RUN
I-jet, I-jet Trace
IAR Visual State
Embedded Trust - Security
Development and testing
Cost
Development cycle
$
$$$$$$
$$$
System test
product recall
1. C is not safe data type conversion, pointer accesses etc.
2. All software contains bugs
3. The later you find a bug, the more expensive it gets
Functional safety and reliability
One of the most important features in many
embedded systems today, especially within
automotive, industrial automation and medical
Coding standards
Safety requirements
Proof of compliance for tools
Available for: ARM
Renesas RX
Renesas RL78
Renesas RH850
Validated according to: IEC 61508
ISO 26262
EN 50128 (ARM)
IEC 62304 (RX, ARM)
Certified toolchain A special functional safety edition of IAR Embedded Workbench
Simplified validation Functional Safety certificate from TÜ V SÜ D
Safety report from TÜ V SÜ D
Safety guide
Guaranteed support through the product life cycle
Prioritized support
Validated service packs
Regular reports of known problems
Solutions for safety-critical applications
Simplified validation
• Functional safety certificate from TÜ V SÜ D
• Safety report from TÜ V SÜ D
• Safety Guide – Complement to the IAR Embedded Workbench user
guides
– Highlights issues to be considered when using the build toolchain for projects with functional-safety requirements
– Includes system considerations, implementation and coding considerations, etc.
Validated product versions
Validated version: IAR Embedded
Workbench for EWXXXFS x.xx.x Validated version y.yy
Validated service packs Validated service packs
Non-validated feature
releases x.xx.x
• For a certified product, a new certified version is released approximately
every 12-18 months
• A certified version is considered a ”frozen” version, on which bug fixes
are applied in terms of validated service packs
• No new product features are added to a certified version or the
corresponding service packs
We enable developers to take full control of their development and gain efficient,
adaptable workflows delivering dependable products. ”
Editor
Project manager
Library tools
Simulator driver
Hardware debugging
Power debugging
RTOS plugins
IAR C/C++ Compiler
Assembler
Linker
C-SPY
Debugger Build tools
Fully
integrated
runtime
and static
analysis
Maximized performance by compiler experts
Integrated analysis tools
IDE tools
Code analysis prioritized customer request
Runtime analysis C-RUN launched in 2014
Static analysis C-STAT launched in 2015
Thousands of
example projects Templates and
quick access to
RTOS integration
Direct links to
technical support,
release notes and
product updates
through My Pages
Getting started
guides and
tutorials
Quick start
Powerful Project
Manager Arrange multiple projects
within the same workspace
Find and list all
references for a
symbol
Clean, robust, and
fast user interface
Smart Source Browser
User-friendly IDE Feature-rich editor
Set breakpoints
while editing the
code before
starting the
debugger
Multiple views
and dockable
windows
Integrates with
commonly used
version control
systems
Intuitive menu
system
User-friendly IDE
Comprehensive
documentation
Context-sensitive
online help with
library function
lookup
Powerful C/C++ compiler
The linker
can remove
unused code
Multiple levels of optimizations for
code size and execution speed
Major functions
of the optimizer
can be controlled
individually
Balance between
size and speed
by setting
different
optimizations for
different parts of
the code
Multi-file compilation allows
the optimizer to operate on a
larger set of code
Option to
maximize
speed with
no size
constraints
Well-tested Commercial test suites
• Plum-Hall
• Perennial
• Dinkumware library test
In-house developed test suite
>500,000 lines of C/C++ test
code run multiple times
• Processor modes
• Memory models
• Optimization levels
Language standards • ISO/IEC 9899:1990
(C94/C90/C89/ANSI C)
• ISO/IEC 9899:1999
(C99/Standard C)
• ISO/IEC 1488:2003
(Standard C++)
• Embedded C++ and Extended
Embedded C++ dialects
Comprehensive debugger
RTOS
awareness
Timeline
window
Integrated
debugger for
source and
disassembly
debugging Edit source files
without leaving
the debug
session
Dockable
windows and
tab groups
Performance
analysis
Power
vizualization
Comprehensive debugger
Direct flash
erase and
download
Trace support
Broad range
of supported
in-circuit
debugging
probes
Built-in simulator
driver
C-like macro system
to extend debugger
capabilities
Integrated profiling tools
Function profiling Based on simulator, sampled trace or full trace
Execution time per function
Select time interval
Timeline window shows the
application’s profile Interrupt log, Data log, Event log, Call stack
Code coverage analysis Which code has been executed?
Stack analysis calculates maximum stack usage, helps find the optimal stack size, and checks stack integrity at runtime to detect overflow
Power debugging
Tune the application to minimize power-consuming use of hardware resources
Enabled by I-jet or other hardware with power debugging support
Integrated
measuring of
power
consumption
correlated to
the source
code
Detailed power logs Power breakpoints
Function-level
power profiling
24
Intuitive and easy-to-use settings with
flexible rule selection
Extensive and detailed documentation
Checks compliance with MISRA
C:2012, MISRA C++:2008, and MISRA
C:2004
Includes ~250 checks mapping
to hundreds of issues covered by
CWE and CERT C/C++
Fully integrated in IAR Embedded Workbench
C-STAT static analysis
C-RUN runtime analysis
Bounds checking
Arithmetic checking
Heap and memory leaks checking
Fully integrated in IAR Embedded Workbench for Arm and RX
Intuitive and easy-to-use settings with
flexible rule selection
Code correlation and graphical
feedback in editor
Comprehensive and detailed feedback
Very efficient instrumentation of
compiled code
Let C-RUN analyze your project
Requirements Design Implementation Verification Maintenance
Build and debug the application
Take full control of your development
Implement your design in code
Investigate
runtime
errors
Review
potential
issues
Let C-STAT analyze your code
• Download a free evaluation copy of
IAR Embedded Workbench from
www.iar.com
• Visit IAR Demo Space to get
a demo of our technology.
Want to learn more?
Thank you for your attention!