You are on page 1of 62

Lecture 3

Code Composer Studio and the DSK6416

Learning Objectives

Introduction to Code Composer Studio (CCS).


Installation and setup of CCS.
Introduction to the DSK.
Laboratory.

Code Composer Studio


The Code Composer Studio (CCS) application provides an integrated environment with the
following capabilities:

Integrated development environment with an editor, debugger, project manager, profiler, etc.
C/C++ compiler, assembly optimiser and linker (code generation tools).
Simulator.
Real-time operating system (DSP/BIOS).
Real-Time Data Exchange (RTDX) between the Host and Target.
Real-time analysis and data visualization.

CCS Installation and Setup


(A) Insert CD and Install the CCS Software.
(B) Connect DSK to Power and USB and Run CCS Setup
(do not remove CD):
Start CCS setup utility by using the following desktop icon:

Setup CCS 2.lnk

Alternatively:
Windows Start Menu -> Programs -> Texas Instruments -> Code
Composer Studio 3.1 (C6000) -> Setup Code Composer Studio 3.1
Run cc_setup.exe located in: c:\CCStudio_v3.1\cc\bin\

CCS Installation and Setup


(C)

After Installation you should see the following

icons:

CCS Installation and Setup


You should now see a screen similar to this:

Note:
6

If you dont see the Import Configuration dialog box you should open it from the
menu using: File: Import.

CCS Installation and Setup


You can clear the previous configuration by selecting the
configuration you wish to clear and clicking the clear button.
Next select a new configuration that you would like to add:
Select the C6416DSK Port x y Mode.
The port number, x, and port mode, y, depend on your PC setup.

CCS Installation and Setup

Finally save and quit the import configuration dialog box.


8

Testing Your Connection

If you want to test your DSK and USB connection you can launch
the C6416 DSK Diagnostic Utility from the icon on your desktop.

From the diagnostic utility, press the start button to run


the diagnostics. In approximately 30 seconds all the onscreen test indicators should turn green.

Testing Your Connection

10

CCS Setup - Simulator

11

CCS Setup - Simulator

12

CCS Setup - DSK

13

Using CCS
Start CCS by either:
Using the desktop icon:
CCS 2.lnk

Start -> Programs -> Texas Instruments -> Code Composer Studio 2 ->
Code Composer Studio.
Run cc_app.exe in c:\CCStudio_v3.1\cc\bin\

14

Troubleshooting
If the following window appears on your screen then:
Check that the DSK is connected properly and powered up.
Check if the port address and mode is correct

15

Starting CCS

16

Connecting DSK Board to CCS Studio

17

Software: (1) DSK Help

18

DSK6416 help is available via the Help menu


in CCS.

Software: (2) PC DSK Communications


CCS uses parallel port to control DSP via JTAG port
You can use full TI eXtended Dev System (XDS) via 14 pin
header connector
Communicate from Windows program (C++, VB) via
parallel port using Win32 DLL

Use HPI via Win32 DLL

DSP

JTAG

.......
.......
19

JTAG
Emulation
Port

Note: You should not use the parallel port for simultaneous emulation and HPI connection.

Software: (3) PC DSK Communications


CCS uses USB to control DSP via JTAG port
You can use RTDX
Communicate from MATLAB (SIMULINK)

Use USB

DSP

JTAG

.......
.......
20

Note: Limited data rate up to 2MB/Sec.

JTAG
Emulation
Port

Software: (4) PC DSK Communications


Win32 API functions for Host to DSK communications:

21

dsk6x_open( )

Open a connection to the DSK

dsk6x_close( )

Close a connection to the DSK

dsk6x_reset_board( )

Reset the entire DSK board

dsk6x_reset_dsp( )

Reset only the DSP on the DSK

dsk6x_coff_load( )

Load a COFF image to DSP memory

dsk6x_hpi_open( )

Open the HPI for the DSP

dsk6x_hpi_close( )

Close the HPI for the DSP

dsk6x_hpi_read( )

Read DSP memory via the HPI

dsk6x_hpi_write( )

Write to DSP memory via the HPI

dsk6x_generate_int( )

Generate a DSP interrupt

Software (5): Project Management


Intuitive organization
Drag & drop
Fast access
Easy file manipulation

Graphically configure
build options
Saved with each project

22

Software: Program Code Editing Features


Code Composer Studio allows
you to edit C and assembly
source code together.
The integrated editor provides
support for the following activities:
o Highlight of keywords, comments,
and strings in color
o Mark C blocks in parentheses
and braces, parenthesis or
brace matching
o File Find and replace, and quick
search
o Context-sensitive help
o Custom key commands

23

Software: Edit and Build with CCS

24

Software: Debugger in CCS

25

Debugging is optimized for DSP


C expression based conditional
breakpoints
Advanced breakpoints
View source and dis-assembly
simultaneously
C and Assembly debugging
Advanced Watch Window
Multi-processor debug
Global breakpoints
Synchronized control over groups

Software: What is DSP/BIOS?

