+ All Categories
Home > Documents > MSP432™ MCU RTOS Solutions 1. MSP432 RTOS 2 Real-time Kernel MCU Drivers Connectivity Wi-Fi...

MSP432™ MCU RTOS Solutions 1. MSP432 RTOS 2 Real-time Kernel MCU Drivers Connectivity Wi-Fi...

Date post: 24-Dec-2015
Category:
Upload: patricia-carroll
View: 253 times
Download: 0 times
Share this document with a friend
Popular Tags:
17
MSP432™ MCU RTOS Solutions 1
Transcript
Page 1: MSP432™ MCU RTOS Solutions 1. MSP432 RTOS 2 Real-time Kernel MCU Drivers Connectivity Wi-Fi Middleware File Systems User Application Tasks Power Manager.

MSP432™ MCU RTOS Solutions

1

Page 2: MSP432™ MCU RTOS Solutions 1. MSP432 RTOS 2 Real-time Kernel MCU Drivers Connectivity Wi-Fi Middleware File Systems User Application Tasks Power Manager.

MSP432 RTOS

2

Real-time Kernel

MCU

Drivers

ConnectivityWi-Fi

MiddlewareFile Systems

User ApplicationTasks

Power Manager

Sensors

TI-RTOS

freeRTOS

RTX (CMSIS-RTOS)

Micrium OS

RTOS Options

Page 3: MSP432™ MCU RTOS Solutions 1. MSP432 RTOS 2 Real-time Kernel MCU Drivers Connectivity Wi-Fi Middleware File Systems User Application Tasks Power Manager.

MSP432 RTOS

3

Real-time Kernel

MCU

Drivers

ConnectivityWi-Fi

MiddlewareFile Systems

Power Manager

Sensors

Unique to TI-RTOS: Simplify power

management for MCU

“RTOS Core” standard offering from all RTOSes

Broad offering from TI-RTOS Drivers

Broad Middleware offering from TI-RTOS

& CMSISUser Application

Tasks

Page 4: MSP432™ MCU RTOS Solutions 1. MSP432 RTOS 2 Real-time Kernel MCU Drivers Connectivity Wi-Fi Middleware File Systems User Application Tasks Power Manager.

RTOS Features Comparison

4

Scheduler Type

CMSIS comp-liant

Services Interrupt Latency

Device Specific Support

Device Drivers

Flash Size

LowPower Support

TI-RTOSBy TI

• Pre-emptive X • Tasks• Swis• Hwis• Software

Timers

• Semaphores• Mutex• Mailbox• Events

• Zero-latency interrupts supported(115 cycles for ISRs with TI-RTOS calls)

• Systick• Interrupts• Exception

Handling

• SPI• SPI-SD • I2C• UART• Timer• RTC• Timestamp• Watchdog

4K to 10K • Tick Suppression, • Device specific

Power Manager

ARM RTXBy Keil

• Round-robin (default)

• Pre-emptive• Cooperative

√ • Tasks• SWIs• Software

Timers

• Semaphores• Mutex• Mailbox• Events

• Zero-latency interrupts supported

• Systick X <4K • Tick Suppression, • Device specific

support coming soon

FreeRTOSBy Real Time Engineers Ltd

• Pre-emptive• Cooperative

X • Tasks• Co-routines

(task share stack)

• Direct TASK notifications

• Software Timers

• Semaphore• Mutex• Events

• Zero-latency interrupts supported

• Systick X 5K to 10K • Tick Suppression, • Pre and post sleep

macros for customization,

• Idle task hook.

Micrium OSBy Micrium

• Pre-emptive X • Tasks• Software

Timers

• Semaphores• Mutex• Mailbox• Events

• Unknown • Systick X 5K to 24K • Idle Task Hook• Tick suppression

coming soon

Page 5: MSP432™ MCU RTOS Solutions 1. MSP432 RTOS 2 Real-time Kernel MCU Drivers Connectivity Wi-Fi Middleware File Systems User Application Tasks Power Manager.

RTOS Tools Comparison

5

Object Viewer

Execution Graph

Logging RTOSConfig Tool

Signal Plots Compiler support

Examples License Certified

Cost

TI-RTOSBy TI

√ √ √ √ √(GUI composer)

• CCS• IAR• GCC

> 50 • BSD Free

ARM RTXBy Keil

√ √ X √ √ • IAR• Keil• GCC• Cosmic

2 • BSD Free

FreeRTOSBy Real Time Engineers Ltd

√ 3rd partyStandalone

√3rd partyStandalone

√3rd partyStandalone

X √3rd partyStandalone

• CCS• IAR• Keil• GCC• Tasking

1 • Modified GPL• SafeRTOS

Free

Micrium OSBy Micrium

