Page 1

TMS320DM644x DVEVM Windows CE v5.0
BSP DSP/BIOS LINK
User's Guide
Literature Number: SPRUEW0
March 2007
Page 2

2 SPRUEW0 – March 2007
Submit Documentation Feedback
Page 3

Contents
Trademarks ................................................................................................................ 5
Preface ............................................................................................................................... 6
1 Distribution ............................................................................................................... 8
1.1 Distribution Contents .................................................................................................. 8
1.2 Contents of DSP/BIOS™ LINK ..................................................................................... 9
2 Mininum System Requirements .................................................................................. 10
2.1 Hardware .................................................................................................................. 10
2.1.1 Development/Debug Host Machine ......................................................................... 10
2.2 Software .................................................................................................................. 10
2.2.1 Generic Software Requirement ............................................................................... 10
2.2.2 Platform Specific Software Requirements for DaVinci EVM .............................................. 10
3 DSP/BIOS Link Usage ............................................................................................... 11
3.1 WinCE Platform Configurations for DSP/BIOS LINK ...................................................... 11
3.1.1 Config.bib ........................................................................................................ 11
3.1.2 Platform.bib ...................................................................................................... 11
3.1.3 Platform.reg ..................................................................................................... 12
4 Sample Applications ................................................................................................. 13
4.1 Loop Sample ............................................................................................................ 13
4.1.1 Invoking the Application ....................................................................................... 13
4.2 Message Sample ....................................................................................................... 14
4.2.1 Invoking the Application ....................................................................................... 15
4.3 Scale Sample ............................................................................................................ 15
4.3.1 Invoking the Application ....................................................................................... 16
4.4 READWRITE Sample ................................................................................................. 16
4.4.1 Invoking the Application ....................................................................................... 17
SPRUEW0 – March 2007 Table of Contents 3
Submit Documentation Feedback
Page 4

List of Figures
1-1 DSP/BIOS LINK Distribution Folder ....................................................................................... 8
4-1 Data Flow in the Sample Application – LOOP.......................................................................... 13
4-2 Execution of Loop.exe in Platform Builder .............................................................................. 14
4-3 Message Flow in the Sample Application - MESSAGE ............................................................... 15
4-4 Data and Message Flow in the Sample Application – SCALE ....................................................... 16
4-5 Data and Message Flow in the Sample Application – READWRITE ................................................ 17
4-6 Execution of Readwritegpp.exe From the Platform Builder ........................................................... 18
List of Tables
1 Terms, Acronyms, and Descriptions ...................................................................................... 6
1-1 Distribution Tree ............................................................................................................. 9
4 List of Figures SPRUEW0 – March 2007
Submit Documentation Feedback
Page 5

Trademarks
DaVinci, DSP/BIOS are trademarks of Texas Instruments.
Windows, Microsoft are registered trademarks of Microsoft Corporation in the United States and/or other
countries.
SPRUEW0 – March 2007 List of Tables 5
Submit Documentation Feedback
Page 6

About This Manual
This document accompanies the release of Windows
(EVM) board.
Purpose and Scope
This document describes the usage of the DSP/BIOS™ LINK binaries provided along with the Windows
CE 5.00 BSP for the DaVinci EVM platform, information on the DSP LINK binaries released, and the
procedure to integrate them in a given Windows CE image.
Notational Conventions
This document uses the following conventions.
• Backward slashes are used as pathname delimiters for filenames.
• Catalog->Third Party refers to the Catalog Window Tree Items in the Platform Builder IDE.
• All the shell commands are in courier new font.
• Menu commands are depicted using the following notation menu name > menu command.
Terms, Abbreviations, and Descriptions
Read This First
®
CE 5.0 BSP for DaVinci™ evaluation module
Preface
SPRUEW0 – March 2007
Table 1. Terms, Acronyms, and Descriptions
Number Term Description
1 BIB Binary Image Builder
2 BSP Board Support Package
3 CHIRP Channel I/O Request Packets
4 CHNL Channel
5 EVM Evaluation Module
6 GIO General Input Output
7 GPP General Purpose Processor
8 LDRV Link Driver
9 OSAL OS Abstraction Layer
10 PCPY Processor Copy Driver
11 PROC Processor
12 SHMIPS Shared Memory Inter-processor Signaling
13 SIO Streaming Input Output
14 SMA Shared Memory Allocator
15 SWI Software Interrupt
16 TSK Task
17 ZCPY Zero Copy Driver
Preface6 SPRUEW0 – March 2007
Submit Documentation Feedback
Page 7

