Forums

TMS320C6713 Projects

Started by Sandukor 1 month ago28 replieslatest reply 2 weeks ago115 views

Good day all,

I am having some problems with my TMS320C6713 DSK Kit. I have the book "Digital Signal Processing and Applications with TMS320C6713" by Chassaing and I am trying to implement some of the programs. So far I have done the sinewave generation with dip switch control and also the loop_poll successfully. I am having problems implementing the loop_intr, i.e the loop programme with interrupts. My programme ran successfully without errors and all the files have been added to the project, however, when I download to the kit I am hearing nothing.

I am wondering if anyone has similar experience implementing the interrupt projects on their DSK starter kit could share their fix with me. 

By the way I am using CCS Studio Version 7.

Thanks.

[ - ]
Reply by jbrowerApril 26, 2020

Sandukor-

I did this Google search:

  c6713 DSK interrupt test program not working site:e2e.ti.com

I didn't see an exact answer but on this thread:

http://e2e.ti.com/support/legacy_forums/embedded/t...

if you scroll down, are some things to check, for instance if the correct IER bits are set.

-Jeff

[ - ]
Reply by SandukorApril 27, 2020

Thanks Jeff. I was looking at this but it didn't help. I will do some further checks.

[ - ]
Reply by jbrowerApril 27, 2020

Sandukor-

Wait not so fast. The point of that page is to show some debug techniques, not give an instant solution. I'm guessing your instructor wants to see that you are able and willing to debug.

The first thing you have to check is if interrupts are enabled.  Put in a breakpoint in main.c that stops before it calls any functions, then tell me which IER bits you have set.

-Jeff

[ - ]
Reply by SandukorApril 27, 2020

Thanks Jeff. I will try this later and report the outcome. 

[ - ]
Reply by SandukorMay 1, 2020

Hi Jeff,

I didn't do the break point, however it seems as if its the BIOS that I have a problem with. I downloaded and installed from TI website but I still haven't figured out how to configure just yet. I don't know if you can share some light on this. As indicated I am using CCS Studio 7.

[ - ]
Reply by jbrowerMay 3, 2020

Sandukor-

After doing that, do the other test programs still work ?  If not then back up to your original configuration.

Basically, if you got 2 test programs working, that's a stable system -- don't mess with it and don't introduce any new factors or variables. Just zero in on what's stopping the third test program.  That's why I was suggesting to start with IER bits and go from there.  It's actually a good situation, probably just something small and once you find it, you will be like "really, that's all it was ?"

-Jeff

[ - ]
Reply by SandukorMay 3, 2020

Thanks Jeff. The problem is with the BIOS. I installed it but now I am getting this error "[E0003] Invalid constant specification", not sure how to fix. It could be a configuration problem. Still checking. Where do I find the IER bits?

Sandukor

[ - ]
Reply by jbrowerMay 3, 2020

Sandukor-

Can you get back to your original situation ? I.e. 2 out of 3 test programs working ?  If so I can probably help some, but otherwise if it's a problem with CCS installation or version, I can't help.

6713 DSK is a very old board with old tools, if you got anything working on it you want to treat it as a "known good", stick with that, and just debug whatever simple problems come up.

-Jeff

[ - ]
Reply by SandukorMay 13, 2020

Good evening Jeff,


Great news I got CCS Studio 7 to work with my projects and the interrupt. Like you had said I wasn't configuring the hardware interrupt which was the problem. I will document and share with you.

Sandukor

[ - ]
Reply by bertramaertsApril 27, 2020

Hi,

I still have a 6713 DSK and just checked if Code Composer Studio on linux  supports it. But I found that all linux versions from v5 till v10 have as not supported DSP: C3x/C4x/C5x/C8x, C54x, C62x, C670x/C671x/C672x

https://software-dl.ti.com/ccs/esd/documents/ccs_l...

You say you are using CCS v7. Is that in Windows or Linux?

I also found a page about the 6713 DSK

https://processors.wiki.ti.com/index.php/C6713DSK_...

And apparently CCS 8.3.1 win32 is the most recent one that can be used:

https://e2e.ti.com/support/tools/ccs/f/81/t/787669...

Kind regards,

Bert


[ - ]
Reply by SandukorApril 27, 2020

Hi Bert,

I am using windows 8. Are you able to run interrupt programmes on your DSK?

[ - ]
Reply by bertramaertsApril 27, 2020

Hi,

I am currently installing CCS 8.3.1 win32 in VirtualBox 6.1.6 installed in host Ubuntu 20.04 with Windows 10 64bit as guest OS.

It will probably take me a few evenings before I will be able to test the interrupts, but I will report my findings here. Please be patient.

Kind regards,

Bert

[ - ]
Reply by SandukorApril 27, 2020

Bert, I realize I will have to approach slowly. Thanks alot for your input.

[ - ]
Reply by bertramaertsApril 28, 2020

Hi,

I think I need your help ...

