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.

DSP BIOS Debugging

Guru 15580 points
Other Parts Discussed in Thread: CCSTUDIO, OMAP-L138, OMAPL138

 

I am running into stability problem with my DSP/BIOS project and suspect (among other things) a stack overflow issue.  I am trying to follow this Wiki:

http://processors.wiki.ti.com/index.php/DSP_BIOS_Debugging_Tips

But can't find the KOV or the menus described. Can someone point me in the right direction?

My CCS config is below.

thx

MikeH

================================================

Configured features:
  ID: com.xdais_6_25_01_08, Version: 6.25.01.08
  ID: com.blackhawkdsp.ccstudio.emulation, Version: 4.1.3.1
  ID: com.ti.ccstudio.emu.5.0.104.0, Version: 5.0.104.0
  ID: org.eclipse.cdt, Version: 3.1.0.vTI-201006291500
  ID: com.ti.dvt.rov, Version: 1.0.0.201007072025
  ID: com.ti.ccstudio.c5400, Version: 4.0.0.201006291500
  ID: com.ti.ccstudio.product, Version: 4.1.3.00034
  ID: com.ti.cgt.c5400.4.2, Version: 4.2.0
  ID: com.ti.ccstudio.tms470, Version: 4.0.0.201006291500
  ID: com.ti.dvt.ccstudio, Version: 1.0.0.201007072025
  ID: com.ti.ccstudio.c6000, Version: 4.0.0.201006291500
  ID: org.eclipse.tm.terminal, Version: 1.0.0.vTI-201006291500
  ID: org.eclipse.platform, Version: 3.2.0.vTI-201006291500
  ID: com.ti.ccstudio.c5500, Version: 4.0.0.201006291500
  ID: com.ti.cgt.c6000.6.1, Version: 6.1.15
  ID: com.ti.dvt.profileanalysismanager, Version: 1.0.0.201007072025
  ID: com.ti.dvt.via.ccs, Version: 1.0.0.201007072025
  ID: com.ti.dvt.trace.ccs, Version: 2.1.0.201007072025
  ID: com.ti.ccstudio.branding, Version: 4.0.0.201006291500
  ID: org.eclipse.rcp, Version: 3.2.0.vTI-201006291500
  ID: com.sd.ccstudio.emulation, Version: 4.1.1.6
  ID: com.ti.cgt.tms470.4.6, Version: 4.6.3
  ID: com.ti.ccstudio.rtsc, Version: 4.0.0.201006291500
  ID: com.ti.dvt.rta, Version: 1.0.0.201007072025
  ID: com.ti.dvt.graph.visualization, Version: 1.0.0.201007072025
  ID: com.ti.dvt.scripting.ui, Version: 4.0.0.201007072025
  ID: com.ti.dvt.core.ccstudio, Version: 1.0.0.201007072025
  ID: com.ti.cgt.c5500.4.3, Version: 4.3.6
  ID: org.eclipse.rtsc.xdctools.product, Version: 3.16.2.32
  ID: com.ti.bios_5.41.2.14, Version: 5.41.2.14
  ID: com.ti.bios_6.21.0.13, Version: 6.21.0.13
  ID: com.ti.ipc_1.0.5.60, Version: 1.0.5.60

  • ROV is the new KOV.  ROV for CCSv4.x.  KOV for CCSv3.x.

    ROV should be available via Tools menu in CCSv4.  The BIOS 5.4x User's Guide has some info on how to set up ROV if you have problems.

    -Karl-

  • Karl,

    Thanks, but I consistently get the following types of errors when trying to use ROV. Have I misconfigured something?

  • What device are you working on?

    Also, can you try opening a memory window and looking at one of those addresses mentioned in the errors, like 0x118146a4? Does this appear to be a valid memory location?

    Thanks,

    Chris

  • Can you put a b/p at main() and open ROV and make sure it is OK at that point?  If kernel data structures get corrupted, ROV will show errors like you see above.  

  • Device is OMAP-L138 in the Logic Experimenter board. The memory location is valid, so it appears that something is corrupt in the kernal structures. How do I fix this issue?

    Here are screen shots of the memory and ROV exception. These screen shots are taken with a break point at main().

  • What happens if you try Karl's suggestion of opening ROV at 'main'. Do you still get this error?

    Do all of the ROV views (TSK, SWI, HWI, etc.) give a similar error, or is it just SWI?

    Thanks,

    Chris

     

  • Chris McCormick said:

    What happens if you try Karl's suggestion of opening ROV at 'main'. Do you still get this error?

    MikeH said:

     These screen shots are taken with a break point at main().

    Chris McCormick said:

    Do all of the ROV views (TSK, SWI, HWI, etc.) give a similar error, or is it just SWI?

    All views give a similar error message.

    I have also tried to use ROV on BIOS 5.41.07.24 and 5.41.02.14 with similar results.

    It appears that the ROV code is corrupted. Is there some way to re-install just this portion of CCS?

  • Thanks for doing some legwork here for us, Mike.

    What's happening here is that when ROV initializes, it asks CCS for the list of valid data sections in the currently loaded program. It gets their base addresses and lengths, and every time it performs a memory read, it checks the read address against the list of valid data sections. It does this in order to catch memory reads of bogus addresses, which would indicate that some part of the state has been corrupted.

    What's unique about your situation, though, is that the memory address is clearly within a valid data section within your program. This implies that CCS somehow has incorrect information about the valid data sections in your program.

    I will do some digging to see if we've ever run into a problem like this; perhaps it's fixed in a more recent version of CCS. I may be wrong here, but it looks like you're using CCS 4.1.3.00.34, which doesn't appear to be one of the GA releases?

    Let me know if you can think of anything unique about your program's section map that could cause CCS to report the section information incorrectly.

    Thanks,

    Chris

  • I thought of something else we could try here. Can you try building one of the BIOS 5 examples, and seeing how ROV looks for it? If ROV has the same issue there, then we know something is fundamentally busted in your version of CCS. Otherwise, the issue is likely something unique about your app.

    Thanks,

    Chris

  • Chris,

    Chris McCormick said:
    Can you try building one of the BIOS 5 examples

    Can you give me some guidance here. The "examples" consist of only the .c files. I found .tcf files in device-specific subfolders, but after adding the OMAP-L138 .tcf file to my project, none of the BIOS objects are defined in the .tcf file (trace, sts0, prdLoad).

    I added each of these objects just to make the compile errors go away. I then started a debug session, started ROV and got the same errors as before with a slightly different address in RAM. But the OBJ_table *is* visible at the address in the memory window.

    Next?

    MikeH

     

     

  • I just built the 'semaphore' example with 4.1.3.00038 (BIOS 5.41.02.14) and ROV works fine for me.

     

    I've attached my project which should include pre-built .out file.   6136.rov413.zip.  I built and ran this on my OMAPL138 experimenter board.

    Can you try my .out file?  If that doesn't work for you, can you update to 4.1.3.00038?  Or 4.2?

    Regards,
    -Karl-

  • Karl,

    Same error.

    How do I upgrade.....easily?

    MikeH

     

  • Karl,

    Acutally, I had rebuilt your project, then debugged, then got the same error msg.

    However, when I attempt to simply launch TI debugger, connect, load *your* .out file, I get the following:

    Does this make any difference?

  • Press OK, and it will take you to the Window -> Preferences -> CCS -> RTSC dialog. Select an 'XDCtools version' from the drop down menu, and make sure that BIOS 5 is checked under 'Products and Repositories'.

    Then ROV should launch.

    Chris

  • Update to 4.2 should be easy.  You can install it in a separate directory and switch back and forth until you are comfortable with the switch over.

    I don't know how the license stuff works, but if you have a license for 4.1.x, I think you can update for free.  If you have any problems with license, you can post question to the CCS forum and someone there should be able to help you.

    http://processors.wiki.ti.com/index.php/Download_CCS

    Regards,
    -Karl-

  • OK. ROV launches.....with exactly the same error messages.

  • Karl,

    Karl Wechsler said:
    Update to 4.2 should be easy.  You can install it in a separate directory

    ...this sounds easy, but in my experience, when I install "in a seperate directory" none of my previous include paths work for any of the CCS tools (BIOS, LLD, etc.) I have 13 different include paths in my current project, all of which need to be changed if I install an updated CCS in a "seperate directory". Am I doing something wrong?

    Also, I have already tried 4.2 with not-so-positive results.......

    MikeH

  • Karl,

    OK. Tried 4.2 again and *all is working well*!! I guess there must have been something amiss with my off-rev version 4.1.3.0034. Everything appears more stable and ROV is working properly.

    Thanks!

    MikeH