26

A scalable real-time kernel for applications


Real-time scheduling and synchronization
Host-to-target communication
Real-time instrumentation
DSP/BIOS provides
Preemptive multi-threading, hardware abstraction, real-time analysis, and
configuration tools
Packaged as a set of modules that can be linked into an application
Integrated with CCSTM, requires no runtime fees, and is fully supported by TI
Supports the TMS320C6000 DSP platform
DSP/BIOS Users Guide SPRU303B.PDF

Software: eXpress DSP Support Libraries


1.
2.

3.

4.

27

Chip Support Library (CSL)


Board Support Library (BSL)
DSK version
EVM version
DSPLIB
C62x version
C64x version
Image/Video Library (IMGLIB)
C62x version
C64x version

Software: Chip Support Library (CSL)

28

Provides a C-language interface for configuring and controlling on-chip


peripherals.
It consists of discrete modules that are built and archived into a library
file.
Each module relates to a single peripheral with the exception of several
modules that provide general programming sup-port, such as the
interrupt request (IRQ) module which contains APIs for interrupt
management, and the CHIP module which allows the global setting of
the chip.
SPRU401.PDF

Software: Chip Support Library (CSL)

29

Software: DSK Board Support Library (BSL)

30

BSL is a set of APIs used to configure and control all on-board devices
To make it easier for developers by eliminating much of the tedious
grunt-work usually needed to get algorithms up and running in a real
system

TMS320C6416 DSP Starter Kit (DSK)

The TMS320C6416 DSP Starter Kit (DSK) developed jointly


with Spectrum Digital is a low-cost development platform
designed to speed the development of high performance
applications based on TIs TMS320C64x DSP generation.
The kit uses USB communications for true plug-and-play
functionality.

Link: Reference Manual


31

Kit Contents

32

TMS320C6416 DSK Hardware


Line Out
Mic In Line In

Headphones Expansion

CPU

Codec

Supply +5V
33

USB

JTAG
LEDs
Switches

Reset

Sw3

RAM

Typical C6416 DSK Setup


USB to PC

Headphones

34

to +5V

Microphone

DSK6416 Block Diagram

35

'C6416 DSK Block Diagram


CE0

Program
Cache

CPU
Data
Cache

36

CPLD

L2 RAM
Prog/Data
(1 MB)

CE1

EMIFB

Flash ROM

EMIFA

CE0

(512 kB)

Daughter
DaughterCard
Card
CE2

Room
for
Expansion

TMS320C6416 DSP SDRAM


Starter Kit (DSK)
CE3
(16 MB)

DSK uses both EMIFs (A and B)


EMIFA
CE0 for SDRAM
CE2 and CE3 pinned-out to daughter card connector
EMIFB
CE1 for Flash Memory and CPLD (switches, LEDs, etc.)

C6416 DSK Memory Map


TMS320C6416
0000_0000
0010_0000

6000_0000
6400_0000
6800_0000
6C00_0000

8000_0000
9000_0000
A000_0000
B000_0000

37

C6416 DSK

Internal RAM: 1 MB

Internal RAM: 1MB

Internal Peripherals
or reserved

Internal Peripherals
or reserved

EMIFB CE0: 64 MB

CPLD

EMIFB CE1: 64 MB

Flash: 512 kB

EMIFB CE2: 64 MB
EMIFB CE3: 64 MB
EMIFA CE0: 256 MB

SDRAM: 16 MB

EMIFA CE1: 256 MB


EMIFA CE2: 256 MB
Daughter Card
EMIFA CE3: 256 MB

CPLD:
LEDs
DIP Switches
DSK status
DSK rev#
Daughter Card

DSK6416 Block Diagram

Switch SW3

38

DSK6416 Block Diagram

39

Laboratory Exercise: DSK Hardware Setup


(1) Connect the following cables:

USB.
Audio cables.

(2) Connect the power and observe the Power On Self-Test (POST) (Refer to
Slide 15).
(3) A . If using the DSK6416
Configure and test the DSK with the utilities shown below:

40

Laboratory exercise: DSK Hardware Setup


Notes:
The SDRAM may take a while due to the large amount of SDRAM on the C6416 DSK.
The CODEC test performs two operations: (1) a 1kHz tone output, and (2) an audio input to output loopback. You must have a speaker connected to the the output jack to hear the test.
If the confidence test fails:
(1)
(2)
(3)
(4)

41

Remove the power and parallel cable from the DSK.


Reset your PC.
Reconnect the power and the parallel cable.
Invoke CCS.

Laboratory Exercise (hello64): Using CCS


First Project
Hello World!

#include <stdio.h>
void main()
{
int nTarget = 0;
printf("Hello, CCStudio Scripting World!\n");
nTarget = 0x64;
printf("We are a C%x!\n", nTarget);
}

(1) Create a working directory and copy the following files from \Lab03\Code\Hello64:
(a)
rts6400.lib
(b)
hello.c
(c)
lnk.cmd
(d)
vectors.asm
(2) Create a new project (Hello64):
(a)
Start CCS.
(b)
Create a new project as shown on the following slides.
42