Related Documentation from Texas Instruments
The following documents describe the DVEVM Windows CE v5.0 BSP.
SPRUEV9 — TMS320DM644x DVEVM Windows CE v5.0 BSP Codec Engine Users Guide.
Provides information about the release contents of Windows CE 5.0 BSP for DaVinci-based
DVEVM. The document illustrates various components that are part of this release, the procedure
to install this release on to the host system, and the limitations of the release.
SPRUEW1 — TMS320DM644x DVEVM Windows CE v5.0 BSP Bootloader Users Guide.
Provides information about the Windows CE 5.0 bootloader for DaVinci EVM. The document
illustrates various features and the build and flash procedures.
SPRUEW0 — TMS320DM644x DVEVM Windows CE v5.0 BSP DSP/BIOS Link Users Guide.
Describes the usage of the DSP/BIOS Link binaries provided along with the Windows CE 5.00 BSP
for the Davinci EVM platform and the integration procedures in a given Windows CE image.
SPRUEV8 — TMS320DM644x DVEVM Windows CE v5.0 Codec Engine Binary Users Guide
Provides information on the build procedure for the codec engine samples on Windows CE 5.0
platform.
SPRS283 — TMS320DM6446 Digital Media System-on-Chip Data Manual (SPRS283)
The TMS320DM6446 (also referenced as DM6446) leverages TI’s DaVinci™ technology to meet
the networked media encode and decode application processing needs of next-generation
embedded devices.
Related Documentation from Texas Instruments
SPRUEW0 – March 2007 Read This First 7
Submit Documentation Feedback
Page 8

1.1 Distribution Contents
The DSP/BIOS LINK binaries are bundled along with the Davinci EVM Windows CE 5.00 BSP. The layout
of the DSP/BIOS LINK distribution is shown in Figure 1-1
SPRUEW0 – March 2007
Distribution
DSP/BIOS™ LINK is foundation software for inter-processor communication across the
GPP DSP boundary. It provides a generic API that abstracts the characteristics of the
physical link connecting GPP and DSP from the applications. This release contains the
binaries of the DSP/BIOS LINK drivers and samples showing the usage of DSP/BIOS
LINK APIs.
Figure 1-1. DSP/BIOS LINK Distribution Folder
8 Distribution SPRUEW0 – March 2007
Submit Documentation Feedback
Page 9

