You are on page 1of 50

Chapter 3 Code Composer Studio and the DSKs DSK6711, DSK6713 and DSK6416

Learning Objectives

Introduction to Code Composer Studio (CCS). Installation and setup of CCS. Introduction to the DSK. Laboratory.

Chapter 3, Slide 2

Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

Code Composer Studio

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


Chapter 3, Slide 3

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 visualisation.
Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

CCS Installation and Setup


(A) Install the CCS Software. (B) Run CCS Setup:

Start CCS setup utility by using the following desktop icon:

Alternatively:

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

Chapter 3, Slide 4

Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

CCS Installation and Setup

You should now see a screen similar to this:

Note: If you dont see the Import Configuration dialog box you should open it from the menu using: File:Import.
Chapter 3, Slide 5
Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

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 C6x11DSK Port x y Mode. The port number, x, and port mode, y, depend on your PC setup.

Chapter 3, Slide 6

Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

CCS Installation and Setup

If you do not know your configuration then you can select it automatically using the Configure C6x11 DSK Utility.

Chapter 3, Slide 7

Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

CCS Installation and Setup

Chapter 3, Slide 8

Finally save and quit the import configuration dialog box.

Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

Using CCS

Start CCS by either:

Using the desktop icon:


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

Chapter 3, Slide 9

Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

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 (See Slide 7).

Chapter 3, Slide 10

Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

Introduction to the C6711 DSK


The C6711 DSK provides a powerful, low-cost development environment. The DSK comes with CCS code development tools (does not include the simulator). A laboratory at the end of this section takes you through the DSK setup and shows you how to run the confidence test to check if it is working correctly.

Chapter 3, Slide 11

Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

DSK6711 Contents
Hardware (Schematics)

150 MHz C6711 DSP TI 16-bit A/D Converter (AD535) External Memory

16 MB SDRAM 128 kB Flash ROM

LEDs Daughter card expansion Power Supply & Parallel Port Cable

Software

Code Generation Tools


(C Compiler, Assembler & Linker)

Code Composer Debugger


(256K program limitation)

Example Programs & S/W Utilities


Power-on Self Test Flash Utility Program Board Confidence Test Host access via DLL Sample Program(s)
Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

Chapter 3, Slide 12

Hardware: (1) Overview

The daughter card interface socket provides a method for accessing most of the C6711 DSP for hardware extension.
1.8V Power Supply 16M SDRAM 128K FLASH Daughter Card I/F (EMIF Connector)

Parallel Port I/F

TMS320C6711
Power Jack

C6711 DSP D. Card I/F (Periph Con.) User DIP switches

Power LED
Reset Emulation JTAG Controller

3.3V Power Supply JTAG Header

Three User LEDs 16-bit codec (A/D & D/A) Line Level Input (microphone) Line Level Output (speakers)
Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

Chapter 3, Slide 13

Hardware: (2) DSK Connections


(A) Parallel port: The PCs parallel port is connected to the parallel port on the DSK.
Parallel Cable PC DSK

External Power Supply


Line-level Output Line-level Input

Power Supply

(B) JTAG: An XDS JTAG emulator connected to the PC (either internal or external) is connected to the JTAG header on the DSK.

PC

XDS

JTAG

DSK
Power Supply

External Power Supply


Line-level Output Line-level Input

Chapter 3, Slide 14

Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

Hardware: (3) Power On Self Test (POST)


There are three LEDs to provide the user with feedback from the test procedure. The test program (stored in the FLASH memory, code available on the DSK CD-ROM) runs every time DSK is powered on and reset.
LED 3 LED 2 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 BLINK ALL LED 1 Description 0 Start state 1 DSP internal SRAM test 0 External SDRAM test 1 DSP McBSP0 loop back test 0 External codec read/write test 1 External codec tone generation test 0 External LED and DSP timer test 1 Unused available for future test use All tests completed successfully
Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

Test 0 1 2 3 4 5 6 7

Chapter 3, Slide 15

Hardware: (4) Resets


CCS Reset Menu selection: DebugDSP Reset Resets C6711 DSP Causes bootload from FLASH which overwrites internal memory TMS320C6711

Absolute Reset On rare occasions you might have to: Pull power jack Pull parallel port

Apply Power POST runs

Reset Pushbutton Dont push when CCS is running Does not force FULL system reset To fully reset board, pull power plug

Power On Self Test (POST) Counts 1 - 7 4: mic input spkr out 5: sinewave spkr out Dont start CCS until end (all 3 LEDs flash at the end) If switches are set to 0100, a fast version of POST is run
Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

Chapter 3, Slide 16

Hardware: (5) Memory Maps


TMS320C6711
0000_0000

C6711 DSK
16 MB SDRAM

64 kB Internal
(Program or Data)
0180_0000

On-chip Periph

128 kB FLASH 4 byte I/O Port


9008_0000
LEDs Switches DSK

8000_0000 9000_0000 A000_0000


B000_0000

