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.

Need help with viewing printf log files with CCS V4

Other Parts Discussed in Thread: SPRC975

Hi - I am having problems viewing the printf logs using CCS V4.

I'm running CCS Version 4.0.1.01001, with DSP/BIOS 5.40.02.22.  Target hardware is a 6455 DSP, and a Spectrum Digital XDS560R USB emulator is being used.

The project I am running is the gforge EDMA3 LLD example #2, from <https://gforge.ti.com/gf/project/lld_examples/>

The Event Log Manager in the configuration specifies a printf log file in IRAM, called myLog.  This log is written to when the DMA operation is complete.

I can run the example without any problem, but I cannot view the log file. 

From what I can tell, I should be able to view the log file from the tools menu: Tools->RTA->Printf Logs.  However, those selctions are all disabled.  If I try the same menu option after I have run the example, the submenu for Tools->RTA does not appear, and I get an out of memory error for Eclipse, and it is recommended to shut down the IDE.

Any suggestions on how I can view these log files?  Please let me know if you need additional information.

Thank you.

  • I may have figured out this one myself.

    In poking around the IDE some more, it looks like I can view the logs by selecting Tools->ROV, which opens the RTSC Object Viewer.  I can then view the logs by opening the icons in the ROV window, and from there I can view the log files.

    Is this the proper method to view the logs, as opposed to the Tools->RTA?

  • I'm having the same problem. All the RTA options are grayed out. Can't select any even though the ROV view indicates I have a trace log.

    How does one enagle the RTA printf log?

    I also tried building a simple hello work project from scratch using BIOS 5.41.. Same problem:  RTA options are grayed out.

    I could see the hello world using the ROV. Is RTA not available for BIOS 5.41?

    Cheers

  • Hi Eddie,

    Which exact version of CCS are you using? And for which target are you running the example on?

    Thanks

    ki

  • Hi Ki

    CCSv4.1, evmC6474

    I don't know what I did, but the RTA started allowing me to select the LOG printf icon (and a few others but not all).

    I thought I was well on my way to see log_printfs() but no luck. Nothing shows up in the window, yet I can see the trace output if I use the Tools->ROV and then drill down to see the trace buffer.

    Is there something I have to do to connect the RTA display to the log_printf trace buffer?

    Thanks

  • Did you just run your application after load or are you stepping through?

  • Hi Ki

    I am setting a CCSv4 break point after the Log_printf() - in the same place where it worked for CCSv3. Then I tried setting a break point at the end of main. Same thing: nothing on RTA but the ROV showed the log output.

    Tried running and then stopping after 10 sec. Still no RTA.

    Cheers

     

     

  • With my simple hello world BIOS example, in v4, I only get Log_printf() output in the printf logs view after it exits main and drops into the idle loop for a bit. I'm not sure if that is expected behavior or not...

  • Hi Ki

    Yup, works for me too. I even added a task and the LOG_print show up in the RTA Printf Logs window.

    I'm stumped as to why that *&^&$  MQT example is not behaving properly. Its been almost a week trying to get that thing to run!

    Would the .printf remark output by the MQT smmqttest_64P build have something to do with it?

    "C:/Program Files/Texas Instruments/C6000 Code Generation Tools 6.1.13/bin/cl6x" -@ccsLinker.opt -o "../debug/smmqttest_64P.out"
    <Linking>
    "./smmqttest_64Pcfg.cmd", line 389: remark: object ".printf" is not allocated,
       but is being placed as part of allocated object "GROUP_1"

    Cheers

  • Hi

    Mar 2, 2010 UPDATE: I was only able to get log_printf() for both cores to output only ONCE. I have not been able to repeat it. I can only get Printf Log output on core 1A. Hence there is not a solution for this problem. (I added this because I can't undo the "answer verified by David").

    I finally got some Printf Logs output on CCSv4. I'm not sure what did it, but after I upgraded to

    • CSL sprc975.zip,
    • xdctools 3.16.03.36 and (was 3.16.2.32)
    • CCS 4.1.1.00014, (was CCS 4.1.0)

    In the smmqttest.c example, I was able to get Printf Logs on cores 1B (you are supposed to start core 1B last according to aprab09.pdf Sec 15). Then I selected core 1A and nothing showed. I noticed a button on Printf Log that was for "Stream RTA data". I deselected this button and then selected it. Guess what happened.....I got log_printf()s for core 1A.

    So the lesson learned here is that printf logs will display the core I have selected when I hit the run button (I'm sure it didn't even do this from smmqttest.c before the upgrade).  But I had core 1A when I hit run and that didn't show the log_printf() on the Printf Log display. Why did it only show core 1B? Hmmm strange.

    Seems like CCSv4.1.1  or XDC or earlier has a bug, or there is some hidden debug option that I've yet to find in the CCSv4 labyrinth.

    One should be able to connect the Printf Log() prior to running a core so that one can capture all the events. True?

    Come to think of it, maybe I'm not using the latest XDCTools. How do you change what version of XDCTools I want to build with?

    Cheers

     

  • I give up. Toggling the "Stream RTA data" only worked for me once. I cannot figure out how to get log_printfs() out for core 1B. Who knows, maybe the next time core 1A won't work.

    Arg.

     

  • An important detail here is that in CCS 4, BIOS 5 RTA does not currently support "stop mode", where the target is halted and RTA reads memory to display all of the latest records. It only supports "run mode", where records are transferred over RTDX while the target is running.

    So, in order to see any records, the target needs to run and reach the idle loop, where the target reads the records and pushes them out over RTDX.

    CCS 3 did support stop mode, and so does BIOS 6 RTA in CCS 4.

    For now, as GeoK suggested, you can halt the target and view any records currently sitting on the target by using ROV, under tools->ROV, looking at the 'LOG' view. These records won't appear in RTA, though, until the target is run and pushes them to the host.

    Hopefully that clears up some of the confusion here.

    Thanks,

    Chris

  • Chris McCormick said:

    An important detail here is that in CCS 4, BIOS 5 RTA does not currently support "stop mode", where the target is halted and RTA reads memory to display all of the latest records. It only supports "run mode", where records are transferred over RTDX while the target is running.

    So, in order to see any records, the target needs to run and reach the idle loop, where the target reads the records and pushes them out over RTDX.

    CCS 3 did support stop mode, and so does BIOS 6 RTA in CCS 4.

    For now, as GeoK suggested, you can halt the target and view any records currently sitting on the target by using ROV, under tools->ROV, looking at the 'LOG' view. These records won't appear in RTA, though, until the target is run and pushes them to the host.

    Hopefully that clears up some of the confusion here.

    Thanks,

    Chris

  • Hi Chris,

    Since it looks like that it is more practicle so far to use ROV to view the LOG_printf in CCSv4 here enhancement requests regarding ROV:

    - In CCS3.30 I have seen that  in KOV the TSK state is displayed all the time even if you are out of the application context (for example if you have hit a BP at the IDL_loop). In CCSv4 if you are stopped at the IDL_loop BP then the TSK state is shown as unknow which does not give much information on what the scheduler will do next.

    - Each time you reload the ROV tree closes itself. May be there is a way to freeze the tree but I have not found it. If it is not yet possibleit would be useful to freeze the ROV tree.

    - Additionnally I would love to see simultenously the ROV LOG_printf and the ROV TSK without to have to change of tabs.

     

    Thanks and BR,

    A.