√ √ √ X √ • CCS• IAR

2 • Micrium• SIL3/SIL4

Contact Micrium

Page 6: MSP432™ MCU RTOS Solutions 1. MSP432 RTOS 2 Real-time Kernel MCU Drivers Connectivity Wi-Fi Middleware File Systems User Application Tasks Power Manager.

MSP432 & TI-RTOS

• Developed and maintained by TI

• Fully supported on MSP432 with > 50 examples. Out of the box examples for supported booster-packs.

• Power Manager to simplify & optimize power during runtime

• Power-aware Drivers that work with TI-RTOS kernel or can even be used with another RTOS

• Underlying structure for Energia MT - first hobbyist-oriented multi-thread IDE supporting MSP432

6

BoosterPack Supported

CC3100 Booster Pack

SD-Card BoosterPack

TMP006 BoosterPack

Sharp Memory LCD BoosterPack

RF430CL330 NFC Transponder

TPL0401EVM Board

Components Supported

Kernel

Wi-Fi

FAT File System

Device Drivers

Power Manager

Instrumentation

IDE: CCS, IAR, & GCC Tools

Device Drivers

Real-time clock NEW!

Timer

UART

I2C

SPI

SPI-SD

PWM NEW!

Watchdog

GPIO

Page 7: MSP432™ MCU RTOS Solutions 1. MSP432 RTOS 2 Real-time Kernel MCU Drivers Connectivity Wi-Fi Middleware File Systems User Application Tasks Power Manager.

TI-RTOS Power Manager

AM1_LDO

AM0_LDO

AM1_LPR

AM0_LPR

AM1_DCDC

AM0_DCDC

RESET

FlashCtl_setWaitState(FLASH_BANK0, waitsNew);FlashCtl_setWaitState(FLASH_BANK1, waitsNew);

/* now change clocks and dividers */CS_setDCOCenteredFrequency(PowerMSP432_perfLevels[level].DCORESEL);CS_initClockSignal(CS_MCLK,PowerMSP432_perfLevels[level].clockSource,PowerMSP432_perfLevels[level].DIVM);CS_initClockSignal(CS_HSMCLK,PowerMSP432_perfLevels[level].clockSource,PowerMSP432_perfLevels[level].DIVHS);CS_initClockSignal(CS_SMCLK,PowerMSP432_perfLevels[level].clockSource,PowerMSP432_perfLevels[level].DIVS);

FlashCtl_enableReadBuffering(FLASH_BANK0, FLASH_DATA_READ);FlashCtl_enableReadBuffering(FLASH_BANK0,FLASH_INSTRUCTION_FETCH);FlashCtl_enableReadBuffering(FLASH_BANK1, FLASH_DATA_READ);FlashCtl_enableReadBuffering(FLASH_BANK1,FLASH_INSTRUCTION_FETCH);

changedStateOK = PCM_setPowerState(stateNew);

Power_setPerformanceLevel(level)

MSP432 Power Sequence

Active-mode Transition

Using MSP432 DriverLib Using TI-RTOS Power Manager

AMx_LDO

SLx_LDO

AMx_LPR

SLx_LPR

AMx_DCDC

SLx_DCDC

1MCLK 3MCLKs1MCLK 3MCLKs 1MCLK 3MCLKs

Sleep-mode Transition

RTC_C_holdClock();WDT_A_holdTimer(); PCM_setPowerState(PCM_LPM3); Power_sleep()

Page 8: MSP432™ MCU RTOS Solutions 1. MSP432 RTOS 2 Real-time Kernel MCU Drivers Connectivity Wi-Fi Middleware File Systems User Application Tasks Power Manager.

Energia MT

8

??

Single sketch code hard to write for multiple LEDs at different rates

Multiple sketches makes code clean and easy to write

• Complex single sketches to simple multiple sketches• Run sketches in parallel • Automagic low power• The power of an RTOS for everybody without the complexity!• Easy to create interactive component libraries

See video!

Page 9: MSP432™ MCU RTOS Solutions 1. MSP432 RTOS 2 Real-time Kernel MCU Drivers Connectivity Wi-Fi Middleware File Systems User Application Tasks Power Manager.

Energia MT – Reuse of frameworkTI-RTOS enables Energia to be ported to new devices rapidly!

Energia/Wiring API

UART SPII2C PWM

Energia/Wiring API

UART SPII2C PWM

Device Device

TI-RTOS

Libraries

Sketches

Libraries

Sketches

Energia

Energia MT

Page 10: MSP432™ MCU RTOS Solutions 1. MSP432 RTOS 2 Real-time Kernel MCU Drivers Connectivity Wi-Fi Middleware File Systems User Application Tasks Power Manager.