128 MB External
128 MB External Available via Daughter Card Connector

status DSK rev# Daughter Card

128 MB External
128 MB External

FFFF_FFFF

Chapter 3, Slide 17

Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

Hardware: (5) Memory Maps DK6711


Description Internal RAM (L2) mem EMIF control regs Cache configuration reg L2 base addr & count regs L1 base addr & count regs L2 flush & clean regs CE0 mem attribute regs CE1 mem attribute regs CE2 mem attribute regs CE3 mem attribute regs HPI control reg McBSP0 regs McBSP1 regs Timer0 regs Timer1 regs Interrupt selector regs EDMA parameter RAM EDMA control regs QDMA regs QDMA pseudo-regs McBSP0 data McBSP1 data CE0, SDRAM, 16 MB CE1, 8-bit ROM, 128 kB CE1, 8-bit I/O port CE2 Daughter card CE3 Daughter card
Chapter 3, Slide 18

Origin 0x00000000 0x01800000 0x01840000 0x01844000 0x01844020 0x01845000 0x01848200 0x01848240 0x01848280 0x018482c0 0x01880000 0x018c0000 0x01900000 0x01940000 0x01980000 0x019c0000 0x01a00000 0x01a0ffe0 0x02000000 0x02000020 0x30000000 0x34000000 0x80000000 0x90000000 0x90080000 0xA0000000 0xB0000000

Length 0x00010000 0x00000024 0x00000004 0x00000020 0x00000020 0x00000008 0x00000010 0x00000010 0x00000010 0x00000010 0x00000004 0x00000028 0x00000028 0x0000000c 0x0000000c 0x0000000c 0x00000800 0x00000020 0x00000014 0x00000014 0x04000000 0x04000000 0x01000000 0x00020000 0x00000004 0x10000000 0x10000000

Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

Software: (1) PC Host Utilities


DSK Loader

dsk6ldr.exe filename.out

Runs on PC host Downloads .out file to DSK memory map Stand alone DSK loader for when you want to bypass CCS

FLASH Programming

hex6x.exe
flash.exe

f.out h.cmd
f.hex

First, convert file.out to file.hex The flash utility downloads the hex file into the on-DSK FLASH Both programs run on the PC host. Links\SPRA804.pdf dsk6xtst

DSK Confidence Test

Run from MSDOS prompt Command-line utility tests proper installation of the DSK board Additionally, it tests: Internal SRAM, SDRAM, FLASH, McBSP, Timers, EDMA, LEDs and Audio codec
Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

Chapter 3, Slide 19

Software: (2) CCS DSK Utilities


Confidence Test
1. Unload any gel files already loaded in CCS 2. Load conftest.gel 3. Run confidence tests from GEL menu

Quick Test
Run from CCS GEL menu Defined in dsk6xinit.gel Non-intrusive test by reading and writing: LEDs Switches DSK board revision Outputs switch values

General Extension Language (GEL): An interpretive language that enables you to write functions to configure the IDE and access the target processor.

Chapter 3, Slide 20

Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

Software: (3) DSK Help

DSK6711 help is available via the Help menu in CCS. Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004 Chapter 3, Slide 21

Software: (4) 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

....... .......
Chapter 3, Slide 22

JTAG Emulation Port

Note: You should not use the parallel port for simultaneous emulation and HPI connection.
Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

Software: (4) PC DSK Communications

Win32 API functions for Host to DSK communications:


Open a connection to the DSK Close a connection to the DSK Reset the entire DSK board Reset only the DSP on the DSK Load a COFF image to DSP memory Open the HPI for the DSP Close the HPI for the DSP

dsk6x_open( ) dsk6x_close( ) dsk6x_reset_board( ) dsk6x_reset_dsp( ) dsk6x_coff_load( ) dsk6x_hpi_open( ) dsk6x_hpi_close( )

dsk6x_hpi_read( )
dsk6x_hpi_write( ) dsk6x_generate_int( )
Chapter 3, Slide 23

Read DSP memory via the HPI


Write to DSP memory via the HPI Generate a DSP interrupt
Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

TMS320C6713 DSP Starter Kit (DSK)


The TMS320C6713 DSP Starter Kit (DSK) developed jointly with Spectrum Digital is a low-cost development platform designed to speed the development of high precision applications based on TIs TMS320C6000 floating point DSP generation.

Link: tmdsdsk6713.html Link: Reference Manual


Chapter 3, Slide 24
Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

'C6713 DSK Block Diagram


Program Cache
Internal Memory
CE0

Daughter Card
CE2

SDRAM
(8 MB)

CPU
Data Cache

EMIF

Flash ROM
(256 kB)

CE1

Room for Expansion


CE3

I/O Port

DSK uses all four External Memory regions CE0 for SDRAM CE1 for Flash Memory and I/O Port (switches, LEDs, etc.) CE2 and CE3 pinned-out to daughter card connector

Chapter 3, Slide 25

Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

