|

Tailwind is a POSIX®-compliant
API layer for the Texas Instruments
(TI) DSP/BIOS real-time
kernel.
Overview
The DSP/BIOS kernel is a scalable real-time multi-tasking kernel and part of the TI
eXpressDSP™ software and
development tool strategy. The eXpressDSP
information can be found
here and a block
diagram of the strategy can be viewed
at this
link.
POSIX, or portable operating system
interface, is a set of standards
specified under the IEEE Std. 1003.
If you are knowledgeable about UNIX
or Linux operating systems (OSs),
you are already familiar with POSIX.
For more information on POSIX and
the IEEE, visit
www.ieee.org.
Two of the major benefits to having a POSIX
API are
code portability and a familiar,
easier to use programming interface.
Source code portability has become
an important requirement for Digital
Signal Processing (DSP) systems,
which is being mandated for
commercial applications and
government contracts.
Implementation
Tailwind is implemented as a library of software modules that execute on top of the TI DSP/BIOS kernel providing real-time operating system APIs for middleware and user applications. Tailwind has been specially developed for the TI TMS320C6000 family of DSPs with the C6400/6400+ members of this family being the primary target platform.
Figure 1 below shows the placement of Tailwind in relationship to DSP/BIOS and user applications. You can see that Tailwind sits completely between DSP/BIOS and your application and 3rd party tools allowing customers to leverage the benefits of a standardized environment using POSIX.

Figure 1 -
Tailwind System Block Diagram
Developers working with TI ARM-based devices and Linux OSs will find it easier moving over to the DSP development side using Tailwind. In addtition to the POSIX benefits, you will also find standard socket libraries for TCP/IP network interfaces and support for C++ code development.
Because there is no need to learn the different DSP/BIOS system calls or socket functions in the network developer kit (NDK), development time is shortned and low-level device specific tasks are eliminated. Integrating a 3rd party library or middleware application will save you time and money that can be better spent on developing your core application.
Software Communication Architecture
(SCA) Support
In addition to what has been mentioned about POSIX, Tailwind also supports the software communication architecture (SCA). If you are not familiar with SCA, it is a requirement for software defined radio technologies as well as military applications, such as Joint Tactical Radio Systems (JTRS). The SCA sets the rules for wireless network communications.
To better understand the importance
of SCA and how it relates to real
world applications and their
requirements, we must review the SCA
operating environment (OE).
The SCA OE is shown below.

Figure 2 - SCA Operating
Environment
The OE, as
defined by the SCA standard,
consists of a POSIX operating
system, TCP/IP, Common Object
Request Broker Architecture (CORBA)
and SCA core framework. CORBA, is
OMG's (Object Management Group)
open, vendor-independent
architecture and infrastructure that
computer applications use to work
together over networks.
The SCA requirements, if followed,
will allow the growing market of
wireless networks and devices to
communicate.
When you look at Tailwind from the
SCA perspective, you can clearly see
how the SCA framework and CORBA sit
right on top of Tailwind's API
meeting all SCA requirements.
In a typical SCA OE, customer
applications are abstracted from the
hardware layer via the SCA Core
Framework.
Featured APIs
The Tailwind POSIX Layer provides the complete set of SCA-required POSIX interfaces, along with numerous other services and capabilities, e.g. timeout support for blocking functions. The following is a list of these APIs, but please refer to the IEEE standard (www.ieee.org)
for more details.
|
POSIX Threads Base API |
POSIX File/Directory API |
|
POSIX Threads Safe API |
POSIX File/Device I/O API |
|
POSIX Signals API |
POSIX File Attributes API |
|
POSIX Clock and Timers API |
POSIX C Language Support API |
|
POSIX Semaphores API |
POSIX C Language Math API |
|
POSIX Thread-Safe API |
POSIX Sockets API |
|
POSIX File System API |
|
Table 1 - Tailwind POSIX APIs
The diagram below graphically
depicts the groups of interfaces
supported by Tailwind in a typical
application environment.
Tailwind blocks are shown in the
middle two layers.

Figure 3 - Tailwind Module
Diagram
Informational
Links and Downloads
System Requirements
-
PC capable of running Code Composer Studio v3.3
-
Code Composer Studio v3.3 SR9 or later installed
-
C6000 Compiler v6.0 or 6.1.x
-
DSP/BIOS v5.32.03
Optional:
-
Socket library (NDK 1.93/1.94) for C64x and C64x+ if using TCP/IP services
-
C6416 or C6455 DSKs to run examples
Application Areas
Wireless Infrastructure (including
basestations and gateways), Telecom
PBX and VoIP, Digital Video and
Imaging, Software Defined Radio,
Consumer Products, Military
radar/sonar.
Available Distributions
-
Evaluation
- limited runtime
-
Standard
Distribution -
includes binaries, link libraries and examples
-
Source Code
Distribution -
includes Standard Distribution
items plus full source code.
Licensing Options
Contact Blackhawk for the right
license for your product or
projects.
Ordering Information
|
Product: |
Blackhawk Tailwind™ |
|
Part Number: |
BH-TW-6400 |
|
Current Revision: |
1.20 |
|
TI DSP Platforms: |
C64x, C64x+ |
|
Compatible Operating
Systems: |
Windows 2000, XP and Vista |
|
Availability: |
4Q08 |
|