PATH FILES
DSP/BIOSLINK\CE\BIN\ARMV4I\ dspbioslink.dll
[DEBUG | RETAIL] dspbioslink.exp
DEBUG and RETAIL versions of the DSP/BIOS LINK DLLs are dspbioslink.lib
placed in this folder. dspbioslink.rel
DSP/BIOSLINK\SAMPLES\DSP loop.out
The DSP side samples are copied into this folder message.out
DSPBIOSLINK\SAMPLES\DSP\LOOP Contains the LOOP Sample DSP source code
DSPBIOSLINK\SAMPLES\DSP\MESSAGE Contains the MESSAGE Sample DSP source code
DSPBIOSLINK\SAMPLES\DSP\READWRITE Contains the READWRITE Sample DSP source code
DSPBIOSLINK\SAMPLES\DSP\SCALE Contains the SCALE Sample DSP source code
DSPBIOSLINK\SAMPLES\GPP\LOOP Contains the LOOP Sample GPP source code
DSPBIOSLINK\SAMPLES\GPP\MESSAGE Contains the MESSAGE Sample GPP source code
DSPBIOSLINK\SAMPLES\GPP\READWRITE Contains the READWRITE Sample GPP source code
DSPBIOSLINK\SAMPLES\GPP\SCALE Contains the SCALE Sample GPP source code
DSPBIOSLINK Contains the Windows CE Registry Entries for the selected
1.2 Contents of DSP/BIOS™ LINK
The binary release of DSP/BIOS™ software kernel foundation LINK contains the following:
• Binary DLLs for DSP/BIOS LINK PMGR and DSP/BIOS LINK API modules
• Sample program to test the CHNL, PROC and MSGQ APIs provided by DSP/BIOS LINK.
• DSP Image executables used by the DSPLINK sample programs.
Contents of DSP/BIOS™ LINK
Table 1-1. Distribution Tree
readwrite.out
scale.out
DSPLINK Configuration specific to DaVinci
SPRUEW0 – March 2007 Distribution 9
Submit Documentation Feedback
Page 10

This section includes the system requirements for integrating LINK binaries and
executing the LINK samples.
2.1 Hardware
The following are the target requirements to test and run this software:
• DaVinci EVM board, Rev-D
• Standard RS232 serial port for loader communications.
• Any Ethernet adapter for the host platform to support Ethernet download/debug/retail connectivity
(optional). A local area network (LAN) hub is recommended.
• Serial cable
• Ethernet cable
2.1.1 Development/Debug Host Machine
The following are the requirements for the DSPLINK for Windows CE. All requirements are for the host
machine unless otherwise noted.
• 500MHz Pentium II processor or higher; 1GHz recommended.
• Microsoft
• 256MB of RAM
• Microsoft Windows CE 5.0 Platform Builder
• 250MB of free disk space
• At least 300MB of additional disk space to build the image
®
Windows
Mininum System Requirements
®
2000 Professional with Service Pack 2 (SP2) or Windows XP Professional.
SPRUEW0 – March 2007
2.2 Software
2.2.1 Generic Software Requirement
• Platform Builder for Windows CE 5.0 with all the patches installed
• Tera Term (or any other serial port emulation program)
2.2.2 Platform Specific Software Requirements for DaVinci EVM
• Windows CE 5.0 BSP for the DaVinci EVM board containing the DSPLINK binaries.
• CCS 3.2 IDE (if DSP-side development/debugging is required)
10 Mininum System Requirements SPRUEW0 – March 2007
Submit Documentation Feedback
Page 11