I installed Windows XP as guest OS in VirtualBox 6.1.6 in host Ubuntu 20.04 and in XP I installed CCS_3.3.83.20_Platinum.zip after installing the DSK6713 from Spectrum Digital. I tried below steps:

  1. Download board support files from Spectrum Digital Website Includes Board Supprt Library, gel file and example tests. (Direct link)
  2. Unpack all files to C:\
  3. Download CSL form TI website
  4. Install it at C:\C6xCSL directory
  5. Set all of jumpers on SW3 and SW1 to OFF
  6. Connect USB then connect power
  7. Run 6713DSKDiag.exe from C:\DSK6713\drivers to check emulator connection

These are the prerequisites from https://processors.wiki.ti.com/index.php/C6713DSK_...

But I don't get the USB connection to the DSK active. The diagnostic tool fails in the very first step. But when plugging in the USB cable, Windows XP sees the 6713DSK and installed the Spectrum Digital driver for it.

What am I missing? I installed everything from the days the DSK was created: Windows XP and CCS 3.3 ...

Kind regards,

Bert

[ - ]
Reply by SandukorApril 28, 2020

Hi Bert,

I had that same problem for years actually since 2013. I tried the same thing you are trying now by installing XP using virtual box and my DSK could not connect using the USB connection. In fact I abandoned it all together until recently when I saw Addison Elliot's youtube video where he installed CCS studio 7 which connected to the DSK without any problems. I would suggest that you try this rather than installing the virtual box.

Regards,

Sandukor

[ - ]
Reply by bertramaertsApril 28, 2020

Hi Sandukor,

Thanks for the youtube reference. Very interesting! I followed all the steps from it using VirtualBox on host Ubuntu 20.04 with guest Windows 10 running CCS v8.3.1 that I installed earlier. I could build the example program with the led toggle as explained there.

But when I start debugging, I get:
TMS320C671X: Error initializing emulator

The problem most likely is that the Power On Self Test (post) is not ending with the 4 led's on, as described in this video. They blink in a few patterns but then remain off. I don't have a separate JTAG debugger and I think I won't be able to get the on board JTAG working ...

Kind regards,

Bert

[ - ]
Reply by bertramaertsMay 1, 2020

Post deleted by author

[ - ]
Reply by bertramaertsMay 1, 2020

Hi Sandukor,

I have a laptop running Ubuntu 20.04 and Windows 10 19.09. But I use it for 95% of the time in Linux and as explained before, I tried to install the DSK6713 in VirtualBox. Which did not work both Windows XP and Windows 10.

Just to be sure, I now installed CCS v8.3.1 in native Windows 10 and followed all the steps from the YouTube movie and document.

I was very surprised that I could download the test program, put a breakpoint, debug, ... So it all works.

The last days I even considered to buy a new DSK6713...
I got my DSK6713 from a colleague maybe in 2003. I don't remember I really used it and now I conclude that the POST program in the flash was overwritten with another porgram. Or maybe the POST program was different in the beginning, as I have a revision-A of the DSK6713.

So I am happy I have a working DSK6713. But I do not understand why it does not work via VirtualBox...

Kind regards,

Bert
[ - ]
Reply by SandukorMay 1, 2020

Hi Bert,

Yes, that was what I realize that the virtual box doesn't work. I believe my problem is with the BIOS. I didn't have the bios installed in CCS Studio. I downloaded it form TI website and run, however it seems as if need to configure. Still haven't worked this out yet.

Regards,

Sandukor

[ - ]
Reply by bertramaertsMay 1, 2020

Hi Sandukor,

I installed (native Windows 10 1909):

  • CCS8.3.1.00004_win32.zip (TI)
  • DSK6713.zip (spectrum digital) (for include and lib)
  • dsk6713revc_docs.zip (spectrum digital)
  • sprc090.zip (TI csl) (for include and lib)
  • xdais_7_24_00_04.tar.gz (TI)
  • xdctools_3_51_03_28_core_win32.zip (TI)
  • bios_setupwin32_5_42_02_10.exe (TI)

I also downloaded the source files from the book on the publisher's website C6713.zip .

Then I followed these steps to import the original project file:

  • "Project"/"import legacy CCSv3.3 projects"
  • go to C:\C6713\ and select C:\C6713\loop_buf\loop_buf.pjt
  • choose "copy projects into workspace"
    follow up compiler is for C6000 7.4.24
    automatically determine DSP/BIOSv5.x support enablement (not needed here)

I adapted the code as follows:

//loop_buf.c loop program with storage
#include "DSK6713_AIC23.h"                    // codec support
#include "dsk6713_led.h"

Uint32 fs=DSK6713_AIC23_FREQ_8KHZ;            //set sampling rate
#define DSK6713_AIC23_INPUT_MIC 0x0015
#define DSK6713_AIC23_INPUT_LINE 0x0011
Uint16 inputsource=DSK6713_AIC23_INPUT_MIC; // select input
#define BUFSIZE 512

#define BUF_SIZE 8000
int buffer[BUF_SIZE];
int i;

