Digital Signal Processors
CodeWarrior Development Studio
SmartDSP OS
Overview
Real-time operating system (RTOS) for
Freescale DSPs built on StarCore technology.
Includes
• Kernel
• Peripheral drivers
• UDP/TCP/IP stack
• Runtime enablement tools (Kernel
awareness, SmartDSP HEAT, eCLI)
• Documentation
• Demos
• Single-core, priority-based, preemptive,
event-driven scheduler designed to make
SmartDSP OS predictable and real-time
oriented
• Most of the OS is written in ANSI C. Time
critical functions have been optimized in
assembly
• Hardware and software interrupts
• Tasks and task events
• MMU and cache management
• Hardware timers
• Software timers
• Queues
• Memory manager
• Inter-core messages (mailbox and multicast)
• Multicore synchronization (spinlocks,
barriers)
Benefits
• Real-time responsiveness
• Royalty free
• C/C++ support
• Source code provided
• Small memory footprint
• Integrated with CodeWarrior software tools
designed for StarCore DSPs
• Supports the StarCore-based MSC815x,
MSC825x, MSC814x and other legacy
StarCore devices from Freescale
Kernel
• Multi-task RTOS tailored for DSP multicore
processors and applications
• Both user and OS code can be executed in
hardware and software interrupts as well as
in tasks
SmartDSP OS Architecture
User Application Code
SmartDSP OS
NET Stack
µcode Support
DHCP
TFTP
RTP
RTCP
SRTP
SRTCP
Utility Libraries
UDP
TCP
ICMP
Driver (Unified) API
BIO/CIO/SIO/COP Abstraction Layers
IPsec
IPv4
ARP
ND
IPCMv6
IPv6
Ethernet Emulation (RIONET)
Ethernet
Kernel
Awareness
Kernel Multicore Aware
Hardware
Device LLD
Peripheral Drivers
• Unified cross-device API for generic
hardware drivers
• Device-specific API for device-specific
hardware
• Cache and MMU handling in (most) drivers
• Drivers abstracted by underlying software:
1. DMA
2. Buffered IO (BIO) provides a unified API
for buffered based peripherals
3. Coprocessor (COP) provides a unified
API for all coprocessors
4. Synchronized IO (SIO) provides a unified
API for devices where both receive
and transmit processes are clock
synchronized
5. Character IO (CIO) provides a unified API
for devices which are not frame based
and in which there is no logical division
of the data into frames or packets
UDP/TCP/IP Stack
• SmartDSP OS IPv4 stacks support the
following:
DHCP
RTP/SRTP
RTCP/SRTCP
TCP
UDP
IPCMP
IPsec
ARP
ICMP
• SmartDSP OS IPv6 stacks support the
following:
UDP
Neighbor Discovery
ICMPv6
• Provides callbacks for user-defined
functionality
• Supports any frame-based protocol.
Current implementations:
1. Ethernet
2. RapidIO
®
(with SmartDSP OS RIONET
headers)
Runtime Enablement Tools
Kernel Awareness
• Runtime event logging
• Post-mortem and runtime event viewing
(GUI in CodeWarrior)
• Task awareness
SmartDSP HEAT
• File I/O over Ethernet
• Supports stdio
• Supports low level directives
• SmartDSP HEAT server for Windows
®
and
Linux
®
eCLI
• Allows evaluation of any global symbol
(variable or function) remotely over a
standard Telnet (TCP) connection
• Allows for user-defined functionality and
callback function
• Provides ability for one device to act as
proxy to other devices on the board and
reroute traffic over another physical layer
(e.g. RapidIO)
Debug Print
• Non-intrusive offloading of virtual trace
buffer by QUICC Engine
• Remote host supervision, configuration and
management
• Filtering of debug print messages offloaded
from core
• Built-in error handling
• Gigabit Ethernet line rate output to host
Learn More:
For more information about Freescale DSP
products, please visit
freescale.com/DSP.
For more information about Freescale’s
CodeWarrior software solutions, please visit
freescale.com/CodeWarrior.
Freescale, the Freescale logo, CodeWarrior and StarCore are trademarks of Freescale Semiconductor, Inc.,
Reg. U.S. Pat. & Tm. Off. QUICC Engine is a trademark of Freescale Semiconductor, Inc. All other product or
service names are the property of their respective owners. © 2010 Freescale Semiconductor, Inc.
Document Number: CODWRRDVLPDSPFS / REV 2
Agile Number: 950-00098 / REV E