1423.ti-rtos product update

Upload: robert-the

Post on 07-Jul-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/18/2019 1423.TI-RTOS Product Update

    1/44

    TI-RTOS Update: June 2014

    Nick Lethaby, OS Product and Partners Manager

  • 8/18/2019 1423.TI-RTOS Product Update

    2/44

  • 8/18/2019 1423.TI-RTOS Product Update

    3/44

    TI-RTOS History & Resourcing

    3

    StellarisWare (USB)

    NDK (TCP/IP)

    SYS/BIOSDSP/BIOS

    1998 2010

    TI-RTOS1.00

    Jul 20122007

    TI-RTOS2.10

    Q4 2014

    TI-RTOS1.20

    Nov 2013

    TI-RTOS2.00

    May 2014…. 

    •SSL• IntegratedHTTP & filesystem• HTTPServer forwireless

    • Full RTOS• Drivers• Boardinitialization• Examples• CCS

    • TM4C129x• SNTP• IAR• GCC• CC3000driver

    •CC3200•MSP430• Watchdog

    • TI-RTOS is based on a mature, stable code base backed by an

    experienced development team• Development team of 12 engineers

     – Many decades of experience with code base

     – Still support kernel versions over 10 years old

     – Based in Santa Barbara, CA

  • 8/18/2019 1423.TI-RTOS Product Update

    4/44

  • 8/18/2019 1423.TI-RTOS Product Update

    5/44

    TI-RTOS Component Support by Family

    C28x C28x+M3 TM4Cx MSP430 CC3200 CC2600

    Kernel Y Y Y Y Y EA

    Wired Networking Y Y Y

    Wi-Fi (CC3xxx) Y Y Y

    BLE EA

    USB Y Y YFAT File System Y Y Y Y EA

    Drivers/Board

    Initialization

    Y Y Y Y EA

    Power Management Y TBA EA

    Instrumentation Y Y Y Y Y EA

    IPC Y Y

    TI Confidential – NDA Restrictions

  • 8/18/2019 1423.TI-RTOS Product Update

    6/44

    How is TI-RTOS Delivered?

    • In TI-RTOS 2.0 and later, TI-RTOS product downloads are available

    for each supported device family – C2000, Tiva C, MSP430, CC3200, C6000, Sitara

    • TI-RTOS can be downloaded via: –  The CCS Applications Center (this is new in CCS 6.0)

    • Note that neither SYS/BIOS nor TI-RTOS is bundled with CCS anymore

     –  Directly from: http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/index.html (All versions)or www.ti.com/tool/ti-rtos (Latest version only)

    • TI-RTOS is completely free

     – No development or per-project license fees, no run-time royalties

     – Both source code and pre-built binaries are provided

    •  All components (except USB stack) are open source (BSD stylelicense) so no proprietary lock-in

    http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/index.htmlhttp://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/index.htmlhttp://www.ti.com/tool/ti-rtoshttp://www.ti.com/tool/ti-rtoshttp://www.ti.com/tool/ti-rtoshttp://www.ti.com/tool/ti-rtoshttp://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/index.htmlhttp://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/index.htmlhttp://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/index.html

  • 8/18/2019 1423.TI-RTOS Product Update

    7/44

    Platforms Supported by Full BSPs

    • Concerto (28M3x) 

     – TMDXDOCK28M36 

     – TMDXDOCKH52C1

    • Tiva C

     – EK-TM4C123GXL – DK-TM4C123G

     – DK-TM4C129X

     – EK-TM4C1294XL

    • MSP430 

     – MSP-EXP430F5529LP

     – MSP-EXP430F5529 

     – MSP-EXP430FR5969

    • CC3200  – CC3200-LAUNCHXL

    • CC2600/CC1300 

     – Early access now via BU

     – TI-RTOS Kernel is in ROM

    •  All C2000 devices have basic TI-RTOS Kernel support

    TI Confidential – NDA Restrictions

    http://www.ti.com/tool/tmdxdock28m36http://www.ti.com/tool/tmdxdock28m36http://www.ti.com/tool/tmdxdock28m36http://www.ti.com/tool/tmdxdock28m36http://www.ti.com/tool/tmdxdock28m36http://www.ti.com/tool/tmdxdock28m36http://www.ti.com/tool/tmdxdock28m36http://www.ti.com/tool/tmdxdock28m36

  • 8/18/2019 1423.TI-RTOS Product Update

    8/44

    IDE/Toolchain Support

    • Code Composer Studio v6.0 or later (All devices)

     – Earlier CCS releases are supported by older versions of TI-RTOS

     – Includes example projects and plug-in for TI-RTOS-aware debug

     – Includes support for System Analyzer and GUI Composer

    • IAR Embedded Workbench (MSP430/ARM only)

     – Embedded Workbench for ARM v7.20

     – Embedded Workbench for MSP430 v5.60.7

     – Includes example projects and plug-in for TI-RTOS-aware debug

    • GCC (ARM only)

     – gcc-arm-none-eabi-4_7-2103q3 – Makefile support only

     – CCS includes this version of GCC if cross debug support is required

    • TI does not provide GDB cross-debugger solutions for MCUs

    8

  • 8/18/2019 1423.TI-RTOS Product Update

    9/44

    IAR EW TI-RTOS-aware Debug

    9

  • 8/18/2019 1423.TI-RTOS Product Update

    10/44

    CCS System Analyzer TI-RTOS Support

    • Displays for thread execution timeline and CPU load

    10

  • 8/18/2019 1423.TI-RTOS Product Update

    11/44

    GUI Composer: See & Control

    • Create GUI applications that provide:

     – Visibility into what is happening in the target application

     – The ability to control target variables

  • 8/18/2019 1423.TI-RTOS Product Update

    12/44

    GUI Composer Integration with TI-RTOS

    • CCS provides widgets – Knobs, graphs, meters, status lights, sliders, edit

    boxes

    • GUI application requests data for display or

    values to be written to the target – Uses JTAG or a request to a monitor service runningon the device

    • TI-RTOS provides a pre-integrated monitor

    solution that enables GUI Composer tocommunicate with the embedded applicationusing its UART driver

    Web server

    Debug

    Server

     J T A G 

    UARTMon

    T I  -RT  O S 

     UART 

    Dr i  v er 

  • 8/18/2019 1423.TI-RTOS Product Update

    13/44

    Real-time Kernel

    Standard, cross-platform APIs

    EMAC, USB, SD, SPI, UART, I2C, GPIO, Watchdog Drivers

    TI-RTOS Kernel, Power Manager, & Drivers

    TCP/IP

    wired,

    wireless

    (CC3xxx)

    USB

    Host,

    Device

    MSC, HID, CDC

    FAT File

    System

    IPCMulticore

    communication

    Debug and Instrumentation

    Board Initialization

  • 8/18/2019 1423.TI-RTOS Product Update

    14/44

    TI-RTOS Kernel

    • Designed for real-time applications

     – Scheduler is deterministic so kernel system calls complete operationin a predictable time

     – Interrupt latency is low

     – “Zero-latency Interrupts” enable kernel to be used in hard real-timeapplications

    • Low footprint to meet MCU memory constraints – Kernel is highly configurable so unneeded functions are excluded

     – Static configuration enables very low footprints by eliminating needfor heaps or create/delete calls if desired

    • Detailed collateral for real-time design and optimization

     – Timing & sizing benchmarks available for each release

     –  Application note on minimizing kernel footprint

     – Minimal kernel configuration example

    14

  • 8/18/2019 1423.TI-RTOS Product Update

    15/44

    Kernel Services

    Intertask

    Communication:Events, Mailboxes,

    Semaphores, Gates

    Multi-threading:

    Tasks, Software Interrupts,

    Clocks, Idle

    Debug &

    Analysis:Logging,

    diagnostics,

    Hooks, stack

    checking

    Memory

    Managers:

    Heap, fixed-

    sized buffers

    Device-specific

    services: Interrupt andpower management,

    timers, exception

    handling

    15

  • 8/18/2019 1423.TI-RTOS Product Update

    16/44

    TI-RTOS Power Management

    • TI-RTOS (as SYS/BIOS and DSP/BIOS) has a long history of power

    management support in OMAP and DSP devices – TI-RTOS power management capabilities are best-in-class

     – TI-RTOS power management features vary based on device capabilities

    • Benefits of RTOS-based design in low-power applications

     – Elimination of polling from drivers – Inherent mechanism to identify when CPU is idle

    • The RTOS is the natural place to control power management

     – To keep an accurate time base, RTOS must know if timers are to be clock-gated

     – Since several peripherals may depend on one power domain, the systemmust track which peripherals are active to disable the power domain safely

    • RTOS and drivers can track this

     – The OS knows when the application is doing nothing and is aware of somefuture actions (time-outs, periodic functions)

  • 8/18/2019 1423.TI-RTOS Product Update

    17/44

    TI-RTOS Power Management by Device

    • MSP430 (available today)

     – CPU idling, tick suppression

     – Full TI-RTOS power management framework not applicable due tohardware features being unavailable (e.g. limited clock gating)

    • CC2600 (under development today)

     – Tick suppression – Full TI-RTOS power management framework

    • Clock gating, sleep modes, power policy, and associated APIs

    • CC3200 (planned)

     – Tick suppression, TI-RTOS power management framework

     – Not available with initial CC3200 TI-RTOS release

    • MSP432 (planned)

     – Tick suppression, TI-RTOS power management framework

    TI Confidential – NDA Restrictions

  • 8/18/2019 1423.TI-RTOS Product Update

    18/44

    • Tick suppression eliminates most “OS tick” timer interrupts

    in power saving modes while keeping time base accurate

     – Implemented in TI-RTOS clock module – Configurable option, no programming required

     – GPIO asserted every 1 msec, GPIO asserted in “heartbeat” clock tick 

    Tick Suppression

    No Suppression  With Suppression 

  • 8/18/2019 1423.TI-RTOS Product Update

    19/44

    TI-RTOS Power Management Framework

    •  A framework to enable customers to easily leverage power-

    saving HW features within their applications – Coordinates PM actions across application, drivers, and OS

     – Significant sleep transitions decided by policy manager• User application may control these if desired

     – Insulates customers from low-level and often complex HW controls

     – Optimized to minimize footprint in MCU/WCS devices

    network control UI

    Application Tasks

    power

    policy

    MCU

    driver driver

    TI-RTOS KERNEL

    … Clock

    CLKG

    PowerManager(Power)

  • 8/18/2019 1423.TI-RTOS Product Update

    20/44

    CC26xx TI-RTOS Power Management

    • TI-RTOS Drivers will be power-aware – Drivers declare dependencies on peripheral clocks and power

    domains

     – When OS identifies an opportunity to move to a low-power state, itwill notify the drivers so they can suspend/resume gracefully

    • CC26xx BLE stack will be power-aware – Stack declares constraints to prevent power-downs while radio

    communication is active

    • Power Policy is provided to achieve aggressive power savings

     – No user programming is required to achieve these

     – Runs when IDL process is entered

     – User may customize if needed

    TI Confidential – NDA Restrictions

  • 8/18/2019 1423.TI-RTOS Product Update

    21/44

    C26xx Power Management APIs

    Function Purpose

    Power_setDependency Declare a dependency upon a power-manageableresource 

    Power_releaseDependency Release a previously declared dependency 

    Power_setConstraint Declare an operational constraint 

    Power_releaseConstraint Release a previously declared constraint 

    Power_sleep Transition the CC26xx to a new sleep state:

    •STANDBY (retention of MCU logic, otherdomains OFF, uLDO)•POWERDOWN (MCU logic OFF, requirescontext save/restore to resume)•SHUTDOWN (lowest OFF state, app rebootrequired)

    Power_registerNotify Register a function to be called on specific powerevents 

    Power_unregisterNotify Unregister for event notifications 

    TI Confidential – NDA Restrictions

  • 8/18/2019 1423.TI-RTOS Product Update

    22/44

    TI-RTOS Drivers & BSP Components

    22

    • TivaWare, MSP430Ware

    • Low-level peripheral APIs specific to a device

    • TI-RTOS Drivers

    • Standard cross-platform APIs (UART_write,

    UART_read, …) 

    • Interrupt-driven, thread-safe

    • TI-RTOS “board.c” 

    • Initializes peripheral

    drivers (which interruptvectors, how manyUARTs, …) 

    • Sets pin-muxing

  • 8/18/2019 1423.TI-RTOS Product Update

    23/44

  • 8/18/2019 1423.TI-RTOS Product Update

    24/44

    TI-RTOS Driver APIs

    Each driver has a standard, documented API set to enable easy applicationportability. These are the UART driver APIs*:

    Void UART_init(Void); // initializes the driver’s data 

    // structures…not HW registers. 

    Void UART_Params_init(UART_Params *params);

    UART_Handle UART_open(unsigned int index, UART_Params

    *params);Void UART_close(UART_Handle handle);

    Int UART_read (UART_Handle handle, const void *buffer,

    size_t size);

    Int UART_write(UART_Handle handle, void *buffer, size_t

    size);

    *There are four other APIs that would be used rarely

    24

  • 8/18/2019 1423.TI-RTOS Product Update

    25/44

    TI-RTOS Driver Implementation

    Here is the (greatly simplified) pseudo-code for the UARTTiva_read

    function. Notice both TI-RTOS Kernel and TivaWare calls.

    Int UART_write(UART_Handle handle, void *buffer, size_t size)

    {

    Semaphore_pend (mutex) //Use semaphore for thread-safe access

    UARTCharPutNonBlocking() // Write character to UART

    ...... 

    Semaphore_pend (writeComplete) // Use second semaphore to block until ISR

    completes

    Semaphore_post(mutex)

    }

    25

  • 8/18/2019 1423.TI-RTOS Product Update

    26/44

    “board.c” File: Peripheral Initialization 

    void EK_TM4C1294XL_initUART(void){

    /* Enable and configure the peripherals used by the UART0 */SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0);

    GPIOPinConfigure(GPIO_PA0_U0RX);

    GPIOPinConfigure(GPIO_PA1_U0TX);

    GPIOPinTypeUART(GPIO_PORTA_BASE, GPIO_PIN_0 | GPIO_PIN_1);

    /* Enable and configure the peripherals used by the UART2 */

    SysCtlPeripheralEnable(SYSCTL_PERIPH_UART2);

    GPIOPinConfigure(GPIO_PD4_U2RX);

    GPIOPinConfigure(GPIO_PD5_U2TX);

    GPIOPinTypeUART(GPIO_PORTD_BASE, GPIO_PIN_4 | GPIO_PIN_5);

    UART_init();}

    26

    The board.c file does board-specific peripheral initialization occurs:

     – Peripheral clock rates and power control

     – Which interrupt vector is a peripheral associated with

     – Pin-muxing, number of peripheral instances (e.g. 4 or 6 UARTs)

  • 8/18/2019 1423.TI-RTOS Product Update

    27/44

    Real-time Kernel

    Standard, cross-platform APIs

    EMAC, USB, SD, SPI, UART, I2C, GPIO, Watchdog Drivers

    TI-RTOS File System & USB Overview

    TCP/IP

    wired,

    wireless

    (CC3xxx)

    USB

    Host,

    DeviceMSC, HID, CDC

    FAT File

    System

    IPCMulticore

    communication

    Debug and instrumentation

    Board Initialization

  • 8/18/2019 1423.TI-RTOS Product Update

    28/44

    USB Stack

    Hardware

    SD card, mouse,

    UART, …. 

    Drivers

    DMA

    Driver

    USB

    Driver

    Hardware Adaptation Layer

    Class Driver

    Application

    Uses TivaWare USBLIB unmodified

    MSC Host Class Driver

    HID Host & Device Class Drivers

    CDC Device Class Driver

    Examples for each class driver

    Example of using MSC Host Driverunder FAT file system

    USB Key Features

    Host

    M

    S

    C

    H

    I

    D

    Device

    C

    D

    C

    H

    I

    D

    C

    O

    N

    F

    I

    G

    U

    R

    A

    T

    I

    O

    N

    28

  • 8/18/2019 1423.TI-RTOS Product Update

    29/44

    File System

    • We use open source software called FatFs

     – The FAT file system is shipped within SYS/BIOS

    • Key features:

     – Both native and C RTS file APIs may be used

    • C RTS APIs (fopen (), fread (), fwrite (), …) are plugged into file system 

     – Supports FAT12, FAT16 and FAT32

    • Supports 8.3 format file name.

     – Long file names (VFAT) are not supported in our default build

    • Customer can rebuild FatFS sources to add this feature

    • TI does NOT indemnify against VFAT patents

    • Drivers options: – SD Card (via SPI driver)

     – USB flash drive (via USB MSC host)

    29

  • 8/18/2019 1423.TI-RTOS Product Update

    30/44

    Real-time Kernel

    Standard, cross-platform APIs

    EMAC, USB, SD, SPI, UART, I2C, GPIO, Watchdog Drivers

    TI-RTOS Networking Overview

    TCP/IP

    wired,

    wireless

    (CC3xxx)

    USB

    Host,

    DeviceMSC, HID, CDC

    FAT File

    System

    IPCMulticore

    communication

    Debug and instrumentation

    Board Initialization

  • 8/18/2019 1423.TI-RTOS Product Update

    31/44

    TI-RTOS TCP/IP Stack

    Supports both IPv4 and IPv6

    DHCP Client and Server

    Standard BSD Sockets interface

    Zero-copy sockets interface available

    Highly configurable to meet footprint

    constraints

    TCP/IP Key Features

    31

    Hardware

    EthernetPacket

    Driver

    NAT

    IF

    Manager

    Route

    Manager

    SerialPort

    Driver

    Timer

    Driver

    UserLED

    Driver

    Hardware Adaptation Layer

    Ethernet IF

    ARP

    IP

    TCP UDP ICMP IGMP

    Standard BSD Sockets Interface

    S

    N

    T

    P

    H

    T

    T

    P

    T

    F

    T

    P

    T

    E

    L

    N

    E

    T

    D

    N

    S

    D

    H

    C

    P

    SSL/TLS (Q3 2014)

    HTTP Server over both wired and

    wireless

    HTTP server integrated with FAT filesystem (can now get web pages from SDcards, USB flash drives, …) 

    New Features in TI-RTOS 2.10

  • 8/18/2019 1423.TI-RTOS Product Update

    32/44

    What is SSL / TLS?

    • These are protocols that enable secure network connections

    • Current SSL / TLS / DTLS Versions

    © Copyright 2014 wolfSSL

    SSL 2.0

    SSL 3.0

    TLS 1.0

    TLS 1.1

    TLS 1.2

    DTLS 1.2

    1995

    1996

    199920062008

    2012

    DTLS 1.0

    Notes:

    • SSL 2.0 is insecure• SSL = “Secure Sockets Layer” • TLS = “Transport Layer Security” • DTLS = “Datagram TLS” 

  • 8/18/2019 1423.TI-RTOS Product Update

    33/44

    SSL/TLS Support

    • We have licensed and ported CyaSSL from WolfSSL

    • Business model

     – Not free of charge to the customer

    • US$2,900 for a license to deploy in a single customer product

     – Part number: TIRTOS-SSL-SRC

    • Customer must purchase it through e-store

    • Support model

     – TI will provide front-end support and can work customer issues withhelp from WolfSSL support

     – Customers can also ask post questions to WolfSSL support forums

    • http://www.wolfssl.com/forums/ • Note that in-depth support direct from WolfSSL will require customers to

    purchase support contract with WolfSSL

    33

    http://www.wolfssl.com/forums/http://www.wolfssl.com/forums/

  • 8/18/2019 1423.TI-RTOS Product Update

    34/44

    CyaSSL Technical Overview

    © Copyright 2014 wolfSSL

    • Optimized for embedded (20x smaller than OpenSSL)

     – Minimum footprint size of 20-100kB

     – Minimum RAM usage: 1-36kB

    • Supports latest TLS standards and broad range of ciphers

     –  All versions up to TLS 1.2 and DTLS 1.2

    MD2, MD4, MD5, SHA-1, SHA-2, SHA-3,RIPEMD

    DES, 3DES, AES, Camellia

    ARC4, RABBIT, HC-128

    AES-GCM, AES-CCM

    RSA, ECC, DSS, DH, EDH

    HMAC, PBKDF2

    Hash Functions

    Block Ciphers

    Stream Ciphers

    Authenticated Ciphers

    Public Key Options

    Password-based Key Derivation

    Roadmap

  • 8/18/2019 1423.TI-RTOS Product Update

    35/44

    35

    Roadmap

    ReleaseVersion  1.21  2.00  2.00.02  2.10

    Device &

    PlatformSupported 

    Device  Dev Platform  Device  Dev Platform  Device  Dev Platform  New Devices 

    Concerto TMDXDOCK28M36 

    TMDXDOCKH52C1 

    Concerto TMDXDOCK28M36 

    TMDXDOCKH52C1 

    Concerto TMDXDOCK28M36 

    TMDXDOCKH52C1  Aumento SDK

    TM4C123 EK-TM4C123GXLDK-TM4C123G 

    TM4C123 EK-TM4C123GXLDK-TM4C123G 

    TM4C123 EK-TM4C123GXLDK-TM4C123G 

    TM4C129 DK-TM4C129X TM4C129 DK-TM4C129XEK-TM4C1294XL

    TM4C129 DK-TM4C129XEK-TM4C1294XL

    MSP430 MSP-EXP430F5529LPMSP-EXP430F5529 

    MSP-EXP430FR5969

    F5529 MSP-EXP430F5529LPMSP-EXP430F5529 

    MSP-EXP430FR5969

    C2800*  All C2800*  All

    CC3200 CC3200LAUNCHXL 

    CC2600

    MSP432

    New Features IAR project and TI-RTOS-awaredebug support, GCC support

    Per-ISA TI-RTOS products for MCU,Sitara, and DSP

    HTTP Client/REST,HTTP server over WI-

    FI & wired

    SNTP GUI Composer UART monitor RTC, PWM drivers

    Enhanced low power

    modes

    Schedule Dec 20 2013  Apr 25 2014  June 25 2014  Q4 2014 

    *Non-Concerto C2000 devices do not have driver & BSP support

    TI Confidential – NDA Restrictions

    http://www.ti.com/tool/tmdxdockh52c1http://www.ti.com/tool/tmdxdockh52c1http://www.ti.com/tool/tmdxdockh52c1http://www.ti.com/tool/tmdxdockh52c1http://www.ti.com/tool/ek-lm4f232http://www.ti.com/tool/ek-lm4f232http://www.ti.com/tool/ek-lm4f232http://www.ti.com/tool/MSP-EXP430F5529http://www.ti.com/tool/MSP-EXP430F5529http://www.ti.com/tool/tmdxdock28m36http://www.ti.com/tool/MSP-EXP430F5529http://www.ti.com/tool/MSP-EXP430F5529http://www.ti.com/tool/MSP-EXP430F5529http://www.ti.com/tool/MSP-EXP430F5529http://www.ti.com/tool/MSP-EXP430F5529http://www.ti.com/tool/MSP-EXP430F5529http://www.ti.com/tool/ek-lm4f232http://www.ti.com/tool/ek-lm4f232http://www.ti.com/tool/ek-lm4f232http://www.ti.com/tool/ek-tm4c123gxlhttp://www.ti.com/tool/ek-tm4c123gxlhttp://www.ti.com/tool/ek-tm4c123gxlhttp://www.ti.com/tool/ek-lm4f232http://www.ti.com/tool/ek-lm4f232http://www.ti.com/tool/ek-lm4f232http://www.ti.com/tool/ek-tm4c123gxlhttp://www.ti.com/tool/ek-tm4c123gxlhttp://www.ti.com/tool/ek-tm4c123gxlhttp://www.ti.com/tool/ek-lm4f232http://www.ti.com/tool/ek-lm4f232http://www.ti.com/tool/ek-lm4f232http://www.ti.com/tool/ek-tm4c123gxlhttp://www.ti.com/tool/ek-tm4c123gxlhttp://www.ti.com/tool/ek-tm4c123gxlhttp://www.ti.com/tool/tmdxdockh52c1http://www.ti.com/tool/tmdxdock28m36http://www.ti.com/tool/tmdxdockh52c1http://www.ti.com/tool/tmdxdock28m36http://www.ti.com/tool/tmdxdockh52c1http://www.ti.com/tool/tmdxdock28m36

  • 8/18/2019 1423.TI-RTOS Product Update

    36/44

    Positioning TI-RTOS to Customers

    • When selling a MCU solution to a customer that involves TI-RTOS,

    there are a number of questions or objections that may come up

    • Questions and objections we have encountered are:

     – Is TI-RTOS suitable for use in safety-certified applications?

     – How does TI-RTOS compare to FreeRTOS (or other commercial third-partysolutions)?

     – How does TI-RTOS compare to Freescale’s MQX offerings?

     – How committed is TI to TI-RTOS?

     – We don’t want to get locked to a software platform that is proprietary to a

    particular silicon vendor

     –  An RTOS has too much overhead for our application

    • We will discuss how to handle such situations

    36TI Confidential – NDA Restrictions

  • 8/18/2019 1423.TI-RTOS Product Update

    37/44

    Positioning TI-RTOS to Customers

    • Objection: An RTOS has too much overhead for our application

    • Background: An RTOS is generally useful in more complexapplications that need to deal with multiple functions (especiallycommunication stacks) and interrupts. Generally using an RTOS indevices with 32KB of flash would not make sense. Some engineerssimply don’t want to have to deal with code they haven’t written. 

    • How to respond: Suggest TI-RTOS if the device under considerationhas 128KB of flash or more. For higher-end device like Concerto orTM4C129x, TI-RTOS should be strongly recommended (unlesscustomer is already using third-party RTOS). Find out how many

    interrupts sources, different functions, and connectivity stacks theapplication will need. When discussing RTOS “overhead”, remind the

    customer that they will likely need to write much of the code that anRTOS provides (e.g. ISRs, drivers, some kind of scheduling loop, …). 

    37TI Confidential – NDA Restrictions

  • 8/18/2019 1423.TI-RTOS Product Update

    38/44

    Positioning TI-RTOS to Customers

    • Question: How does TI-RTOS compare to FreeRTOS (or commercial

    third-party solutions)?

    • Background: Questions like this must be handled carefully. FreeRTOSand other third-party RTOS solutions are provided by TI’s ecosystempartners. Therefore negative comments about them should be avoided.

    • Response: Explain that TI does not provide detailed technicalcomparisons against partner products. In general, the more likelyreasons a customer would choose TI-RTOS are:

     – It’s free, including connectivity stacks and board support packages (the

    stacks associated with FreeRTOS typically cost money)

     – TI-RTOS solutions typically include an integrated BSP – It is well integrated with CCS (which is also low-cost)

     – Single point of support for silicon and software

     – Often available early in the silicon release cycle

    38TI Confidential – NDA Restrictions

  • 8/18/2019 1423.TI-RTOS Product Update

    39/44

    Positioning TI-RTOS to Customers

    • Question: How committed is TI to TI-RTOS?

    • Background: Most customers in the MCU space are not familiar withthe long history of TI-RTOS in the DSP space. Use the “TI-RTOSHistory and Resourcing” slide as evidence of our proven long-termcommitment and the fact we have an experienced development team.

    • Question: We don’t want to get locked to a software platform that isproprietary to a particular silicon vendor:

    • How to respond: Some customers only want open-source solutions,while others are wary of being locked into software specific to one chipvendor. To address these, make these points: TI-RTOS in entirelyBSD-licensed except for the USB stack. So the customer can port thecode to any device they like; TI-RTOS works with the IAR and GCCtoolchains which support silicon from numerous vendors; it is fairly easyto abstract the application from OS-vendor specific calls

    39TI Confidential – NDA Restrictions

  • 8/18/2019 1423.TI-RTOS Product Update

    40/44

    Positioning TI-RTOS to Customers

    • Question: Is TI-RTOS suitable for use in safety-certified applications?

    • Background: This is a complex question, since safety standards havemultiple levels. Application that must conform to the most stringentsafety standards (e.g. SIL-3, FDA Class III, ASIL D, DO-178 levels A orB) must be treated differently to those that only require a lower level ofsafety certification.

    • How to respond: If the application requires a high-level of safetycertification, they should not use TI-RTOS. We do not provide any ofthe following: a pre-certified RTOS, a certification assistance packagethat include extensive RTOS design and test documentation, formal

    evidence of use in other certified applications, or access for customersto audit our software processes. TI-RTOS MAY be useable dependingon the certification requirements. We provide the OS source code andcan provide test suites and test results if requested. Customer mustdetermine what is needed before selecting an RTOS.

    40TI Confidential – NDA Restrictions

  • 8/18/2019 1423.TI-RTOS Product Update

    41/44

    Positioning TI-RTOS to Customers

    • Objection: We are already using another RTOS.

    • How to respond: If a customer already has a application codebasethat uses another RTOS, they will often want to continue using thatRTOS. The best approach is to make the desired RTOS available onthe TI device. The TI third-party marketing teams will typically know if aRTOS is available for their device or be able to investigate whether aport can be done. If it transpires that a port cannot be done, then at thatpoint you can push TI-RTOS.

    • Question: How does TI-RTOS compare to Freescale’s MQX offerings?

    • How to respond: The products are comparable. MQX has a fewnetworking protocols (e.g. SNMP, SMTP) that we lack today.

    41TI Confidential – NDA Restrictions

  • 8/18/2019 1423.TI-RTOS Product Update

    42/44

    More Information

    • Product Manager: Nick Lethaby, [email protected] 

    • www.ti.com Web Page:

     – www.ti.com/tool/ti-rtos 

     – Includes link for product downloads for customers

     – Includes link for product bulletin 

    • e2e Forum - TI-RTOS Forum: – External: http://e2e.ti.com/support/embedded/tirtos/default.aspx 

    • Wiki: http://processors.wiki.ti.com/index.php/Main_Page 

     – Select ‘TI-RTOS’ category 

    • Download page:

     – http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/tirtos/index.html 

    42

    http://www.ti.com/http://www.ti.com/http://www.ti.com/tool/ti-rtoshttp://e2e.ti.com/support/embedded/tirtos/default.aspxhttp://processors.wiki.ti.com/index.php/Main_Pagehttp://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/tirtos/index.htmlhttp://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/tirtos/index.htmlhttp://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/tirtos/index.htmlhttp://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/tirtos/index.htmlhttp://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/tirtos/index.htmlhttp://processors.wiki.ti.com/index.php/Main_Pagehttp://e2e.ti.com/support/embedded/tirtos/default.aspxhttp://www.ti.com/tool/ti-rtoshttp://www.ti.com/tool/ti-rtoshttp://www.ti.com/tool/ti-rtoshttp://www.ti.com/http://www.ti.com/

  • 8/18/2019 1423.TI-RTOS Product Update

    43/44

    Demonstration

    • TI-RTOS for the CC3200

     – Uses IAR Embedded Workbench for ARM (EWARM) and CC3200Launchpad

     – We demonstrate an embedded web server that can be accessed fromwireless devices. We will also demonstrate TI-RTOS-aware tools inEWARM.

     – We will demonstrate building a TI-RTOS project with IAR as well as TI-RTOS-aware debugging

    43

  • 8/18/2019 1423.TI-RTOS Product Update

    44/44

    Summary

    • TI-RTOS enables MCU software developers to focus on their specific

    areas of applications expertise – TI-RTOS provides connectivity software such as TCP/IP

     – TI-RTOS provides power management

     – TI-RTOS provides an integrated set of proven embedded softwarecomponents that are known to work together

    • TI-RTOS provides standard APIs to device drivers to abstractapplications from HW specifics

     –  Applications are easily ported to the latest devices

    • TI-RTOS works with multiple development toolchains

    • TI-RTOS no-cost licensing removes commercial barriers to deployment

    • TI-RTOS is developed and supported by TI