interrupt void c_int11()          // interrupt service routine
{
  int input,output,delayed;
  static int loop = 0;

  loop++;
  if (loop > 8000) {
      DSK6713_LED_toggle(0);
      loop = 0;
  }

  input = input_sample(); //read new input sample
  delayed = buffer[i]; //read output of delay line
  output = input + delayed; //output sum of new and delayed
  buffer[i] = input; //replace delayed sample with
  if(++i >= BUF_SIZE) i=0; //new input sample then increment
  output_sample(output); //buffer index

  return;
}

void main()
{
  for(i=0; i<BUF_SIZE; i++) {
    buffer[i] = 0;
  }
  i = 0;

  comm_intr();                    // init DSK, codec, McBSP
  DSK6713_LED_init();

  while(1);                       // infinite loop
}

The interrupts let the first LED flash one second on / one second off. The input is the microphone, the output is line out. Building succeeded first time right and it all works fine.

I am still struggling to make this project from scratch (like Addison Elliot in his movie did) and so far did not succeed.

I also tried to import the POST program from DSK6713.zip but it uses DSP/BIOS and I can't configure DSP/BIOS in v8.3.1.

To be continued.

Kind regards,

Bert

[ - ]
Reply by SandukorMay 1, 2020

Bert,

I followed this youtube video (https://www.youtube.com/watch?v=eCHhHIOujA0&t=634s) to install the BIOS, however, the project is not working yet. Still working on it. I will try your programme and see what the outcome is.

Regards,

Sandukor

[ - ]
Reply by bertramaertsMay 2, 2020

Hi Sandukor,

I found:
https://processors.wiki.ti.com/index.php/VMware_wi...

It states that the Spectrum Digital XDS510 JTAG debugger works in VMware (that is the same as the built-in debugger in the DSK6713). So today I installed VMware Player 15.5.2 (for free for private use i.e. non-commercial) again in Ubuntu 20.04 as host and Windows 10 as guest OS with the same toolset as I described being used in native Windows 10. And indeed it all works!

I really could not believe that hardware and software of 2020 could not work with hardware from 2003. So clearly VirtualBox is much less performant in handling the USB (timing wise) while VMware is fast enough.

Kind regards,

Bert

[ - ]
Reply by SandukorMay 2, 2020

I am getting this error "[E0003] Invalid constant specification" that i don't know how to fix. Don't know if you have ever experienced this one.


Sandukor

[ - ]
Reply by bertramaertsMay 6, 2020

Hi Sandukor,

I can't get the DSP/BIOS project POST from DSK6713.zip working in CCS v8.3.1 running in Windows 10, I get following cryptic error:

Building file: "../post.tcf"
Invoking: TConf
"C:/ti/bios_5_42_02_10/xdctools/tconf" -b -Dconfig.importPath="C:/ti/bios_5_42_02_10/packages;" "../post.tcf"
subdir_rules.mk:26: recipe for target 'build-1250277665-inproc' failed
js: Can't modify read-only field
js: Can't modify read-only field
gmake[1]: *** [build-1250277665-inproc] Error 1
subdir_rules.mk:23: recipe for target 'build-1250277665' failed
gmake: *** [build-1250277665] Error 2
gmake: Target 'all' not remade because of errors.

So I installed Windows XP SP3 in VMwarePlayer as guest on Ubuntu 20.04 as host, and installed

  • CCS_3.3.83.20_Platinum.zip from TI
  • setupCCSPlatinum_v30104C.ZIP from Spectrum Digital

This allowed me to run 6713DSKDiag.exe from C:\DSK6713\drivers to check emulator connection and run the POST program with result "PASS".

And I could open, build, load and run the DSP/BIOS project POST without any issues in CCS 3.3. So I now have a platform that is capable of running all of the examples from the Chassaing book.

That is more or less the environment that I used back in 2001 where I programmed the TMS320C6701 for Alcatel, I guess it was CCS v3.0 at that time.

Did you try my version of loop_buf given in an earlier post?

Kind regards,

Bert

[ - ]
Reply by SandukorMay 6, 2020

Yes I did and it didn't work. I am getting this same error like you are getting trying the bios in CCS studio 7.

I am happy you are able to get it working. Seems as if I will have to do like wise. Can this be done on windows 8?


[ - ]
Reply by bertramaertsMay 7, 2020

Hi Sandukor,

You could try to install CCS 3.3 in Windows 8. Not sure if it will work. Best to first uninstall the current CCS 7.

The best option seems to install VMwarePlayer in Windows 8 as host with Windows XP as guest. And install CCS 3.3 and Spectrum Digital driver in XP.

Kind regards,

Bert

[ - ]
Reply by SandukorMay 13, 2020

Good evening Bert,

I have some great news. I wasn't able to install VM ware, however I re-installed CCS Studio7 with ti_cgt_c6000_7.4.23 and reconfigured. It turned out that I did not set the hardware interrupt function in the tcf file which was the problem. All my programs are working now. 

I will have to document the process so that I can share with you and team here.


Really want to thank you and Jeff so so much for your input. CCS Studio is a better platform to work with. I will now try the other programs in the book.


Kind regards,

Sandukor 

[ - ]
Reply by SandukorMay 14, 2020

Can I attach a file to this blog?