Title: New SW Kit Supports Matador
1New SW Kit Supports Matador
2Pismo Toolset
- Top-of-the-line Software Package
- Big difference with competitors
- Equates to weeks of time savings for end-user
- Incredible on-line help files
- Target Side
- Best use of DSP/BIOS with our peripheral device
drivers - C classes to facilitate peripheral controls and
communication with host PC - Useful utilities download, terminal emulator,
co-exit with CCS - Host Side Support
- Win2K/WinXP drivers
- Armada for data movement processing on host
- New C classes for easy setup of communication
with DSP - Practical examples in MSVC and Borland C
Builder
3Necessary SW evolution
- Wish-list
- Avoid writing low-level DSP support
- Fully exploit all DSP peripherals and bandwidth
- Support for multitasking
- Support for large, sophisticated libs and apps
- Isolation from low-level peripheral details
- Decrease time-to-market
- For our boards and for end-user system
implementation
4New Goals, New Tools
- Fantastic software support for the new Matador
architecture
- Features
- Written entirely from scratch, in C
- Fully leverages DspBios and Chip Support Library
- Work-arounds for Bios static config
restrictions - Optimized Bios-compliant device drivers
- Stream and burst-mode SIO support
- Extensive use of EDMA
- Fast, deep, easy-to-use support for every
baseboard, Bios and CSL feature
5Target Side Support
6High-Level Software View
7DSP/BIOS IIReal-Time Instrumented Kernel
8DSP/BIOS II Real-Time Kernel
- Fully-featured real-time kernel
- Real-time event and statistic gathering
- Preemptive priority-based multi-threaded
operations - Basic inter-thread communication and
synchronization - Basic interrupt handling capabilities
- Most blocking primitives have an optional
time-out parameter - Designed for DSPs
- Memory Management aligned allocs multiple
heaps with no space overhead in allocated block
(interface with SRAM, SDRAM, etc.) - Low interrupt latency minimize intervals during
which interrupts are disabled (See SPRA663) - High performance device independent I/O
- Basic I/O for interacting with devices and other
threads - Asynchronous, low overhead and deterministic
(constant completion times, not data size
dependent)
9DSP/BIOS II Scheduling Services
- Hardware Interrupts (HWI) Highest Priority
- have the highest priorities
- one HWI can interrupt another
- Software Interrupts (SWI)
- have lower priority than hardware interrupts
- 15 levels of priority
- can be preempted by a higher priority SWI or HWI
- Tasks (TSK)
- have lower priority than software interrupts
- 15 levels of priority
- can be preempted by a higher priority task
- Idle Functions (IDL)
- have lowest priority level and preempted by a
TSK, SWI or HWI
10Real-Time Analysis
- Determine whether the system is
- Operating within its design specifications
- Meeting its performance targets
- Showing any subtle timing problems (glitches)
- Analyze real-time operation
- Execution Graph
- CPU Loading
- Statistics
- Kernel Object View
- Log_printf
- If you can see the problem, you can fix the
problem
11Execution Graph
- Execution graph is used to view thread execution.
12Summary
- DSP/BIOS II provides a graphical interface for
configuring the kernels functions. - DSP/BIOS II provides Real Time Analysis tools to
aid in debugging process. - DSP/BIOS II provides a pre-emptive multithreaded
scheduling services to help construct any
application.
13Further Study
- Application Notes
- How to Get Started with DSP/BIOS II (SPRA697)
- DSP/BIOS by Degrees Using DSP/BIOS in an
Existing Application (SPRA591) - Audio Example Using DSP/BIOS (SPRA598)
- Programming and Debugging Tips for DSP/BIOS
(SPRA640) - DSP/BIOS II Technical Overview (SPRA646)
- Understanding Basic DSP/BIOS Features (SPRA653)
- DSP Software Home Page
- http//dspvillage.ti.com/docs/toolssoftwarehome.jh
tml
14What is a Device Driver?
- Software that isolates an application from I/O
hardware - Whats the big deal?
- Applicability
- Portability
- Efficiency
- Ease of implementation
15Who writes drivers?
- 3rd party board vendors such as Innovative
- Available on all Pismo toolset products
- Not available for Zuma toolset products
- TI
- TI codecs only
- End users
- Not likely, but possible
16Software Hierarchy
17Abstract Driver API
18Example SIO
19SIO
- Control
- SIO_create/delete
- SIO_cntrl
- SIO_flush
- Buffer Management
- SIO_issue/reclaim
- Signaling
- SIO_get/put
- SIO_select
20 Host Side Support Uniterminal BinView
CoffDump Logic Update DLL registration Reser
veMem
21Pismo Toolset
- Top-of-the-line Software Package
- Big difference with competitors
- Equates to weeks of time savings for end-user
- Incredible on-line help files
- Target Side
- Best use of DSP/BIOS with our peripheral device
drivers - C classes to facilitate peripheral controls and
communication with host PC - Useful utilities download, terminal emulator,
co-exit with CCS - Host Side Support
- Win2K/WinXP drivers
- Armada for data movement processing on host
- New C classes for easy setup of communication
with DSP - Practical examples in MSVC and Borland C
Builder
22Host Side Tools - Utilities
- Uniterminal
- Terminal Emulator for console mode operation
- Coff File Download, Board reset
- Supports stdio library printf(), scanf(),
fread(), fwrite() - Direct relaying to graphing utility BinView
- Debug Messages Logging using DbgView
23UniTerminal Applet
Console Mode Operation for DSP programs
24UniTerminal Applet
Download command Allows to select .out file to be
downloaded to target
25UniTerminal Applet
Download in progress Windows reports memory map
as it is loaded
26UniTerminal Applet
Stdio support printf(), scanf(),
getchar(),... fopen(), fread(), fwrite(),...
27BinView Applet
28BinView
Data file selection Select channel count,
resolution, user-units...
29BinView
Graph acquired data In Time Domain....
30BinView
Or Frequency Domain. Flexible FFT block size and
windowing selections
31Components MFC classes
- Builder Components and MFC classes provide a
programming interface to their internal
functionality. - Can be tailored to application requirements at
design time, reducing code complexity and size. - Fulfill the age-old desire for truly portable,
reusable code. - Pismo Toolset Components
- Baseboard reset, download, commands, message,
... - Host Side Optimized Data movement
- Host Side Data processing, viewing, logging, ...
32Components MFC classes
- Baseboard components/classes give access to
properties and methods to control the DSP board
from any C applications - Reset board
- Download DSP code
- Configure timebase,
- Select active channels
- Establish message channels
- Manage data buffers size, type, events
33Toro Baseboard Properties
34Toro Baseboard Events
35Data Movement -STREAMING
- Streaming Mode Signal Flow
Pool Buffers sized to instantaneous load
2 MB Bus Master Memory
Baseboard
TIICaliente
TIICaliente automatically channelizes streams in
this mode
User Application
TIIGenericSink
TIIGenericFilter
TIIStreamInput
TIIGenericFilter
TIIStreamOutput
TIIGenericSource
36Data Movement - BLOCK
Pool Buffers sized to instantaneous load
2 MB Bus Master Memory
Baseboard Module(s)
TIICaliente
TIICaliente does not channelize streams in this
mode
User Application
TIIBlockStream
TIIChannelStripper
TIIChannelStripper optionally allows user
processing of channelized events in this mode
37Armada Data Processing SW
- Armada is a collection of software components
that facilitate data manipulation for typical
tasks - Graphing on-the-fly
- Write to Windows file (4MB/s) or dedicated drive
(60) - Read from Windows file or dedicated drive
- Signal Processing with Intel NSP libraries for
FIR, IIR, FFT, SigGen, etc...
38Easy graph set-up
39Run-time graph with cursor control
40Sophisticated user-interface
41Signal Generator (Intel NSP)
42Easy definition of data flow
User simply defines virtual wire defining how
data buffers are to be passed from one processing
task to the next