This section provides information on how to integrate the DSP LINK binaries into the
Windows CE image and exercise the DSP LINK samples.
3.1 WinCE Platform Configurations for DSP/BIOS LINK
The following modifications are required in the Platform configuration files for the integration of DSP/BIOS
LINK into the Windows CE OS Image.
3.1.1 Config.bib
The config.bib present in $(_WINCEROOT)\PLATFORM\<BSP_FOLDER>\FILES needs to have the
entries related to the DSP/BIOS LINK usage.
The below shows a sample setting to be added to the MEMORY section of the config.bib
DSPMEM0 8FE00000 00100000 RESERVED ;; DSPLINK Entry 0 - 1024 KB
DSPMEM1 8FF00000 00000080 RESERVED ;; DSPLINK Entry 1 - 128 Bytes
DSPMEM2 8FF00080 000FFF80 RESERVED ;; DSPLINK Entry 2 - 1023 KB
SPRUEW0 – March 2007
DSP/BIOS Link Usage
Note: The address identified above is fixed and cannot be changed for binary release of the
DSP/BIOS LINK.
Please note that the SDRAM Address ranges [0x8FE00000, 0x8FF00000 and
0x8FF00080] are specific to the DaVinci EVM platform and may have to be updated if
DSP/BIOS LINK needs to be integrated into a custom Windows CE BSP.
3.1.2 Platform.bib
The platform.bib present in $(_WINCEROOT)\PLATFORM\<BSP_FOLDER>\FILES needs to have the
entries related to the DSP/BIOS LINK.
The following shows the sample setting to be added to the MODULES section of the platform.bib
IF BSP_DSPBIOSLINK
dsplinkapi.dll $(_FLATRELEASEDIR)\dsplinkapi.dll NK SH
dspbioslink.dll $(_FLATRELEASEDIR)\dspbioslink.dll NK SH
ENDIF ;;BSP_DSPBIOSLINK
The following shows the sample setting to be added to the FILES section of the platform.bib
IF BSP_DSPBIOSLINK
loopgpp.exe $(_FLATRELEASEDIR)\loopgpp.exe NK S
messagegpp.exe $(_FLATRELEASEDIR)\messagegpp.exe NK S
readwritegpp.exe $(_FLATRELEASEDIR)\readwritegpp.exe NK S
loop.out $(_FLATRELEASEDIR)\loop.out NK
message.out $(_FLATRELEASEDIR)\message.out NK
readwrite.out $(_FLATRELEASEDIR)\readwrite.out NK
scale.out $(_FLATRELEASEDIR)\scale.out NK
SPRUEW0 – March 2007 DSP/BIOS Link Usage 11
Submit Documentation Feedback
Page 12

WinCE Platform Configurations for DSP/BIOS LINK
ENDIF ;;BSP_DSPBIOSLINK
3.1.3 Platform.reg
The platform.reg present in $(_WINCEROOT)\PLATFORM\<BSP_FOLDER>\FILES must have the entries
related to DSP/BIOS LINK.
The code below shows the sample setting to be added to platform.reg
IF BSP_DSPBIOSLINK
#include "$(_TARGETPLATROOT)\Src\drivers\dspbioslink\dspbioslink.reg"
ENDIF ;; BSP_DSPBIOSLINK
This setting ensures that the registry entries from the dspbioslink.reg are merged into the reginit.ini of the
platform builder workspace when built.
12 DSP/BIOS Link Usage SPRUEW0 – March 2007
Submit Documentation Feedback
Page 13

4.1 Loop Sample
Output
fromGPP
Inputfrom
GPP
Channel0:GPP toDSP
Verilydata
Inputfrom
DSP
Output
fromDSP
Channel1:DSP toGPP
GPP DSP
SPRUEW0 – March 2007
Sample Applications
This section provides basic information and examples for the various sample
applications, as well as code used to invoke the sample applications.
Figure 4-1 illustrates basic data streaming concepts in DSP/BIOS LINK. It transfers data between a task
running on GPP and another task running on the DSP. On the DSP side, this application illustrates use of
TSK with SIO and SWI with GIO.
Figure 4-1. Data Flow in the Sample Application – LOOP
4.1.1 Invoking the Application
The loop sample takes the following parameters:
SPRUEW0 – March 2007 Sample Applications 13
Submit Documentation Feedback
Page 14

Message Sample
Parameter Example Value
Absolute path of DSP executable windows\loop.out
Buffer size 1024
Number of iterations 10000
The sample can be executed for infinite iterations by specifying the number of iterations as 0. The
following example initiates the loop sample application to run for 5000 iterations each transferring a buffer
of size 2048 bytes.
Windows CE>s loopgpp.exe windows\loop.out 2048 5000
Figure 4-2 shows a snapshot of the loop sample application execution in Platform Builder IDE.
Figure 4-2. Execution of Loop.exe in Platform Builder
4.2 Message Sample
Figure 4-3 illustrates basic message transferring concepts in DSP/BIOS LINK. It transfers messages
between a task running on GPP and another task running on the DSP. On the DSP side, this application
illustrates use of TSK and SWI with MSGQ.
14 Sample Applications SPRUEW0 – March 2007
Submit Documentation Feedback
Page 15

