chapter 3

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

Upload: deec75

Post on 20-Oct-2015

17 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Chapter 3

Chapter 3

Code Composer Studio and the DSKs

DSK6711, DSK6713 and DSK6416

Page 2: Chapter 3

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

Learning Objectives

Introduction to Code Composer Studio (CCS).

Installation and setup of CCS.

Introduction to the DSK.

Laboratory.

Page 3: Chapter 3

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

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 visualisation.

Page 4: Chapter 3

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

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\

Page 5: Chapter 3

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

CCS Installation and Setup

You should now see a screen similar to this:

Note: If you don‟t see the Import Configuration dialog box you should open it from the menu using: File:Import.

Page 6: Chapter 3

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

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.

Page 7: Chapter 3

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

CCS Installation and Setup

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

Page 8: Chapter 3

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

CCS Installation and Setup

Finally save and quit the import configuration dialog box.

Page 9: Chapter 3

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

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\

Using CCS

Page 10: Chapter 3

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

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).

Page 11: Chapter 3

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

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.

Page 12: Chapter 3

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

DSK6711 Contents

Hardware (Schematics) 150 MHz ‘C6711 DSP

TI 16-bit A/D Converter (‘AD535)

External Memory 16 MB SDRAM

128 kB Flash ROM

LED’s

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)

Page 13: Chapter 3

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

1.8V Power Supply 16M SDRAM 128K FLASH Daughter Card I/F(EMIF Connector)

ParallelPort I/F

PowerJack

PowerLED

3.3V Power Supply

JTAG Header

EmulationJTAG Controller

Reset

Line Level Output (speakers)Line Level Input (microphone)

16-bit codec (A/D & D/A)Three User LEDs

User DIPswitches

‘C6711DSP

D. Card I/F(Periph Con.)

TMS320C6711

Hardware: (1) Overview

The daughter card interface socket provides a method for accessing most of the C6711 DSP for hardware extension.

Page 14: Chapter 3

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

Hardware: (2) DSK Connections

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

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

Line-level OutputLine-level Input

PC DSK

Parallel Cable

Power Supply

External Power Supply

PC DSKJTAG

Power Supply

Line-level Output

Line-level Input

XD

S External Power Supply

Page 15: Chapter 3

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

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

Test LED 3 LED 2 LED 1 Description

0 0 0 0 Start state

1 0 0 1 DSP internal SRAM test

2 0 1 0 External SDRAM test

3 0 1 1 DSP McBSP0 loop back test

4 1 0 0 External codec read/write test

5 1 0 1 External codec tone generation test

6 1 1 0 External LED and DSP timer test

7 1 1 1 Unused – available for future test use

B L I N K A L L All tests completed successfully

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.

Page 16: Chapter 3

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

TMS320C6711

Hardware: (4) Resets

Apply Power POST runs

CCS Reset

Menu selection:DebugDSP Reset

Resets ‘C6711 DSP

Causes bootloadfrom FLASH which overwrites internal memory

Absolute Reset

On rare occasions you might have to:

Pull power jack

Pull parallel portReset Pushbutton

Don’t push when CCSis running

Does not force FULLsystem 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

Don’t start CCS until end

(all 3 LEDs flash at the end)

If switches are set to 0100, a fast version of

POST is run

Page 17: Chapter 3

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

Hardware: (5) Memory Maps

FFFF_FFFF

0000_0000

64 kB Internal(Program or Data)

On-chip Periph0180_0000

128 MB External

128 MB External

8000_0000

9000_0000

A000_0000

B000_0000

128 MB External

128 MB External

TMS320C6711

9008_0000

Available via

Daughter Card

Connector

„C6711 DSK

16 MB SDRAM

128 kB FLASH

4 byte I/O PortLED’s

Switches

DSK status

DSK rev#

Daughter Card

Page 18: Chapter 3

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

Hardware: (5) Memory Maps DK6711Description Origin Length

Internal RAM (L2) mem 0x00000000 0x00010000

EMIF control regs 0x01800000 0x00000024

Cache configuration reg 0x01840000 0x00000004

L2 base addr & count regs 0x01844000 0x00000020

L1 base addr & count regs 0x01844020 0x00000020

L2 flush & clean regs 0x01845000 0x00000008

CE0 mem attribute regs 0x01848200 0x00000010

CE1 mem attribute regs 0x01848240 0x00000010

CE2 mem attribute regs 0x01848280 0x00000010

CE3 mem attribute regs 0x018482c0 0x00000010

HPI control reg 0x01880000 0x00000004

McBSP0 regs 0x018c0000 0x00000028

McBSP1 regs 0x01900000 0x00000028

Timer0 regs 0x01940000 0x0000000c

Timer1 regs 0x01980000 0x0000000c

Interrupt selector regs 0x019c0000 0x0000000c

EDMA parameter RAM 0x01a00000 0x00000800

EDMA control regs 0x01a0ffe0 0x00000020

QDMA regs 0x02000000 0x00000014

QDMA pseudo-regs 0x02000020 0x00000014

McBSP0 data 0x30000000 0x04000000

McBSP1 data 0x34000000 0x04000000

CE0, SDRAM, 16 MB 0x80000000 0x01000000

CE1, 8-bit ROM, 128 kB 0x90000000 0x00020000

CE1, 8-bit I/O port 0x90080000 0x00000004

CE2 – Daughter card 0xA0000000 0x10000000

CE3 – Daughter card 0xB0000000 0x10000000