MSP432 & ARM RTX• Download Keil IDE from http://

www.keil.com/mdk5/instal

• Free for all

• ARM RTX details http://www.keil.com/rl-arm/kernel.asp

• Run examples today on the MSP432 LaunchPad www.keil.com/appnotes/docs/apnt_276.asp

• Full suite of examples and CMSIS drivers coming soon

10

Flexible Scheduling

Royalty Free

CMSIS compliant

Small footprint <4K

Page 11: MSP432™ MCU RTOS Solutions 1. MSP432 RTOS 2 Real-time Kernel MCU Drivers Connectivity Wi-Fi Middleware File Systems User Application Tasks Power Manager.

• Download FreeRTOS from http://www.freertos.org/

• See the demo that runs on the MSP432 LaunchPad athttp://www.freertos.org/TI_MSP432_Free_RTOS_Demo.html

11

MSP432 & FreeRTOS

MPU support

Free, Modfiied GPL licence

Tickless

Page 12: MSP432™ MCU RTOS Solutions 1. MSP432 RTOS 2 Real-time Kernel MCU Drivers Connectivity Wi-Fi Middleware File Systems User Application Tasks Power Manager.

• Download Micrium µC/OS-II from http://micrium.com/downloadcenter/download-results/?searchterm=mi-msp432p401r&supported=true

• Contact Micrium for pricing questions.

12

MSP432 & Micrium OSBuilt-in

benchmarks

Certified for safety!

Page 13: MSP432™ MCU RTOS Solutions 1. MSP432 RTOS 2 Real-time Kernel MCU Drivers Connectivity Wi-Fi Middleware File Systems User Application Tasks Power Manager.

Backup

13

Page 14: MSP432™ MCU RTOS Solutions 1. MSP432 RTOS 2 Real-time Kernel MCU Drivers Connectivity Wi-Fi Middleware File Systems User Application Tasks Power Manager.

MSP432 TI-RTOS – Power Manager

14

• Power Manager helps applications with • entering/exiting various LPM modes, • choosing among the various performance levels – AM_LDO_VCORE0, AM_DCDC_VCORE1 etc• Drivers can give inputs to Power Manager on which sleep mode or performance level they can

handle at any given time.• Drivers can get notified by the Power Manager when sleep or performance events occur.

• Application can pick the sleep mode and performance level and then the Power Manager will manage the rest in a thread-safe way.• Power and performance decisions are made in ONE place.• Clocks get configured based on requested performance level. • Flash wait states and buffering modes set automatically based on performance level.• RTC and Watchdog are managed to enter LPM3

• Simply ask power Manager these questions – “What are my clocks right now?” “What is my performance level?” “ Why can’t my system enter LPMx.5? What are my latencies to enter/exit LPM modes?” etc.

• All TI-RTOS drivers use the Power Manager services.

Page 15: MSP432™ MCU RTOS Solutions 1. MSP432 RTOS 2 Real-time Kernel MCU Drivers Connectivity Wi-Fi Middleware File Systems User Application Tasks Power Manager.

MSP432 TI-RTOS – Power Manager APIs• Init and setup

Power_init(); - Call once before other APIs at init time.

Power_enablePolicy();

Enable Power Manager – call once at init time.

Power_idleFunc(); - Add to idle loop or forever while(1).

15

• Getters

Power_getConstraintMask(); -

Get constraints that can prevent power manager from entering a particular sleep state or performance level. This API will tell the application why the power Module did not allow entry into a particular sleep or performance state.

• Get/Set

Power_set/getPerformanceLevel();

Use this API to set various performance levels such as AM_DCDC_VCORE1, AM_DCDC_VCORE0 etc. This API also manages flash wait wait and buffering modes. Constarints are taken into account before entering a new performance level.

Power_register/unregisterNotify();

Register a function with the power manager to get notified on power events such as “about to sleep”, “waking up”. Apps can then manage their state/resources accordingly.

Power_set/releaseConstraint();

Use this API to prevent entry into Low Frequency Mode or prevent entry into LPMx.5.

• Goto to LPM

Power_shutdown();

API to enter LPMx.5.

Power_sleep();

API to enter LPM0, LPM3 or LPM4.

Page 16: MSP432™ MCU RTOS Solutions 1. MSP432 RTOS 2 Real-time Kernel MCU Drivers Connectivity Wi-Fi Middleware File Systems User Application Tasks Power Manager.

TI-RTOS Development Tools

16

Page 17: MSP432™ MCU RTOS Solutions 1. MSP432 RTOS 2 Real-time Kernel MCU Drivers Connectivity Wi-Fi Middleware File Systems User Application Tasks Power Manager.

ARM RTX Development Tools

• Leverage ARM standard CMSIS-DSP library

17


Recommended