GPP
message
queue
MSG
MessagetoGPP
Verify
message
MSG
DSP
message
queue
MessagetoDSP
GPP DSP
Scale Sample
4.2.1 Invoking the Application
The message sample takes the following parameters:
Parameter Example Value
Absolute path of DSP executable windows\message.out
Number of iterations 10000
The sample can be executed for infinite iterations by specifying the number of iterations as 0. The
following example initiates the message sample application to run for 6000 iterations.
Windows CE>s messagegpp.exe windows\message.out 6000
4.3 Scale Sample
Figure 4-4 illustrates a combination of data streaming and messaging concepts in DSP/BIOS LINK. It
transfers data between a task running on GPP and another task running on the DSP, and sends
messages from GPP to DSP. On the DSP side, this application illustrates use of TSK with SIO and
MSGQ, and SWI with GIO and MSGQ.
Figure 4-3. Message Flow in the Sample Application - MESSAGE
SPRUEW0 – March 2007 Sample Applications 15
Submit Documentation Feedback
Page 16

Output
fromGPP
Inputfrom
GPP
Channel0:GPP toDSP (datatobescaled)
Verify
data
Inputfrom
DSP
Output
fromDSP
Channe;1:DSP toGPP (scaleddata)
GPP DSP
Scale
data
MSG
Scalingfactor
READWRITE Sample
4.3.1 Invoking the Application
The scale sample takes the following parameters:
Parameter Example Value
Absolute path of DSP executable windows\scale.out
Buffer size 1024
Number of iterations 10000
The sample can be executed for infinite iterations by specifying the number of iterations as 0. The
following example initiates the scale sample application to run for 8000 iterations with each transferring a
buffer of size 1024 bytes.
Windows CE>s scalegpp.exe windows\scale.out 1024 8000
4.4 READWRITE Sample
Figure 4-5 illustrates large buffer transfer through direct writes to and reads from DSP memory. It transfers
a large size data buffer between the GPP and DSP using PROC_Read () and PROC_Write () APIs and
tasks running on the DSP On the DSP side, this application illustrates use of TSK with MSGQ.
Figure 4-4. Data and Message Flow in the Sample Application – SCALE
16 Sample Applications SPRUEW0 – March 2007
Submit Documentation Feedback
Page 17

Output
buffer
Memory
region
1.WritetoDSP memory(datatobescaled)
usingPROC_Write()
Application
thread
Input
buffer
5.ReadfromDSP memory(scaleddata)
usingPROC_Read()
GPP DSP
MSG
2.Sendscalingfactor
MSG
TSK
3.Scaledata
4.Scaleddataavailable
6.Verifydata
READWRITE Sample
4.4.1 Invoking the Application
Parameter Example Value
Absolute path of DSP executable windows\readwrite.out
DSP address 2414804992
Buffer size 1024
Number of iterations 10000
The sample can be executed for infinite iterations by specifying the number of iterations as 0.
The DSP address mentioned above is for the DaVinci platform. This needs to be specified as a valid DSP
address for all platforms. The following example initiates the readwrite sample application to run for 4000
iterations with each transferring a buffer of size 1024 bytes.
Windows CE>s readwritegpp.exe windows\readwrite.out 2414804992 1024 4000
Figure 4-6 shows the snapshot of the Platform Builder IDE where the readwritegpp.exe is being executed
for 1000 iterations.
Figure 4-5. Data and Message Flow in the Sample Application – READWRITE
SPRUEW0 – March 2007 Sample Applications 17
Submit Documentation Feedback
Page 18

READWRITE Sample
Figure 4-6. Execution of Readwritegpp.exe From the Platform Builder
18 Sample Applications SPRUEW0 – March 2007
Submit Documentation Feedback
Page 19

