C5510_SoftwareTools

58
DSP C5000 Chapter 4 Software Development Tools

Transcript of C5510_SoftwareTools

Page 1: C5510_SoftwareTools

DSP C5000

Chapter 4

Software Development Tools

Page 2: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Software Development Tools

Code Composer Studio (CCS).

Development Starter Kit (DSK).CCSCCS

DSK 5416DSK 5416

DSK 5510DSK 5510

Page 3: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Code Composer Studio

Page 4: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Code Composer Studio

Debugging Loading of the executable code. Running in real-time or step by step. Breakpoints. Profiling. Saving memory contents in a file. Waveform representation of memory contents.

Page 5: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

To Build an Executable File

Source files (C,C++ and/or assembly) (*.c,*.asm) Text files with strict syntax checking, especially for

assembly language *.asm.

Linker command file (*.cmd)

Project file (*.pjt) : Act as a makefile for CCS. Defines all the source files and the linker command

file needed to build an executable file.

Page 6: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

label: mnemonic operand,operand ;comment

instruction or directive

Any printable ASCII text is allowed.Any printable ASCII text is allowed.

Use .asm extension for fileUse .asm extension for file

Instructions and directives Instructions and directives cannotcannot be in first column be in first column

Comments O.K. in any column after semicolonComments O.K. in any column after semicolon

tabs or spacestabs or spaces

colon optional

Assembly Conventions

Page 7: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

How Do We Build a Project ?

get x

add y

store z

loop

LD @x,A

ADD @y,A

STL A,@z

B start

.text

x = 2

y = 7

z

.text

LD #X,DP

LD @x,A

ADD @y,A

STL A,*(z)

B start

.datax .int 2y .int 7

.bss z,1

start:code

constants

variables

Processing goal : z=x+y

Page 8: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Instructions Used and On-line Help

LD Smem,dst

ADD Smem,dst

STL src,Smem

LD Smem,dst

ADD Smem,dst

STL src,Smem

Page 9: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Linker Command File

MEMORY

{

PAGE 0: VECS: origin = 0080h, length = 0080h /* Internal Program RAM */

PRAM: origin = 100h, length = 1f00h /* Internal Program RAM */

PAGE 1: SCRATCH: origin = 0060h, length = 0020h /* Scratch Pad Data RAM */

INRAM: origin = 2000h, length = 1fffh /* Internal Data RAM */

}

SECTIONS

{

.text > PRAM PAGE 0

.data > INRAM PAGE 1

.bss > SCRATCH PAGE 1

}

Page 10: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Memory Space and Software Sections

DSP

Core

Program(Internal/External)

Data(Internal/External)

VECS

PRAM

SCRATCH

INRAM

.text

.bss

.data

file1.asm

.text

.data

.bss

file2.asm

Sections are placed into specificmemory spaces via the linker.

Page 11: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Building the Executable File

TextEditor

ASM500 LNK500 Debug.asm .obj

-o.out

.lst

-L

.cmd

.map

-m

HEX500HEX500

Equivalent Process

Page 12: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

How to Create a Project under CCS

Page 13: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Building the Project

Sum.asmSum.cmd

Sum.asmSum.cmd

Page 14: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Project Options

Page 15: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Project Build

Page 16: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Running the Program

- Step by step- real time- Breakpoints

- Step by step- real time- Breakpoints

Page 17: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Memory and Register Display

Page 18: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Assembler Directives and Data Types

Basic DirectivesBasic Directives

.byte 8-bit constantword-aligned

.long 32-bit constant

.set/.equ equate a value with a symbol*

.global .ref and .def combined

Data TypesData Types

10 Decimal (default)0Ah, 0xA Hexadecimal1010b, 1010B Binary

.sect create initialized namedsection for code or data

.usect create uninitializednamed section for data

.int (.word) 16-bit constant

.ref/.def used for symbolreferences

.asg assign an assembly constant*. Will displayin debugger

* takes no memory space

Page 19: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Visual Linker 1 of 2

Page 20: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Visual Linker 2 of 2

Page 21: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Dynamic Graph Display 1 of 3

- Probe Point Insertion

Page 22: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Dynamic Graph Display 2 of 3

-Display configuration-Start adresse : z-Acq buffer size : 1-Display size : 40-Data type : 16 bits unsigned

Page 23: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Dynamic Graph Display 3 of 3

Page 24: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

DSK5416

Page 25: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

DSK5416 Block Diagram

