C5510_SoftwareTools

Preview:

Citation preview

DSP C5000

Chapter 4

Software Development Tools

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

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Code Composer Studio

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.

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.

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

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

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

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

}

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.

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

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

How to Create a Project under CCS

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Building the Project

Sum.asmSum.cmd

Sum.asmSum.cmd

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Project Options

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Project Build

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

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Memory and Register Display

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

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Visual Linker 1 of 2

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Visual Linker 2 of 2

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Dynamic Graph Display 1 of 3

- Probe Point Insertion

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

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Dynamic Graph Display 3 of 3

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

DSK5416

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

DSK5416 Block Diagram

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

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.

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.

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.

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

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

DSK5416 Default Memory Map

Check memory from CCS

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.

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 »

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)

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

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

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 …

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Tutorial : LedSwitch 6 of 6

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.

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.

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 :

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

DSK 5510

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

DSK 5510 Block Diagram

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

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

DSK 5510 Memory Resources

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

DSK 5510 Default Memory Map

Check memory from CCS

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.

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 »

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)

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

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

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 …

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.

Tutorial : LedSwitch 6 of 6

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.

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.

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 :

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.

Copyright © 2003 Texas Instruments. All rights reserved.

Copyright © 2003 Texas Instruments. All rights reserved.