34
July, 2008 1 Getting started with IAR PowerPac for MSP430 Mats Pettersson, IAR Systems • Fast… • Everything can be found on www.iar.com • Evaluation and kickstart versions free to download • Demo after the PowerPoint slides • Feedback and questions to [email protected]

July, 2008 1 Getting started with IAR PowerPac for MSP430 Mats Pettersson, IAR Systems Fast… Everything can be found on Evaluation and kickstart

Embed Size (px)

Citation preview

July, 2008 1

Getting started with IAR PowerPac for MSP430

Mats Pettersson, IAR Systems

• Fast…• Everything can be found on www.iar.com• Evaluation and kickstart versions free to download• Demo after the PowerPoint slides• Feedback and questions to [email protected]

July, 2008 3

IAR PowerPac forMSP430

Tools

IAR SystemsSupport

RTOSand

File System

July, 2008 4

IAR Systems

• Founded in 1983 in Uppsala, Sweden (Headquarter)

• About 140 employees

• Offices in the US (3), China, Japan, the UK, Belgium, Germany, Brazil and Sweden

• 80.000 application developers

• Partner with 16 of the top semiconductor companies

July, 2008 5

IAR PowerPac forMSP430

Tools

IAR SystemsSupport

RTOSand

File System

July, 2008 6

RTOSand

File System

• What is an RTOS?Software that manages the time and other resources of a microprocessor or microcontroller. It breaks down the application into multiple tasks each handling one aspect of the application. It’s like having multiple CPUs!

• What is a File System ?Software for storing and organizing data on storage devices.

Functions to create and handle files and directories in an application.

July, 2008 7

RTOSand

File System

Why use an RTOS ?

• Ensure that high priority tasks run first• Deterministic response • Saves power!• Saves development time• Easy to structure/divide code between developers.• Correctness - easier to understand complex systems• Makes programming more efficient/better structured• Abstracts the hardware-dependence, porting easier• and much, much more…

July, 2008 8

Scheduling

The algorithms that determine which task to execute

Distinguish between tasks that are ready to be executed and other tasks that are suspended

The task which is currently executing is referred to as the active task

RTOSand

File System

July, 2008 9

TasksEach task consist of:

• The program code, which usually resides in ROM

• A stack, residing in a RAM area that can be accessed by the stack pointer

• A task control block (TCB), residing in RAM. The TCB is only accessed by the RTOS

RTOSand

File System

July, 2008 10

Communication between tasks

As tasks run in the same application, they sometimes need to communicate with each other to:• exchange data with other tasks• synchronize with other tasks• make sure that a resource is used by no more than one task at

a time

Can be achieved by:• Global variables..... • RTOS communication mechanisms

RTOSand

File System

July, 2008 11

Communication mechanisms

Mailboxes• A buffer that is managed by

the real-time operating system • Fixed message size

Queues• Similar to mailboxes, but

enable inter task communication with larger messages

• Messages of various sizes

Semaphores• Used for managing

resources by avoiding conflicts caused by simultaneous use of a resource

• Resource semaphore• Counting semaphore

EventsTask events are messages to a single, specified recipient

RTOSand

File System

July, 2008 12

Task oriented design

Benefits• Clearer design• Polling is avoided• Adding a lower priority task will not affect the responsiveness

of the system to high priority tasks • Code can be modularized, making things easier to maintain

and debug• Saves power

RTOSand

File System

July, 2008 13

RTOSand

File System

Fail-safe operations• The driver makes only atomic actions and takes the responsibility

that the data managed by the file system is always valid. • In case of a power loss or a power reset during a write operation,

it is always assured that only valid data is stored in the flash. • If the power loss interrupts the write operation, the old data will

be kept and the block will not be corrupted.

Wear leveling • makes sure that the number of

erase cycles remains approximately equal for each sector

File System features

July, 2008 14

IAR PowerPac forMSP430

Tools

IAR SystemsSupport

RTOSand

File System

July, 2008 15

Tools

Complete suite of tools

Design Design

Verify, Validate, Implement

Verify, Validate, Implement

Compile Compile Debug Debug Deploy DeployTarget

applicationIdea

visualSTATEvisualSTATEIAR

EmbeddedWorkbench

IAR EmbeddedWorkbench

JTAGdebugger

JTAGdebugger

IAR Development

Kits

IAR Development

Kits

RTOS & MiddlewareRTOS & MiddlewareIAR PowerPac

IAR PowerPac

July, 2008 16

IAR PowerPac forMSP430

Tools

IAR SystemsSupport

RTOSand

File System

July, 2008 17

IAR PowerPac forMSP430

Why use a commercial RTOS ?

Priority Priority controlledcontrolled

MulititaskingMulititasking

Priority Priority controlledcontrolled

MulititaskingMulititaskingProven codeProven codeProven codeProven code

DocumentationDocumentationDocumentationDocumentation

CostsCostsCostsCosts

Commercial RTOS?Commercial RTOS?Commercial RTOS?Commercial RTOS?Hard real timeHard real timeHard real timeHard real time Shorter timeShorter timeto marketto market

Shorter timeShorter timeto marketto market

VisualizationVisualizationVisualizationVisualization

July, 2008 18

IAR PowerPacTM for MSP430

Fully featured real-time operating system

High performance file system

Innovative business model similar to that of IAR Embedded Workbench

Tight integration with IAR Embedded Workbench

Easy to get started

Board support packages

IAR PowerPac Base(RTOS + File System)