Page 26: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

DSK5416 Hardware Resources TMS320VC5416

Internal APLL and 16Mhz Xtal– Up to 160 Mhz. (CLKMD register) – Reset value set by JP4 on board :

» Default settings : 32Mhz (x2)– Running value set by startup GEL file:

» 160 Mhz (x10) 128 Kwords of on chip RAM 16 Kwords of on chip ROM 1 Timer 3 McBSP

– McBSP 2 may be used for audio codec 6 DMA Channel 16 bit EMIF interface 8/16 bit Host Port Interface

Page 27: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

DSK5416 Internal Memory Resources

Internal Memory Details Depends on DROM and OVLY values (PMST register) (as set by

C5416_dsk.gel and MP/MC pin (JP4)) :» DROM=1, OVLY=1 and MP/MC=0

4x8Kwords DARAM (0080h-7FFFh) Data.– Also map in (xx0000h-xx7FFFh) Program with OVLY=1

4x8Kwords DARAM (018000h-01FFFFh) Program.– Also map in (8000h-FFFFh) Data with DROM=1

4x8Kwords SARAM (028000h-02FFFFh) Program. 4x8Kwords SARAM (038000h-03FFFFh) Program.

Page 28: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

DSK5416 External Memory Resources

External Memory Configured by DM CNTL register located at

IO@0005h. 64Kwords SRAM

2x32Kwords (SR PAGE0 and SR PAGE1):– Data: (MEMTYPE DS1=1) All pages, specified by DM

PG[4..0]1, are seen in the (8000h-FFFFh) address space if DROM=0.

– Program: (MEMTYPE PS1=1), mapped on :» SR PAGE0: 000000h-007FFFh if OVLY=0,» SR PAGE1: 008000h-00BFFFh always, 00C000h-

00FF80h if MP/MC=1.

11MEMTYPEMEMTYPE DS, MEMTYPEDS, MEMTYPE PS, DMPS, DM PGPG[4..0] are bits field of [4..0] are bits field of DM CNTL register. register.

Page 29: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

DSK5416 Flash Memory Resources

256Kwords Flash memory 8x32Kwords (F_PAGE0 through F_PAGE7):

– Data: (MEMTYPE DS1=0) All pages, specified by DM PG[4..0]1, are seen in the (8000h-FFFFh) address space if DROM=0.

– Program: (MEMTYPE PS1=0), mapped on :» F PAGE0: 000000h-007FFFh if OVLY=0,» F PAGE1: 008000h-00BFFFh always, 00C000h-00FF80h

if MP/MC=1,» F PAGE[2/4/6]: 0[1/2/3]0000h-0 [1/2/3]7FFFh if OVLY=0,» F PAGE[3/5/7]: 0[1/2/3]8000h-0 [1/2/3]FFFFh if

MP/MC=1.

11MEMTYPEMEMTYPE DS, MEMTYPEDS, MEMTYPE PS, DMPS, DM PGPG[4..0] are bits field of [4..0] are bits field of DM CNTL register. register.

Page 30: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

DSK5416 Default Memory Map

Status bit values: MEMTYPE DS=1, MEMTYPE PS=0, MP/MC=0,

DROM=1, OVLY=1.Program memoryProgram memory

Data memoryData memory

Page 31: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

DSK5416 Default Memory Map

Check memory from CCS

Page 32: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

DSK5416 Hardware Resources

Four switches and LEDs Provided for user application Read and driven through USER REG (IO@0000h) USER REG[3..0]: drive leds USER REG[7..4]: read switches value.

Tutorial : Create a project (LedSwitch) that will read switch

position (ON/OFF) and that will set the corresponding Leds depending on the switch value.

Page 33: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Tutorial : LedSwitch 1 of 6 Create a new project called LedSwitch

Modify call option in « Project>Options » and select « far »

Page 34: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Tutorial : LedSwitch 2 of 6 Set a new configuration file (*.cdb)

Page 35: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Tutorial : LedSwitch 3 of 6

Save (File>Save) the new configuration file under the project directory

Page 36: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Tutorial : LedSwitch 4 of 6

Add to the project two of the files generated at the previous step: the configuration file (*.cdb) and the linker command file (*.cmd).

Page 37: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Tutorial : LedSwitch 5 of 6 Create the main source file : LedSwitch.c which should include the

header file generated at the configuration step and add it to the project.

You are now able to get this satis-You are now able to get this satis-

factory message after build …factory message after build …

