july, 2008 1 getting started with iar powerpac for msp430 mats pettersson, iar systems fast…...
TRANSCRIPT
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 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 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 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 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 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.