ide for medical device software development · 2018-04-18 · iec 62304 • medical device software...

29
IDE for medical device software development Hyun-Do Lee, Field Application Engineer

Upload: others

Post on 11-Mar-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

IDE for medical device software

development

Hyun-Do Lee, Field Application Engineer

Agenda

• SW Validation

• Functional safety certified tool

• IAR Embedded Workbench

• Code Analysis tools

SW Validation

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

SW Validation

Over view of software development processes and activities, IEC 62304

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 certified tool

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

IAR Embedded Workbench

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

Code Analysis tools

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!