IAR PowerPac Source(RTOS + File System)

Additional components

IAR PowerPac USB

IAR PowerPac forMSP430

July, 2008 19

IAR PowerPac forMSP430

Operating system

Key featuresSmall memory footprint

(1.7 KByte for typical MSP430 implementation)Pre-emptive multi-tasking Round-robin scheduling Up to 255 prioritiesUnlimited number of tasks, semaphores, mailboxes

and software timers Full interrupt support with nested interruptsVery fast context switch times Power Management

July, 2008 20

RTOS performance

Memory usage

Kernel size (ROM) 1208 bytes

Kernel RAM usage 28 bytes

RAM usage per task control block

18 bytes

RAM usage per resource semaphore

8 bytes

RAM usage per counting semaphore

4 bytes

RAM usage per mailbox 12 bytes

RAM usage per software timer

12 bytes

RAM usage event 0 bytes

Min. stack-size per task (RAM)

48 bytes

IAR PowerPac forMSP430

July, 2008 21

RTOS performanceIAR PowerPac forMSP430

Timing

Context switch time270 clock cycles (67.5 µs), independent of number of tasks

Interrupt latency timemax. 151 clock cycles (37.8 µs)

Kernel CPU usage/TICKless than 1% of total calculation time at 1000 Interrupts/second (1ms TICK)

Basic time unit (TICK)typ. 1 ms, min. 100 µs (10 kHz interrupt frequency)

July, 2008 22

IAR PowerPac forMSP430

Support for MSP430 Low Power Modes

Task oriented design is very useful if you want to save power

Peripherals can be switched of when not usedWake up is possible through all enabled interruptsEfficient OS causes minimum CPU overhead ->

maximizing idle time -> reducing power consumption

July, 2008 23

IAR PowerPac forMSP430

Support for MSP430 Low Power Modes

PowerPac RTOS fully supports all MSP430 low power modes.

RTOS always brings CPU into lowest power mode possible whenever CPU is idle

Peripheral clock requirements are taken into account Lifts a lot of the burden for power management from

the programmer

July, 2008 24

IAR PowerPac forMSP430

Support for MSP430 Low Power Modes

The idle task• The idle task is only active when no other task has something to

do.• Other tasks need to make operating systems calls to let the system

know when shared resources are or are not in use.»OS_POWER_UsageDec(OS_UINT Level)»OS_POWER_UsageInc(OS_UINT Level)

• The idle task will depending on which resources are used, enter the lowest possible power mode.

July, 2008 25

IAR PowerPac forMSP430

IAR PowerPac file system

Small footprint, e.g. 12 KByte ROM / 1.6 KByte RAM

MS-DOS/MS-Windows compatible FAT12, FAT16 and FAT32 support

Multiple device driver support Multiple media supportCaching functionalityCheck disk functionalityDevice drivers available for a number of

media types

July, 2008 26

IAR PowerPac forMSP430

PowerPac File System API layers

File System API layer- Contains functions in ANSI C stdio style,

FS_FOpen(), FS_FWrite() etc.- Translates file operations to logical block

(sector) operations.

Storage API layer- Optimized for applications which do not

require file system functionality.- Allows sector read and write operations to

a storage medium- A typical application: USB mass storage

device, data has to be stored on a medium, but all file system functionality is handled by the host PC.

File System Layer

Storage Layer

Device Driver

Application

Hardware Layer

Pow

erP

ac

File

Syst

em

File System APIStorage APIAPI Layer

July, 2008 27

IAR PowerPac forMSP430

Integration with IAR Embedded

Workbench

Example projects available from the startup screenLinks to IAR PowerPac for MSP430 documentation in

the Help menu Template projects within IDE for new library projectsRTOS aware debugging via C-SPY plug-inBoard Support packages

July, 2008 28

IAR PowerPac forMSP430

IAR PowerPac for MSP430 - evaluation

version

Works with all EW430 product variants with the following limitations:• IAR PowerPac RTOS can either work without a time limit

with a maximum of three tasks or create more than three tasks and work with a time limit of 15 minutes.

• IAR PowerPac File System can only handle one open file at any given time

Time limited version will also be available

July, 2008 29

IAR PowerPac forMSP430

IAR PowerPac business model

Principle• Base product in object code format

Licensing model• Seat license - per developer and CPU• Full source code upgrade• Group license (up to 20 developers)• Site license (unlimited on the same site)• No royalty fees

Result• Low-risk licensing model• A license can be used in unlimited number of projects and

products • Affordable site license for unlimited number of developers

July, 2008 30

IAR PowerPac forMSP430

Tools

IAR SystemsSupport

RTOSand

File System

July, 2008 31

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

Customer support

July, 2008 32

Support

www.iar.com• Tecnical notes• Application notes• My Pages with latest product updates

Documentation• User Guides for EW430 and PP430• Reference Guides for all EW430 components• Reference Guides for PP430 RTOS and FS.

Technical Resources

July, 2008 33

Demonstration on MSP-EXP430F5438

IAR PowerPac forMSP430

Tools

IAR SystemsSupport

RTOSand

File System

July, 2008 34

SummaryOur offering

• A tightly integrated RTOS, file system, and tools for developing embedded applications

• Perfect compliment to IAR Embedded Workbench

• Innovative ”low-risk” price model

• Continuous ”add-ons” for more middleware’s

• Upgrade path

• Same license management system as IAR Embedded Workbench

• Local support across the globe.

July, 2008 35

Thank you!

Please send feedback and questions to [email protected]