DSK6713 Block Diagram

Chapter 3, Slide 26

Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

C6713 DSK Memory Map


TMS320C6713
0000_0000

C6713 DSK
8 MB SDRAM

256 kB Internal
Program / Data
0180_0000

Peripheral Regs

256 kB FLASH CPLD


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

8000_0000 9000_0000 A000_0000 B000_0000

128 MB External 128 MB External 128 MB External 128 MB External Available via Daughter Card Connector

FFFF_FFFF
Chapter 3, Slide 27
Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

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: tmdsdsk6416.html Link: Reference Manual


Chapter 3, Slide 28
Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

'C6416 DSK Block Diagram


Program Cache
CE0 CE1

Daughter Card
CE2

CPLD

CPU
Data Cache

L2 RAM Prog/Data (1 MB)

EMIFB EMIFA

Flash ROM
(512 kB)
CE0

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.)
Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

Chapter 3, Slide 29

DSK6416 Block Diagram

Chapter 3, Slide 30

Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

C6416 DSK Memory Map


TMS320C6416
0000_0000 0010_0000 6000_0000 6400_0000

C6416 DSK
Internal RAM: 1MB

Internal RAM: 1 MB

Internal Peripherals or reserved


EMIFB CE0: 64 MB EMIFB CE1: 64 MB EMIFB CE2: 64 MB EMIFB CE3: 64 MB

Internal Peripherals or reserved


CPLD Flash: 512 kB
CPLD: LEDs DIP Switches DSK status DSK rev# Daughter Card

6800_0000
6C00_0000 8000_0000 9000_0000 A000_0000 B000_0000

EMIFA CE0: 256 MB


EMIFA CE1: 256 MB EMIFA CE2: 256 MB EMIFA CE3: 256 MB

SDRAM: 16 MB

Daughter Card
Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

Chapter 3, Slide 31

Laboratory Exercise: DSK Hardware Setup


(1) Connect the following cables:

Parallel port. Audio cables.

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

Chapter 3, Slide 32

Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

Laboratory Exercise: DSK Hardware Setup


(3) B . If you are using the DSK6713 or DSK6416

Use the Diagnostics Utilities show below:

Chapter 3, Slide 33

Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

Laboratory exercise: DSK hardware setup


Notes: The SDRAM may take a while due to the large amount of SDRAM on the C6711 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) Remove the power and parallel cable from the DSK. (2) Reset your PC. (3) Reconnect the power and the parallel cable. (4) Invoke CCS.

Chapter 3, Slide 34

Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

Laboratory Exercise: Using CCS


Implement:
y

a x
i 0

N 1

i i

with:

ai = {40, 39, , 1} xi = {1, 2, , 40}

(1) Create a working directory and copy the following files from \Code\Chapter 03 - CCS and DSK\: (a) lab3.cdb (b) lab3.c (c) lab3cfg.cmd (2) Create a new project: (a) Start CCS. (b) Create a new project as shown on the following slide. Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004 Chapter 3, Slide 35

Laboratory Exercise: Using CCS

Note: When you type in the Project Name a directory is created in the Location.
Delete this if not required.
Chapter 3, Slide 36
Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

Laboratory Exercise: Using CCS


(3) Add files to the project (lab3.c, lab3.cdb, lab3cfg.cmd).

Chapter 3, Slide 37

Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

Laboratory Exercise: Using CCS


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

Chapter 3, Slide 38

Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

Laboratory Exercise: Using CCS


(5) Build the output program (lab3.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

Chapter 3, Slide 39

Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

Laboratory Exercise: Using CCS


(6) Load the output file lab3.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:

Chapter 3, Slide 40

Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

Laboratory Exercise: Using CCS


(6) Load the output file lab3.out into DSP memory: (b) Load the lab3.out by selecting File:Load Program as shown below:

Chapter 3, Slide 41

Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

Laboratory Exercise: 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 lab3.c file, right click and select Add To Watch Window. If the variable is y for instance, the following window will be shown.

Chapter 3, Slide 42

(ii) To add another variable to the watch select it and then drag and drop it on to the window. Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

Laboratory Exercise: Using CCS


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

Chapter 3, Slide 43

Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

Laboratory Exercise: 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:

Chapter 3, Slide 44

Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

Laboratory Exercise: 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 name it Session 1 and select Profile All Functions by clicking the following toolbar button:

Chapter 3, Slide 45

Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

Laboratory Exercise: Using CCS


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

Chapter 3, Slide 46

Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

Laboratory Exercise: Using CCS


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

Chapter 3, Slide 47

Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

Laboratory Exercise: Using CCS


(8) Benchmarking and profiling code: (e) Run the program and examine the profile window:

Chapter 3, Slide 48

Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

CCS and DSK


CCS Overview:

\Links\spru301c.pdf
\Links\ccs_dsk.pdf

Resets:

Chapter 3, Slide 49

Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004

Chapter 3 Code Composer Studio and the DSK - End -

You might also like