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.

Out of memory issue using code composer v4 and OMAP L137 EVM

Other Parts Discussed in Thread: OMAP-L137

I am using code composer 4.2 with OMAP-L137 EVM.  I have a sample DSPLink application running on the board, and I try to connect to it in Code Composer 4, load the symbols, and debug.

All of that seems to be working well.

However, I cannot get to the RTA menu (it shows up with no text in it) and when I try to do this, Code Composer gives me out of memory.  I have bumped up the memory settings to 1024mb (Xmx=1024mb) but still get the same results.

Steps to re-create:

1) Modify dsplink example message to pause with infinite loop.

2) Build, copy to evm, and PC.

3) Run gpp message program on EVM to get it started.

4) Run code composer 4, launch ti debugger.

5) Load the symbols from message.out

5) Try to access RTA menu to bring up printf window.

6) CCSv4 Crashes w/ out of memory error.

  • Please take a look at this post which talks about a similar issue, the user there was able to resolve by enabling RTA as desribed in this page:
    http://processors.wiki.ti.com/index.php/DSP/BIOS_Real-time_Analysis_%28RTA%29_troubleshooting

    Could you check this page and see if it helps you resolve the issue?

  • I'm still scratching my head.  The provided URL is related to ccs v3 (or less).  How do I enable RTA on CCS v4?   It seems the guy in the post figured it out from that article, but I sure as heck can't.  I've looked around in CCS v4 to see if I see anything like those options, but no luck so far (I do see the RTA control panel in the menu, but it's disabled.)

     

    Thanks,

    Chris

  • Chris,

    Which version of BIOS was the application built with? FYI, this page shows the state of BIOS support in CCS4. As you can see most RTA capabilities are not supported with BIOS 5.2x or 5.3x.

    I'll also move your post to the DSP/BIOS forum so the experts there can comment further.

  • Hi Chris,

    Does CCS crash after you've clicked on 'Printf Logs', or does it crash while populating the menu before you've even had a chance to click on 'Printf Logs'? It's sounds like you're experiencing the latter.

    When you hover your mouse over the Tools -> RTA menu, RTA actually does some initialization to determine whether your application is supported by RTA. Part of this initialization involves parsing the .out file to construct a string reader. It's conceivable that this could crash if the parser ran into a problem, or perhaps even if your .out file contains a very large number of strings or something.

    Can you message me with your .out file and we can take a look? I'll also need a file from your project that has the extension .rta.xml. It should be buried down in the 'configPkg' of your project; I'd recommend just searching your project for *.rta.xml.

    Thanks,

    Chris

  • When you ask me to message you, do you mean to make another post, or is there a private way to send you a copy of my out file?

    Here's the steps I've currently taken:

    1) I make changes to the dsp side of the message application, per this URL: http://processors.wiki.ti.com/index.php/Debugging_the_DSP_side_of_a_DSPLink_application_on_OMAP-L137_using_CCS

    2) I download the loop.out to my PC (and to the EVM)

    3) I run the gpp app on the EVM, which loads the loop.out file in to memory.  THe infinate loop should keep it spinning.

    4) I open CCSv4.

    5) In the C/C++ perspective I select "Target configurations."

    6) I open my user defined target configuration for omapl137

    7) I right click on it and say "Launch selected configuration"

    8) I right click on the DSP in the debug window and select connect.

    9) I wait until things settle, then I select the "Spectrum Digital XDS510USB Emulator_0/C675X_0 [Non-Project Debug Session] entry, then I click Connect target.

    10) NB: It spits some stuff out about gel output: Should it be doing that?   The old instructions had me remove gel files.   Is there a way to do that here?  Should I do that here?

    11) I then click Target -> Load Symbols, select my program and go.

    I then get a bunch of errors  in the "error log"  The platform runs out of memory and it fails to load symbols.  Eclipse hangs, I have to tell windows to kill it.

     

    Thanks,
    Chris

  • To further augment my last post, I think my current problem may be in loading the .out file.  This .out is made with DSPBios 5.41 and DSPLink 1.65.   I upgraded because of some statements saying CCS wasn't too compatible with the SDK's versions of these APIs.  When I load the .out file, it pauses for a second or two, but then opens the Error.logs and I see out of memory messages and something about not being able to load the application.

    Are these log files stored anywhere I can grab them?  (I'm looking, but thought I'd ask since I was clarifying anyway....)

    Thanks,

    Chris

  • So you were previously able to load your application successfully, but it would crash when you tried to launch RTA?

    And now CCS is crashing just while trying to load your .out file?

    Can you include a screenshot of the errors you're getting when it crashes?

    Thanks,

    Chris

  • Yes, sorry for the confusion.  When I first started, I used the version of BIOS (5.33) and DSPLink (1.61) that came with the EVM to build the app.   It *seemed* that I was able to pull up the application in CCSv4.2, but when I tried to bring up the RTA menu, it would crash.

    Last week, I updated to BIOS 5.41 and DSPLink 1.65.  Now when I move to load symbols, eclipse crashes.   An "error log" pops up and I see out of memory messages.  Attached is a screenshot.

  • Chris,  You wrote:

    Can you message me with your .out file and we can take a look? I'll also need a file from your project that has the extension .rta.xml. It should be buried down in the 'configPkg' of your project; I'd recommend just searching your project for *.rta.xml.

    I am attaching the .out file.   I don't have an *.rta.xml file.  Since this is a dsplink application, I've built things on linux, and just copied up the message.out file.   I was under the impression this was the recommended way to do things. 

    The file was renamed loop.txt because the system doesn't allow loop.out

    Thanks,
    Chris

    4370.loop.txt

  • Ok, thanks for the screenshot. It looks like the problems are one in the same. In the screenshot, I see that you have a tab open on the right named 'Printf Logs'. This is RTA, so RTA is launching as soon as you try to load symbols for your app, and it's crashing (that message in the Error log is coming from the RTA plugin).

    If you close that tab, I think you should be able to load symbols successfully.

    We'll have to keep looking at this to determine why RTA is crashing, though. How big are the LOG buffers in your application? Have you changed their sizes in the configuration at all? Perhaps if you have a really large LOG buffer on the target, that could be causing this out of memory error.

    Thanks,

    Chris

  • You are correct, closing the printf screen kept it from closing.   I'm using the default settings in the loop project in DSPLink 1.65... in fact the only thing I've changed was to put a while loop in to halt the DSP.

    Here's the trace log settings from loop.tci:

    var trace = prog.module("LOG").create("trace");
    trace.bufLen = 32;

    Thanks,

    Chris

  • That should be "closing the printf tab kept eclipse from crashing."

    Thanks
    Chris

  • I showed your issue to some members of the CCS team, and they were concerned by the errors below the RTA ones.

    They suggested checking for orphaned CCS processes.

    First, I'd recommend hitting the big red 'x' in the Error log to clear out the existing errors.

    Then, close CCS and look for (and terminate) any instances of the following in the task manager:

    • Java.exe
    • Eclipse.exe
    • Ccs_app.exe

    Or, if it's not too much of a hassle, try rebooting your machine and starting fresh.

    If you get the same errors, please post another screenshot of the error log (ideally, double-click the 'Error Log' tab to make it occupy the whole screen), and we can go from there.

    Thanks,

    Chris

  • Chris,

    I rebooted, deleted the log entries, then went through my standard procedure.  Note that I had closed the printf window earlier, so generate this error I went to the Tools menu and browsed it.  Nothing popped up for RTA, empty menus popped up for some other items.  I clicked in the error log outside the menu to make the menu go away, and then got the errors.  I exported the error log and attached it below.

    Thanks,
    Chris5086.log-4-5-2011-1000.log

  • Thanks for the log, BIOS 5 RTA is definitely at the root of your problem here.

    I noticed a couple things from the error log and from your executable. In short, I think what's happening is that your application does not include RTDX support, and that you're using an older version of BIOS 5 which contains a bug relating to BIOS 5 applications without RTDX.

    I think you have two options:

    1. Add RTDX to your DSP application. To add RTDX to your application, you can follow the instructions here. The fact that the example does not have RTDX enabled in it already makes me a little nervous about recommending enabling it. But if you have a debug connection to the DSP, which it sounds like you do, I think it should work...

    2. Update to the latest BIOS 5.41 and use "stop mode" RTA (read about stop mode here), but note that the STS and CPU load graphs won't work without RTDX.

    Of course you could update to the latest BIOS 5 either way.

    Hopefully one of those two addresses your issue! Thanks for your patience, and let me know if you have any more issues or questions.

    Chris
  • Chris, I think it's working now! I added the following two lines to loop.tci: bios.enableRealTimeAnalysis(prog); bios.enableRtdx(prog); After doing this, I was to follow my procedure and open the printf window. I can see actually log data in the window. BTW: I'm running BIOS 5.41.10.36. I downloaded that and DSPlink 1.65.00.03 the other day in order to be more compatible with ccsv4. Thanks, Chris