IMPORTANT NOTICE
Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications, enhancements,
improvements, and other changes to its products and services at any time and to discontinue any product or service without notice.
Customers should obtain the latest relevant information before placing orders and should verify that such information is current and
complete. All products are sold subject to TI’s terms and conditions of sale supplied at the time of order acknowledgment.
TI warrants performance of its hardware products to the specifications applicable at the time of sale in accordance with TI’s
standard warranty. Testing and other quality control techniques are used to the extent TI deems necessary to support this
warranty. Except where mandated by government requirements, testing of all parameters of each product is not necessarily
performed.
TI assumes no liability for applications assistance or customer product design. Customers are responsible for their products and
applications using TI components. To minimize the risks associated with customer products and applications, customers should
provide adequate design and operating safeguards.
TI does not warrant or represent that any license, either express or implied, is granted under any TI patent right, copyright, mask
work right, or other TI intellectual property right relating to any combination, machine, or process in which TI products or services
are used. Information published by TI regarding third-party products or services does not constitute a license from TI to use such
products or services or a warranty or endorsement thereof. Use of such information may require a license from a third party under
the patents or other intellectual property of the third party, or a license from TI under the patents or other intellectual property of TI.
Reproduction of information in TI data books or data sheets is permissible only if reproduction is without alteration and is
accompanied by all associated warranties, conditions, limitations, and notices. Reproduction of this information with alteration is an
unfair and deceptive business practice. TI is not responsible or liable for such altered documentation.
Resale of TI products or services with statements different from or beyond the parameters stated by TI for that product or service
voids all express and any implied warranties for the associated TI product or service and is an unfair and deceptive business
practice. TI is not responsible or liable for any such statements.
TI products are not authorized for use in safety-critical applications (such as life support) where a failure of the TI product would
reasonably be expected to cause severe personal injury or death, unless officers of the parties have executed an agreement
specifically governing such use. Buyers represent that they have all necessary expertise in the safety and regulatory ramifications
of their applications, and acknowledge and agree that they are solely responsible for all legal, regulatory and safety-related
requirements concerning their products and any use of TI products in such safety-critical applications, notwithstanding any
applications-related information or support that may be provided by TI. Further, Buyers must fully indemnify TI and its
representatives against any damages arising out of the use of TI products in such safety-critical applications.
TI products are neither designed nor intended for use in military/aerospace applications or environments unless the TI products are
specifically designated by TI as military-grade or "enhanced plastic." Only products designated by TI as military-grade meet military
specifications. Buyers acknowledge and agree that any such use of TI products which TI has not designated as military-grade is
solely at the Buyer's risk, and that they are solely responsible for compliance with all legal and regulatory requirements in
connection with such use.
TI products are neither designed nor intended for use in automotive applications or environments unless the specific TI products
are designated by TI as compliant with ISO/TS 16949 requirements. Buyers acknowledge and agree that, if they use any
non-designated products in automotive applications, TI will not be responsible for any failure to meet such requirements.
Following are URLs where you can obtain information on other Texas Instruments products and application solutions:
Products Applications
Amplifiers amplifier.ti.com Audio www.ti.com/audio
Data Converters dataconverter.ti.com Automotive www.ti.com/automotive
DSP dsp.ti.com Broadband www.ti.com/broadband
Interface interface.ti.com Digital Control www.ti.com/digitalcontrol
Logic logic.ti.com Military www.ti.com/military
Power Mgmt power.ti.com Optical Networking www.ti.com/opticalnetwork
Microcontrollers microcontroller.ti.com Security www.ti.com/security
Low Power www.ti.com/lpw Telephony www.ti.com/telephony
Wireless
Mailing Address: Texas Instruments, Post Office Box 655303, Dallas, Texas 75265
Video & Imaging www.ti.com/video
Wireless www.ti.com/wireless
Copyright © 2007, Texas Instruments Incorporated