Page 19: Chapter 3

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

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 f.out h.cmd

flash.exe 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

DSK Confidence Test dsk6xtst

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

Page 20: Chapter 3

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

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 valuesGeneral Extension Language (GEL):

An interpretive language that enables

you to write functions to configure the

IDE and access the target processor.

Page 21: Chapter 3

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

Software: (3) DSK Help

DSK6711 help is available via the Help menu in CCS.

Page 22: Chapter 3

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

Software: (4) PC DSK Communications

DSP

JTAG

..............

JTAGEmulation

Port

CCS uses parallel port to control DSP via JTAG port

You can use full TI eXtended Dev System (XDS) via 14 pin header connector

Use HPI via Win32 DLL

Communicate from Windows program (C++, VB) via parallel port using Win32 DLL

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

Page 23: Chapter 3

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

Software: (4) PC DSK Communications

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

Win32 API functions for Host to DSK communications:

Page 24: Chapter 3

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

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 TI´s TMS320C6000 floating point DSP

generation.

Link: tmdsdsk6713.html

Link: Reference Manual

Page 25: Chapter 3

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

'C6713 DSK Block Diagram

Daughter Card

Roomfor

Expansion

Internal

MemoryCPU

ProgramCache

DataCache

EMIF

SDRAM

(8 MB)

CE2

CE3

Flash ROM(256 kB)

I/O Port

CE1

CE0

DSK uses all four External Memory regions

CE0 for SDRAM

CE1 for Flash Memory and I/O Port (switches, LED’s, etc.)

CE2 and CE3 pinned-out to daughter card connector

Page 26: Chapter 3

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

DSK6713 Block Diagram

Page 27: Chapter 3

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

FFFF_FFFF

0000_0000

256 kB InternalProgram / Data

Peripheral Regs0180_0000

128 MB External

128 MB External

8000_0000

9000_0000

A000_0000

B000_0000

128 MB External

128 MB External

TMS320C6713

Available via

Daughter Card

Connector

‘C6713 DSK

8 MB SDRAM

256 kB FLASH

CPLD

C6713 DSK Memory Map

CPLD:

LED’s

DIP Switches

DSK status

DSK rev#

Daughter Card

9008_0000

Page 28: Chapter 3

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

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 TI´s TMS320C64x DSP generation.

The kit uses USB communications for true plug-and-play

functionality.

Link: tmdsdsk6416.html

Link: Reference Manual

Page 29: Chapter 3

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

TMS320C6416 DSP Starter Kit (DSK)

'C6416 DSK Block Diagram

Daughter Card

Roomfor

Expansion

SDRAM

(16 MB)

CE2

CE3

Flash ROM(512 kB)

CPLDCE1

CE0

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, LED’s, etc.)

L2 RAM

Prog/Data

(1 MB)

CPU

EMIFA

EMIFB

ProgramCache

DataCache

CE0

Page 30: Chapter 3

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

DSK6416 Block Diagram

Page 31: Chapter 3

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

C6416 DSK Memory Map

CPLD:

LED’s

DIP Switches

DSK status

DSK rev#

Daughter Card

0000_0000 Internal RAM: 1 MB Internal RAM: 1MB

0010_0000 Internal Peripherals or reserved

Internal Peripherals or reserved

6000_0000EMIFB CE0: 64 MB CPLD

6400_0000EMIFB CE1: 64 MB Flash: 512 kB

6800_0000EMIFB CE2: 64 MB

6C00_0000EMIFB CE3: 64 MB

8000_0000EMIFA CE0: 256 MB SDRAM: 16 MB

9000_0000EMIFA CE1: 256 MB

A000_0000EMIFA CE2: 256 MB

Daughter CardB000_0000

EMIFA CE3: 256 MB

TMS320C6416 C6416 DSK

Page 32: Chapter 3

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

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:

Page 33: Chapter 3

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

Laboratory Exercise: DSK Hardware Setup

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

Use the Diagnostics Utilities show below:

Page 34: Chapter 3

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

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.

Page 35: Chapter 3

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

Laboratory Exercise: Using CCS

Implement:

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.

1

0

N

i

iixay

Page 36: Chapter 3

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

Laboratory Exercise: Using CCS

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

Delete this if not required.

Page 37: Chapter 3

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

Laboratory Exercise: Using CCS

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

Page 38: Chapter 3

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

Laboratory Exercise: Using CCS

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

Page 39: Chapter 3

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

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

Page 40: Chapter 3

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

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:

Page 41: Chapter 3

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

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:

Page 42: Chapter 3

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

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.

(ii) To add another variable to the watch select it and then drag and drop it on to the window.

Page 43: Chapter 3

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

Laboratory Exercise: Using CCS

(7) Debug and run code:

(c) CCS will automatically add the local variables:

Page 44: Chapter 3

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

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:

Page 45: Chapter 3

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

(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:

Laboratory Exercise: Using CCS

(e) Stop the processor from running and watch the variable y:

y = 0x2cdb or 11480

Page 46: Chapter 3

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

Laboratory Exercise: Using CCS

(8) Benchmarking and profiling code:

(c) Expand the lab3.c as shown below:

Page 47: Chapter 3

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

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:

Page 48: Chapter 3

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

Laboratory Exercise: Using CCS

(8) Benchmarking and profiling code:

(e) Run the program and examine the profile window:

Page 50: Chapter 3

Chapter 3

Code Composer Studio and the DSK

- End -