This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

C6748 LCDK Connection Problems

Other Parts Discussed in Thread: OMAP-L138

Hi there,

I have searched through many threads and wikis for the solution to my problem and I think that this thread is the most relevant place for me to comment on, so my apologies if I have missed the information I was looking for.

I recently purchased a C6748 LCDK for use with my honours thesis. I got the demonstration programs operating quickly, confirming that the serial port is configured correctly.

My application required me to pass audio from the audio input to output and I found an audio example intended for the C6748 EVM that seemed to be a very useful template.

I am using CCSv5 and set up the target configuration using the LCDK gel supplied on the wiki.

When I try to connect I get the following error:

ICEPICK_C: Error connecting to the target: (Error -151 @ 0x0) One of the FTDI driver functions used during the connect returned bad status or an error. The cause may one or more of: invalid emulator serial number, blank emulator EEPROM, missing FTDI drivers, faulty USB cable. Use the xds100serial command-line utility in the 'common/uscif' folder to verify the emulator can be located. (Emulation package 5.0.747.0) 

I noted in other threads that there is no onboard emulation for the LCDK. Can you please confirm this?

Are you able to direct me to any other examples that might suit my requirements?

I would appreciate any advice you can provide.

Regards,

Ed.

  • Edward, The C6748 LCDK does not have onboard JTAG emulation. To connect to Code Composer Studio running on a PC, you'll need to get a separate JTAG emulator. The relatively inexpensive XDS100 emulators lack the speed and features of the more expensive XDS560 but work okay.

    You might find some of the example (audio) programs in the following textbook useful. The book was written for the LogicPD eXperimenter OMAP-L138/C6748 development board but the example programs have been ported to run on the OMAP-L138/C6748 LCDKs. (These words are from a readme file on the ftp site accompanying the book.)

    The textbook  “Digital Signal Processing and Applications with the OMAP-L138 eXperimenter”  (ISBN 978047093686) is compatible not only with the LogicPD OMAP-L138 eXperimenter but also with both the OMAP-L138 LCDK and the C6748 LCDK.

    Code for the examples described in the text may be downloaded from the ftp site that accompanies the text

    a)      for the eXperimenter using Code Composer Studio version 4 (the version used during the writing of the text)

    b)      for the eXperimenter using Code Composer Studio version 5

    c)      for the LCDK (OMAP-L138 or C6748) using Code Composer Studio version 5

    The inexpensive LCDKs do not have onboard JTAG emulation (the preferred method of connection to Code Composer Studio running on a PC) and therefore to use them as described in the text requires the use of an external JTAG emulator. The program examples (as provided on the ftp site) have been tested using an inexpensive Spectrum Digital XDS100v2 USB JTAG emulator to connect between Code Composer Studio version 5 running on a PC and the LCDK. The use of alternative JTAG emulators should be straightforward.

    Differences between the LCDK and eXperimenter implementations:

    The main differences between the two implementations, that will be apparent to the user of the program examples in the text, are that

    a)      DIP switches #5 thru #8 on the LCDK are used in place of user DIP switches #1 thru #4 on the eXperimenter.

    b)      The LCDK provides a 3.5mm jack socket connected to the MIC input on the AIC3106 codec and hence an inexpensive PC microphone (as opposed to a slightly more expensive dynamic microphone) may be connected to the MIC input socket on the LCDK.

    There are differences between the two boards regarding the type of external memory used and the connections between the processor and the AIC3106 codec, but in the context of the program examples these differences are hidden from the user.

    Installing the LCDK files and using the book

    The book may be used with either the LCDK or the eXperimenter. Clearly the photograph, and detailed description, of the eXperimenter in Chapter 1 are not applicable to the LCDK. However, the program example source files for the LCDK are only very slightly changed from those for the eXperimenter in a way (described below) that leaves the program listings and descriptions in the book suitable for use with the LCDK.

    Instead of copying the files provided for the eXperimenter so as to create a folder c:\eXperimenter, simply copy the files provided for the LCDK so as to create a folder c:\LCDK, and when launching Code Composer Studio choose workspaces from that folder, e.g. c:\LCDK\L138_chapter2. Installation of Code Composer Studio, the LogicPD board support library (BSL), and DSPLIB should be carried out exactly as described in the book. A small number of functions from the LogicPD BSL that are compatible with the LCDK are used by the program examples provided (although there is currently no BSL written specifically for the LCDK).

    Support files for the LCDK

    The differences between the files used for the LCDK and those supplied for the eXperimenter are contained primarily in the support files in folder c:\LCDK\L138_support. The example program source files are very close to those provided for the eXperimenter and therefore the LCDK may quite readily be used with the book.

    The files contained in folder c:\LCDK\L138_support are

    a)      linker_dsp.cmd  This is identical to the similarly named file supplied for the eXperimenter.

    b)      vectors_intr.asm  This is identical to the similarly named file supplied for the eXperimenter.

    c)      vectors_poll.asm  This is identical to the similarly named file supplied for the eXperimenter.

    d)     OMAP-L138_LCDK.GEL This was downloaded from the  LCDK User Guide wiki page http://processors.wiki.ti.com/index.php/LCDK_User_Guide

    e)      L138_eXperimenter_v2.ccxml This target configuration file is suitable for use with the inexpensive Spectrum Digital XDS100v2 USB JTAG emulator. Other JTAG emulators could be used with the LCDK but would require their own target configuration files. L138_eXperimenter_v2.ccxml uses GEL file OMAP-L138_LCDK.GEL  that may be downloaded from the LCDK User Guide wiki page http://processors.wiki.ti.com/index.php/LCDK_User_Guide.

    f)       L138_LCDK_aic3106_init.h This, and the following file have been modified to account for the slight hardware differences between the LCDK and eXperimenter.

    g)      L138_LCDK_aic3106_init.c

    h)      L138_LCDK_aic3106_init_triple.c This support file is used only for the triple-buffered EDMA example in Chapter 2 that is described further on in this document.

    Using the MIC input on the LCDK

    Functions L138_initialise_poll(), L138_initialise_intr(), and L138_initialise_edma() have been defined differently in file L138_LCDK_aic3106_init.c. (compared to their original definitions in file L138_aic3106_init.c). The modified functions give the user the choice of using either the MIC or the LINE input on the LCDK. This is achieved using a fourth parameter passed to the aforementioned functions. Constants LCDK_LINE_INPUT and LCDK_MIC_INPUT are defined in file L138_LCDK_aic3106_init.h and may be used to select one or other of the inputs, for example, in the following way

    L138_initialise_edma(FS_48000_HZ,ADC_GAIN_0DB,DAC_GAIN_0DB,LCDK_MIC_INPUT);

    Programs L138_delay_intr.c and L138_echo_intr.c in Chapter 2 use the MIC input by default but other programs may be adapted to use MIC, as opposed to LINE input.

    Extra program examples for the LCDK

    Some extra (compared to those supplied for the eXperimenter) program examples have been added.

    1)      L138_loop_poll_PGA.c is provided in folder c:\LCDK\L138_chapter2\L138_loop_poll as an alternative to program L138_loop_poll.c, and may be used by excluding source file L138_loop_poll.c from the project build and including source file L138_loop_poll_PGA.c.

    This program demonstrates the connection of the PGA output to the AIC3106 output, bypassing the digital section of the codec. The bandwidth of this analog signal path is greater than 48 kHz and this is independent of the value of the parameter fs passed to function L138_initialise_poll(). The parameter adc_gain still has an effect but dac_atten does not (see the AIC3106 datasheet, and Figure 2.3 on page 40 of the book).

    This program may be used with the eXperimenter if copied into folder eXperimenter\L138_chapter2\L138_loop_poll and the line

    #include “L138_LCDK_aic3106_init.h”

    is replaced by the line

    #include “L138_aic3106_init.h”

    and the line L138_initialise_edma(FS_48000_HZ,ADC_GAIN_0DB,DAC_GAIN_0DB,LCDK_LINE_INPUT);

    is replaced by the line

    L138_initialise_edma(FS_48000_HZ,ADC_GAIN_0DB,DAC_GAIN_0DB);

     

    2)      L138_loop_edma_triple.c is provided in folder LCDK\L138_chapter2\L138_loop_edma as an alternative to program L138_loop_edma.c. It is a straightforward talk-thru program using DMA-based i/o but EDMA3 has been configured to implement a triple buffering scheme instead of ping-pong buffering. In order to run the program it is necessary to use the support files L138_LCDK_aic3106_init_triple.c and L138_LCDK_aic3106_init_triple.h in place of files L138_LCDK_aic3106_init.c and L138_LCDK_aic3106_init.h since these provide the definition of a modified function EDMA3_PaRAM_setup().

    Two more linked PaRAM sets are used to set up the triple-buffered, as opposed to ping-pong, i/o scheme, but one less buffer is required.

    When program L138_loop_edma_triple() is halted, the DMA process continues to pass data from input to output without CPU intervention.

    The triple buffering scheme used here could be used with any of the program examples in the book that use DMA-based i/o, with only minor changes to those programs.

     

    3)      L138_firdelta_intr.c is provided in folder LCDK\L138_chapter3\L138_firprn_intr as an alternative to program L138_firprn_intr.c. Instead of reading input samples from the function prbs(), it reads input samples from an array initialised to contain a Kronecker delta, or unit impulse, sequence. Once the contents of the array have been read, the sequence is repeated. Correspondingly, the output from this program represents the impulse response of the FIR filter implemented, repeated at intervals of 32 milliseconds. In order to see this clearly using an oscilloscope, it may be necessary to alter the value of the constant AMPLITUDE, depending on the FIR filter coefficients used.

     

    Regards,

     

    Donald

  • Thank you Donald for such a clear and detailed answer!!!

    I will purchase a Spectrum Digital XDS100v2 USB JTAG emulator and try to work with your recommendations.


    Thanks again,


    Edward 

  • Hi Mukul,

    Your answer was beautifully written and explains a lot of file needed to build a project.  Recently I got a board myself L138/C6748 Dev kit and also got an XDS100v2.  I was also able to download some examples and info slides from:

    http://processors.wiki.ti.com/index.php/EricScottVideos#Online_Video_Training_on_TI.27s_latest_IDE_.28CCSv5.29_and_RTOS_.28SYS.2FBIOS.29_plus_C6000_Architecture_and_Optimization_Topics

    I have been trying to run first project which is a audio project where input audio (Line in) is directed to output (Line out).  My project compiles/links and starts as well but I do not hear the output sound.  Now I know the project is running because as soon as I run my project my head phones go live from dead ( I hear something happening as compared to nothing at all.  I also hear very very very low sound but its as good as no sound.  Can you please give me a quick tip as to what is wrong with it.  Any help is appreciated.