+ All Categories
Home > Documents > DSP Lecture 03_1

DSP Lecture 03_1

Date post: 06-Sep-2015
Category:
Upload: sitaram1
View: 236 times
Download: 20 times
Share this document with a friend
Description:
DSP Lecture 03
Popular Tags:
62
Lecture 3 Code Composer Studio and the DSK6416
Transcript
  • Lecture 3Code Composer Studio and the DSK6416

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

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

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

  • Code Composer StudioThe 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.

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

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

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

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

  • CCS Installation and Setup(C)After Installation you should see the following icons:

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

  • CCS Installation and SetupYou 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.

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

  • CCS Installation and SetupYou 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.

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

  • CCS Installation and SetupFinally save and quit the import configuration dialog box.

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

  • 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 on-screen test indicators should turn green.

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

  • Testing Your Connection

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

  • CCS Setup - Simulator

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

  • CCS Setup - Simulator

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

  • CCS Setup - DSK

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

  • Using CCSStart CCS by either:Using the desktop icon:

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

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

  • TroubleshootingIf 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

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

  • Starting CCS

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

  • Connecting DSK Board to CCS Studio

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

  • Software: (1) DSK HelpDSK6416 help is available via the Help menu in CCS.

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

  • Software: (2) PC DSK CommunicationsDSPJTAGEmulationPortNote: You should not use the parallel port for simultaneous emulation and HPI connection.

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

  • Software: (3) PC DSK CommunicationsDSPJTAGEmulationPortNote: Limited data rate up to 2MB/Sec.

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

  • Software: (4) PC DSK Communicationsdsk6x_open( ) Open a connection to the DSKdsk6x_close( ) Close a connection to the DSKdsk6x_reset_board( ) Reset the entire DSK boarddsk6x_reset_dsp( ) Reset only the DSP on the DSKdsk6x_coff_load( ) Load a COFF image to DSP memorydsk6x_hpi_open( ) Open the HPI for the DSPdsk6x_hpi_close( ) Close the HPI for the DSPdsk6x_hpi_read( ) Read DSP memory via the HPIdsk6x_hpi_write( ) Write to DSP memory via the HPIdsk6x_generate_int( ) Generate a DSP interruptWin32 API functions for Host to DSK communications:

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

  • Software (5): Project ManagementIntuitive organizationDrag & dropFast accessEasy file manipulation

    Graphically configure build optionsSaved with each project

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

  • Software: Program Code Editing FeaturesCode 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 coloro Mark C blocks in parentheses and braces, parenthesis or brace matchingo File Find and replace, and quick searcho Context-sensitive helpo Custom key commands

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

  • Software: Edit and Build with CCS

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

  • Software: Debugger in CCSDebugging is optimized for DSPC expression based conditional breakpointsAdvanced breakpointsView source and dis-assembly simultaneouslyC and Assembly debuggingAdvanced Watch WindowMulti-processor debugGlobal breakpointsSynchronized control over groups

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

  • Software: What is DSP/BIOS?A scalable real-time kernel for applicationsReal-time scheduling and synchronizationHost-to-target communicationReal-time instrumentationDSP/BIOS providesPreemptive multi-threading, hardware abstraction, real-time analysis, and configuration toolsPackaged as a set of modules that can be linked into an applicationIntegrated with CCSTM, requires no runtime fees, and is fully supported by TISupports the TMS320C6000 DSP platformDSP/BIOS Users Guide SPRU303B.PDF

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

  • Software: eXpress DSP Support LibrariesChip Support Library (CSL)Board Support Library (BSL)DSK versionEVM versionDSPLIBC62x versionC64x versionImage/Video Library (IMGLIB)C62x versionC64x version

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

  • Software: Chip Support Library (CSL)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

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

  • Software: Chip Support Library (CSL)

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

  • Software: DSK Board Support Library (BSL)BSL is a set of APIs used to configure and control all on-board devicesTo 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

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

  • TMS320C6416 DSP Starter Kit (DSK)

    TheTMS320C6416 DSP Starter Kit (DSK) developed jointly withSpectrum 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

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

  • Kit Contents

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

  • TMS320C6416 DSK HardwareUSBCPUSupply +5V LEDsSwitchesMic InLine InHeadphonesExpansionJTAGCodecRAMLine OutSw3Reset

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

  • Typical C6416 DSK Setup

    USB to PCto +5VHeadphonesMicrophone

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

  • DSK6416 Block Diagram

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

  • TMS320C6416 DSP Starter Kit (DSK)'C6416 DSK Block DiagramDaughter CardRoomforExpansionSDRAM(16 MB)CE2CE3Flash ROM (512 kB)CPLDCE1CE0DSK uses both EMIFs (A and B)EMIFACE0 for SDRAMCE2 and CE3 pinned-out to daughter card connectorEMIFBCE1 for Flash Memory and CPLD (switches, LEDs, etc.)L2 RAMProg/Data(1 MB)CPUEMIFAEMIFBProgram CacheData CacheCE0

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

  • C6416 DSK Memory MapCPLD:LEDsDIP SwitchesDSK statusDSK rev#Daughter CardTMS320C6416C6416 DSK

    0000_0000Internal RAM: 1 MBInternal RAM: 1MB0010_0000Internal Peripherals or reservedInternal Peripherals or reserved6000_0000EMIFB CE0: 64 MB CPLD6400_0000EMIFB CE1: 64 MB Flash: 512 kB6800_0000EMIFB CE2: 64 MB 6C00_0000EMIFB CE3: 64 MB

    8000_0000EMIFA CE0: 256 MBSDRAM: 16 MB9000_0000EMIFA CE1: 256 MBA000_0000EMIFA CE2: 256 MBDaughter CardB000_0000EMIFA CE3: 256 MB

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

  • DSK6416 Block DiagramSwitch SW3

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

  • DSK6416 Block Diagram

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

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

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

  • Laboratory exercise: DSK Hardware SetupNotes: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)Remove the power and parallel cable from the DSK.(2)Reset your PC.(3)Reconnect the power and the parallel cable.(4)Invoke CCS.

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

  • Laboratory Exercise (hello64): Using CCSFirst ProjectHello World!#include 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.

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

  • Laboratory Exercise (dotp64): Using CCSImplement:

    with: ai = {40, 39, , 1}xi = {1, 2, , 40}(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.

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

  • Laboratory Exercise (dotp64): Using CCSNote: When you type in the Project Name a directory is created in the Location. Delete this if not required.

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

  • Laboratory Exercise (dotp64): Using CCS(3)Add files to the project (dotp.c, lnk.cmd, vectors.asm, rts6400.lib).

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

  • Laboratory Exercise (dotp64): Using CCS(4)Change the build options (compile and link):

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

  • Laboratory Exercise (dotp64): Using CCS(4)Change the build options (compile and link):

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

  • 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

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

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

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

  • Laboratory Exercise (dotp64): Using CCS(6)Load the output file dotp64.out into DSP memory:(b)Load the dotp64.out by selecting File:Load Program as shown below:

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

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

    (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 (dotp64): Using CCS(7)Debug and run code:(c) CCS will automatically add the local variables:

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

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

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

  • Laboratory Exercise (dotp64): Using CCS(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:

    (e)Stop the processor from running and watch the variable y:y = 0x2cdb or 11480

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

  • Laboratory Exercise (dotp64): Using CCS(8)Benchmarking and profiling code:(c)Expand the dotp.c as shown below:

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

  • Laboratory Exercise (dotp64): 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:

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

  • Laboratory Exercise (dotp64): Using CCS(8)Benchmarking and profiling code:(e)Run the program and examine the profile window:

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

  • ProfilingProfiling 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.

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

  • Laboratory Exercise (Lab1): Using CCSOpen Project: Lab1(Lab03\Project\Lab1\)RunUse Graphics

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

  • Laboratory Exercise (Lab1): Using CCSWatch Value its nice, butGraphic Display is better!

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

  • CCS and DSKCCS Overview: \Links\spru327c.pdf

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

  • Chapter 3Code Composer Studio and the DSK- End -

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


Recommended