Page 38: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Tutorial : LedSwitch 6 of 6

Page 39: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

DSK5416 Audio Resources

Audio CODEC (PCM3002) : stereo codec x64 oversampling ADC-DAC converter:

– 16 bits, 48 kHz (default settings) (possible sampling frequency are 24 , 12, 8, 6 kHz).

Use McBSP 2 for data I/F to the DSP Control I/F is done through CPLD registers:

– CODEC L (IO@0002h) and CODEC H (IO@0003h) to send command word to the codec.

– CODEC CLK (IO@0007h) to set the sampling frequency.– MISC[7] and MISC[0] (IO@0006h) for status.

Page 40: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

DSK5416 Hardware Resources

Analog Interface Input

Analog Interface Output DAC outputs are send to both outputs : line and Speaker

through an audio power amplifier for this one.

Page 41: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

DSK5416 AudioTutorial Write a program that takes input samples from the ADC and writes back them

to the DAC. Create a new project, then add this configuration file audioIO.cdb (which

configures McBSP2), the function main( ) could be this one :

Page 42: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

DSK 5510

Page 43: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

DSK 5510 Block Diagram

Page 44: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

DSK 5510 Hardware Resources

TMS320VC5510 Internal DPLL and 24Mhz Xtal

– From 6 Mhz to 200 Mhz. (CLKMD register IO@1C00h)– Run at 200 Mhz after default boot.

160 Kwords of on chip RAM 16 Kwords of on chip ROM 2 Timers 3 McBSP

– McBSP 1 & 2 may be used for audio codec 6 DMA Channel 32 bit EMIF interface 16 bit Enhanced Host Port Interface

Page 45: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

DSK 5510 Memory Resources

Page 46: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

DSK 5510 Default Memory Map

Check memory from CCS

Page 47: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

DSK 5510 Hardware Resources

Four switches and LEDs Provided for user application Read and driven through USER REG

(DATA@300000h1) USER REG[3..0]: drive leds USER REG[7..4]: read switches value.

Tutorial : Create a project (LedSwitch) that will read switch

positions (ON/OFF) and that will set the corresponding LEDs depending on the switch values.

11Because of unified memory space, it can be decoded in data or prog memory space.Because of unified memory space, it can be decoded in data or prog memory space.

Page 48: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Tutorial : LedSwitch 1 of 6 Create a new project called LedSwitch

Modify memory model in « Project>Options » and select « large memory model »

Page 49: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Tutorial : LedSwitch 2 of 6 Set a new configuration file (*.cdb)

Page 50: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Tutorial : LedSwitch 3 of 6

Save (File>Save) the new configuration file in the project directory

Page 51: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Tutorial : LedSwitch 4 of 6

Add to the project two of the files generated at the previous step: the configuration file (*.cdb) and the linker command file (*.cmd).

Page 52: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Tutorial : LedSwitch 5 of 6 Create the main source file : LedSwitch.c which needs to include

the header file generated at the configuration step and add it to the project.

You are now able to obtain this satis-You are now able to obtain this satis-

factory message after build …factory message after build …

Page 53: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Tutorial : LedSwitch 6 of 6

Page 54: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

DSK5510 Hardware Audio Resources

Audio CODEC (TLV320AIC23) : Stereo codec with selectable line and microphone inputs

and both line and headphones outputs. x250 or x272 oversampling ADC-DAC converter:

– 16 bits, 48 kHz (default settings) (possible predefined sampling frequency are 44.1, 32, 24 ,16, 8 kHz).

Use McBSP 2 for data interface. Use McBSP 1 in SPI mode to control interface.

Page 55: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

DSK5510 Hardware Resources

Analog Interface Input

Analog Interface Output DAC outputs are send to both outputs : line and Speaker

through an internal audio power amplifier for this one.

Page 56: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

DSK5510 Audio Tutorial Write a program that takes input sample from ADC and write back them to the

DAC. Create a new project, then add this configuration file audioIO.cdb (which

configure McBSP 1 and 2), the shape of main could be this one :

Page 57: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Further Activities

Application 1 for the TMS320C5510 DSK: The first in a series of applications to show practical

applications of Digital Signal Processing (DSP) with the TMS320C5510 DSK.

Template for an audio project. Sets up the audio codec, the 4 user switches to control the program and the 4 LEDs to act as a bargraph display. This project template can be used as the starting point for new projects.

Page 58: C5510_SoftwareTools

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.