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.

Can LoggerSM (multi-core) and real-time analysis co-exist?

Other Parts Discussed in Thread: CCSTUDIO

Hello,

I'm using LoggerSM to send Log_print messages from the DSP to the ARM host. I am writing the C674x DSP code for a DM816x.  We're using sysbios 6.32.05.54, and CCS 5.1.0.09000.

For LoggerSM the following config file setting is needed:

LoggingSetup.eventUploadMode = LoggingSetup.UploadMode_NONJTAGTRANSPORT;

For JTAG real-time analysis such as ROV, this config file setting is needed:

LoggingSetup.eventUploadMode = LoggingSetup.UploadMode_JTAGSTOPMODE;

Is this correct? This means that I need to re-build with the appropriate config file setting to either see LoggerSM logging, or to be able to do thorough JTAG debugging. Is there a way to have both? It takes a long time to rebuild when the project config file changes.

Thanks,
Annie

  • Hi Annie,

    ROV is completely independent of logging. It is always present (assuming you are connected to the target with CCS since it requires the target to be halted).

    How are you wanting to get your log data from the C674x? Via prints on the Arm? Via CCS System Analyzer (if so, via Ethernet or JTAG stopmode)?

    Todd

  • Hello Todd,

    The log data is sent to the Arm using the LoggerSM setup. It is visible when "logcat" is run in the serial port connected to the Arm. I had some issues with getting this configured which are described in these posts:

    http://e2e.ti.com/support/embedded/bios/f/355/p/195224/697341.aspx#697341

    http://e2e.ti.com/support/embedded/bios/f/355/p/195816/699991.aspx#699991

    I am using CCS and JTAG to connect to the target. If I have the setting which is required for LoggerSM to work (LoggingSetup.eventUploadMode = LoggingSetup.UploadMode_NONJTAGTRANSPORT;) and then I connect to the target using JTAG, the System Analyzer window in the CCS session says this:

    System Analyzer Welcome: Your system is not configured to upload events…

    and ROV does not work. I can still use JTAG to set up breakpoints etc but I can't get the analysis tools to work.

    Thanks,
    Annie

  • Hi Annie,

    Let's look at ROV first...I'm assuming you are having the Arm load the DSP. For ROV to work, CCS has to know about the image loaded, so you have to do a "load symbols" in CCS. Did you do this? What is being shown in the ROV window.

    Todd

  • Hi Todd,

    OK, this is embarassing. It is not ROV that is a problem, it is the options under RTA.

    I have tried again after connecting JTAG and loading symbols. In the ROV window, I see options such as Swi and Task in the left-hand pane. If I click on Task I see the tasks which I expect to see under the "Basic" tab. The DSP is currently suspended while I look at this.

    If I open Exec Graph, Exec Graph Data or CPU Load they are all empty. Exec Graph shows two axes but no graph. Exec Graph Data has several columns but no data. I am going to do a build now with LoggingSetup.eventUploadMode = LoggingSetup.UploadMode_JTAGSTOPMODE; to confirm that there is something in these displays when I use that option.

    Thanks,
    Annie

  • Hi Annie,

    Just to make sure everyone is on the same page: once you build and run with LoggingSetup.UploadMode_JTAGSTOPMODE, you are going halt the target, load symbols and then open System Analyzer (not RTA)...correct?

    Todd

  • Hi Todd,

    I built and ran with LoggingSetup.UploadMode_JTAGSTOPMODE, then halted the target and loaded symbols.

    Now the System Analyzer window says "Your system is configured to upload events when the target halts using JTAG."

    On the bar right at the bottom of the screen it says "Drawing CPU Load" however when I open the CPU Load window I do not see any data. Similarly for Exec Graph and Exec Graph Data (no data).

    I also noticed the "Drawing CPU Load" message while loading the target configuration which was slower than before.

    Annie.

  • If I select Tools - System Analyzer - Live, and then run the processor then suspend it, I see a lot of data in the System Analyzer window.

  • Hi Annie,

    Do you get any events in the "Live Session: Logs"? Can you resume and halt again? Do events get populated then? Which UIA version are you using?

    Todd

  • Hi Todd,

    I think the data I'm seeing is considered the Live Session: Logs. If I click on the Clear Log View option it disappears and then if I run and suspend again it is populated. It includes items such as Time Master Message Event EventClass...

    I am using UIA version:  C:\CCStudio_v5.1\uia_1_00_03_25

    Thanks,
    Annie

  • Hi Annie,

    There was a small bug in the version of CCS you are using. When using stopmode, the events are not read from the target if you are halted and you start System Analyzer. Once you run and halt again it works (which is what you are seeing).

    So it sounds like everything is working as expected...correct?

    Todd

  • Hi Todd,

    Everything works w.r.t. System Analysis when I have this setting in my .cfg file: LoggingSetup.eventUploadMode = LoggingSetup.UploadMode_JTAGSTOPMODE;

    However with that setting I cannot use the multi-core LoggerSM. The messages just don't get sent to the ARM. I have to use this setting in my .cfg file: LoggingSetup.eventUploadMode = LoggingSetup.UploadMode_NONJTAGTRANSPORT;

    So I have to choose between logging or system analysis. I'd like to be able to have both.

    Thanks,
    Annie

  • Hi Annie,

    Can you attach your .cfg file? I expect that you have LoggerCircBuf.statusLogger still being set in the config. You need to change this to LoggerStopmode.statusLogger. Basically when you select stopmode, you are using LoggerStopmode instead of LoggerCircBuf, so you need to change the statusLogger set up accordingly.

    Todd

  • Hi Todd,

    I am attaching my .cfg file.

    Thanks,
    Annie.

    0310.myCfg.cfg

  • Hi Annie,

    It is what I thought. If you use JTAGSTOPMODE, you need to setup LoggerStopMode's status logger. So change the "LoggerCircBuf" to "LoggerStopMode" in the below code from your .cfg file.

    LoggerCircBuf = xdc.useModule('ti.uia.runtime.LoggerCircBuf');
    LoggerCircBuf.statusLogger = statusLogger;
    LoggerCircBuf.filterByLevel = true;
    LoggerCircBuf.moduleToRouteToStatusLogger = "xdc.runtime.Main";

    Todd

  • Hi Todd,

    With your suggested changes I can now see LoggerSM logging and use system analyzer with the same build. Thank you!

    Regards,
    Annie