Laboratory Exercise (dotp64): Using CCS


Implement:
with:

ai = {40, 39, , 1}

xi = {1, 2, , 40}

N 1

a x

i i

i 0

(1) Create a working directory and copy the following files from
\Lab03\Code\Dotp64:
(a)
rts6400.lib
(b)
dotp.c
(c)
lnk.cmd
(d)
vectors.asm
(2) Create a new project (Dotp64):
(a)
Start CCS.
(b)
Create a new project as shown on the following slide.
43

Laboratory Exercise (dotp64): Using CCS

Note: When you type in the Project Name a directory is created in the Location.
44

Delete this if not required.

Laboratory Exercise (dotp64): Using CCS


(3) Add files to the project (dotp.c, lnk.cmd, vectors.asm, rts6400.lib).

45

Laboratory Exercise (dotp64): Using CCS


(4) Change the build options (compile and link):

46

Laboratory Exercise (dotp64): Using CCS


(4) Change the build options (compile and link):

47

Laboratory Exercise (dotp64): Using CCS


(5) Build the output program (dotp64.out):
(a)

Build the project by:


(i) Clicking the Rebuild All
toolbar icon.
(ii) Selecting Rebuild All in
the project menu.
(b)
Verify that the build output window is
complete with 0 errors, 0 warnings:

CCS menu

48

Laboratory Exercise (dotp64): Using CCS


(6) Load the output file Dotp64.out into DSP memory:
(a)
The program will be automatically loaded after each project
build if the Program Load
after Build option is selected as
shown below:

49

Laboratory Exercise (dotp64): Using CCS


(6) Load the output file dotp64.out into DSP memory:
(b)
Load the dotp64.out by selecting File:Load

50

Program as shown below:

Laboratory Exercise (dotp64): Using CCS


(7) Debug and run code:
(a)

Go to the beginning of the program, that is


main() by selecting Debug:Go Main.
(b)
Watch variables:
(i) Select the variable (to be watched)
from the dotp64.c file, right click and select
Add To Watch Window. If the variable is y
for instance, the following window will be shown.

To add another variable to the watch


select it and then drag and drop it on to the
window.
(ii)

51

Laboratory Exercise (dotp64): Using CCS


(7) Debug and run code:
(c)
CCS will automatically add the local variables:

52

Laboratory Exercise (dotp64): Using CCS


(7) Debug and run code:
(d)
You can run or step through the code by using the
various icons on the toolbar or use the Debug menu:

53

Laboratory Exercise (dotp64): Using CCS


(e)

Stop the processor from running and watch the variable y:


y = 0x2cdb or 11480

(8) Benchmarking and profiling code:


(a)
Stop the processor, reload the code or select Debug: Restart
then select Debug: Go Main.
(b)
Open a new profiling session and select Profile All Functions by
clicking the following toolbar button:

54

Laboratory Exercise (dotp64): Using CCS


(8) Benchmarking and profiling code:
(c)
Expand the dotp.c as shown below:

55

Laboratory Exercise (dotp64): Using CCS


(8) Benchmarking and profiling code:
(d)
Add a breakpoint at for(;;);. This can be
(i) Click the cursor on the highlighted line
below.
(ii) Click the Add Breakpoint toolbar
button:

56

done by:

Laboratory Exercise (dotp64): Using CCS


(8) Benchmarking and profiling code:
(e)

57

Run the program and examine the profile window:

Profiling

Profiling allows you to obtain an average, maximum, and minimum cycle


count for blocks of code. Multiple functions, loops, and ranges can all be
profiled at the same time. Code Composer will provide you with many
readings. The figure used in our DSP lab is the 'CPU Cycles: Incl. Max".
The instructions to set profile points and obtain a cycle count for a piece of
code:
View the profiling windows by selecting Profile->Setup and Profile->Viewer.
Load the program onto the DSP.
Click on the Stopwatch symbol in the Profiling Setup window on the right to enable
profiling.
Select the 'Ranges' tab in the Profiling Setup window.
Highlight the range of code you would like to obtain the cycle count for and drag it
to the 'Ranges' menu. (Another way to do the same is to highlight those lines, right
click, and select Profile -> Range.)
Run the code for a while for Code Composer to collect data.
The default stats shown do not include what we are looking for. In the profiler
viewer window, right click on the address range you would like stats for and select
'Columns and Rows Setting'. Different counts can be shown, but 'CPU Cycles: Incl.
Max.' is probably the most important.

58

Laboratory Exercise (Lab1): Using CCS

59

Open Project: Lab1


(Lab03\Project\Lab1\)
Run
Use Graphics

Laboratory Exercise (Lab1): Using CCS


Watch Value its nice, but
Graphic Display is better!

60

CCS and DSK


CCS Overview:

61

\Links\spru327c.pdf

Chapter 3
Code Composer Studio and the DSK
- End -

You might also like