1423.ti-rtos product update
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