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't enable RTA

Other Parts Discussed in Thread: DM3730, DM3725, TMS320DM6437

Hi,

Platform: C64+ DSP

CCS 4.2.4

BIOS 5.41

Emulator:  560V2 (without system trace)

I followed the instruction in:

http://processors.wiki.ti.com/index.php/DSP/BIOS_Real-time_Analysis_(RTA)_troubleshooting#Trace_must_be_enabled

Here are the last part of my TCF:

bios.GBL.ENABLEINST = 1;
bios.GBL.ENABLEALLTRC = 1;
bios.RTDX.ENABLERTDX = 1;
bios.HST.HOSTLINKTYPE = "RTDX";

bios.enableRealTimeAnalysis(prog);
bios.enableRtdx(prog);
prog.module("GBL").ENABLEALLTRC = true;

I only see the following figures, but no any data was reported during the DSP runing or after DSP is halted.

Thanks a lot for your help!

Tang

  • Hi Tang --

    Sorry for the slow response.   We are looking into this and will get back to you ASAP.

    -Karl-

  • Hi Tang,

    I'd like to get some more details on your setup. 

    What version of DSP/BIOS 5.41 are you using?  5.41.10.36?

    How are you connecting to the XDS560v2? USB or Ethernet?

    Which 64P platform are you using? i.e., evmDM6437?

    Thanks,

    -Jon

  • Hi, Jon

    Thanks for you reply!

    1: My DSP/BIOS version is: 5.41.7.24.

    2: I use USB to connect board.  However, my emulator doesn't support "system trace", I wonder if it will cause the issue?

    3: I use DM3725. We designed board oursleves. We also have DM3730 EVM boards from TI (http://www.ti.com/tool/tmdsevm3730), but not at my hand. If necessary, I would ask my colleagues to have a try.

     

    Thanks

     

    Jianbin Tang

  • Hi Jianbin,

    I would like to rule out any incompatibility with CCSv4.2.4 and DSP/BIOS 5.41.07.24.

    Is it possible for you to update to the following versions:

    DSP/BIOS 5.41.10.36

    http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/bios/dspbios/5_41_10_36/index_FDS.html

    XDCtools 3.22.01.21

    http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/rtsc/3_22_01_21/index_FDS.html

    These are the versions that shipped with the Full CCSv4.2.4 release.  I'm assuming you updated to 4.2.4 via the services releases from a previous version of CCSv4.x.

    The emulator not having "system trace" should not be an issue.

    Another approach would be to use the project wizard in CCSv4.2.4 to create the stairstep DSP/BIOS example for evmDM6437 and use the evmDM6437 simulator to confirm that RTA is working.  This would help to determine if it's an incompatibility or a configuration issue.

    Thanks,

    -Jon

  • Hi Jianbin,

    Did you try either of the suggestions above? 

    Are you still interested in trying to resolve this issue?

    Regards,

    -Jon

  • Dear Jon:

    Sorry for late response!

    My prj was initial built on CCS4.2.0. Later I upgrate the CCS to be 4.2.4. Hence I don't need install the package in your link right?

    I just need simply change the DSP/BIOS version in my prj and recompile again, right?

    About the the XDC tools, I don't know what is my current version, how to check it and how to change the setting?

    By the way, do I need change the code generation tools from v7.0.3 to v7.2.0? It is said the effective one is 7.2.0.

     

    Thanks!

  • Jianbin,

    From your screen shot it looks like you have an newer version of DSP/BIOS so let's try the following.

    In CCS under the "Window" option at the top of the window pane, select "Preferences" --> CCS --> RTSC

    Select the latest versions of XDCtools and DSP/BIOS.

    Select "apply"

    Select "ok" to close.

    Close any RTA or ROV windows under the "debug perspective" window (you can select this window in the upper right hand side of the CCS window).

    Return to the "C/C++ perspective" window.

    1. Rebuild your project after you have changed to the latest DSP/BIOS 5.41.10.36 version in build properties as you showed in your screen shot above, it will automatically use the latest XDCtools version.
    2. launch the debugger for you selected device
    3. load the program
    4. Open RTA option (i.e, raw logs, printf logs)
    5. Run the program

    Let me know if RTA is working after you have tried these steps and also what version of XDCtools you selected.

    Regards,

    -Jon

  • Hi, Jon:

    At the beginning, there are no XDCTools/DSPBIOS version was selected.

     

    Then I choose BIOS and XDC:

    I recompile and rerun the prj. But finally the phenomena is same as before. I did't see any report of RTA.
    If you need further info, or if there are any simple demo project run on the DM3725/3730, just let me know, I'll do it.
    Thanks a lot!

     

  • Hi Jianbin,

    I think we should confirm that RTA is working with a known good configuration.  Is it possible for you to try creating the stairstep example using the project wizard in CCS for the evmDM6437 platform and DSP/BIOS 5.41.10.36.  Then run it on the DM6437 Device Cycle Accurate Simulator, Little Endian to see if RTA works.  I can send you the steps how to do this if needed.

    Regards,

    -Jon

  • I followed the guide in:
    http://rtsc.eclipse.org/docs-tip/Real-Time_Analysis_Tools
    and
    http://rtsc.eclipse.org/docs-tip/RTSC%2BCCStudio_v4_QuickStart
    I built the hello.prj but still didn't see any CPU load.
    The hello.c is run correctly and "hello world" was printed out.
    For the platform, I choose simc64p which is same as demo. I don't know for my self-designed DM3725 board, which platform I should choose.

  • Jon

    I would appriciate that if you could send me the steps. Thanks a lot!

    Jianbin

  • Hi Jianbin,

    Please try the following steps.

    1. File --> New --> CCS project
    2. Give the project a name, i.e., evmDM6437_stairstep
    3. Project type on next page should be "C6000", leave the rest of options as default
    4. Click next on the addional project settings pane
    5. On the "Project settings" pane, select TMS320DM6437 from the "Device Variant:" drop down list 
    6. For Project Templates pane select "DSP/BIOS v5.xx Examples" and expand the tree, then expand the tree again for evmDM6437 Examples, select/highlight the "stairstep example".
    7. Click on the "finish" button
    8. You will have a new project, build this project and ensure there are no errors.
    9. From the top left of your CCS window, select "View --> Target Configurations"
    10. Right click on "User Defined" and select "New User Configuration"
    11. Name the configuration "evmDM6437_simulator" and click on the "finish" button
    12. This will leave a new tab in the window named "evmDM6437_simulator.ccxml
    13. For "Connection" select "Texas Instruments Simulator" using the drop down list.
    14. For the device you can type in the filter 6437, this should narrow the list down to two options, click the check box for --> "DM6437 Device Cycle Accurate Simulator, Little Endian"
    15. To the right in that same tab select "Save" under save configutation.
    16. Now in the Target configuration tab, select "User Defined" and expand the tree.
    17. You should see "evmDM6437_simulator.ccxml as one of the options, right click on it and click "Launch Selected Configuration"
    18. This should have caused a switch to the debug perspective view and the simulator debugger should now be loaded. 
    19. Select Target --> Load Program from the top of the screen menus.  A new window pane will pop up, select "browse project..."
    20. Click on the evmDM6437_stairstep.out and select ok and then ok again.  This should load the program into the simulator.
    21. Under "Window --> Preferences --> CCS --> RTSC" ensure that BIOS 5.41.10.36 and XDCtools 3.22.1.21 versions are still selected as you had them in the earlier screen shots you posted.  Close that window.
    22. Select "Tools --> RTA --> Raw Logs".  The "Raw Logs" view should have opened a tab.
    23. Note if there is any output in the log before you run the program. (see screen shot 1 below)
    24. Run the program for about 30 seconds and then halt.
    25. After it is run is there data in the "Raw Logs" view? (see screenshot 2 below)

    Regards,

    -Jon

  • If you get the following message when you run the example you can ignore it.  This warning is because we are on the simulator. RTA should still work.

    TMS320C64X+_0: Warning: CPU:Interrupt No. 4 dropped, an earlier interrupt is pending to be taken  


  • Hi, Jon:

     

    Here is prj I generated following your steps:

    7536.evmDM6437_stairstep.zip

    It is exactly for the first 19 steps, but:

    In step 20, when I loaded the .out it is said in red colour:

    TMS320C64+: RTDX: Not a valid RTDX program:  RTDX protocol (JTAG) does not match CCS setup (SIMULATOR)

    In step21, the default XDC version is 3.20.0.88, but I changed it to be 3.22.1.21

    At 22-25 steps, I get similar result as you shown. But during the running, there will be some warning like:
    TMS320C64+: Warning: CPU:Interrupt No. 4 dropped, an earlier interrupt is pending to be taken 
    TMS320C64+: Warning: CPU:Interrupt No. 4 dropped, an earlier interrupt is pending to be taken 
    TMS320C64+: Warning: CPU:Interrupt No. 4 dropped, an earlier interrupt is pending to be taken 
    TMS320C64+: Warning: CPU:Interrupt No. 4 dropped, an earlier interrupt is pending to be taken 
    TMS320C64+: Warning: CPU:Interrupt No. 4 dropped, an earlier interrupt is pending to be taken 
    TMS320C64+: Warning: CPU:Interrupt No. 4 dropped, an earlier interrupt is pending to be taken 
    TMS320C64+: Warning: CPU:Interrupt No. 4 dropped, an earlier interrupt is pending to be taken 
    TMS320C64+: Warning: CPU:Interrupt No. 4 dropped, an earlier interrupt is pending to be taken 
    TMS320C64+: Warning: CPU:Interrupt No. 4 dropped, an earlier interrupt is pending to be taken 
    TMS320C64+: Warning: CPU:Interrupt No. 4 dropped, an earlier interrupt is pending to be taken 
    TMS320C64+: Warning: CPU:Interrupt No. 4 dropped, an earlier interrupt is pending to be taken 
    TMS320C64+: Warning: CPU:Interrupt No. 4 dropped, an earlier interrupt is pending to be taken 
    TMS320C64+: Warning: CPU:Interrupt No. 4 dropped, an earlier interrupt is pending to be taken 
    TMS320C64+: Warning: CPU:Interrupt No. 4 dropped, an earlier interrupt is pending to be taken 
    TMS320C64+: Warning: CPU:Interrupt No. 4 dropped, an earlier interrupt is pending to be taken 
    TMS320C64+: Warning: CPU:Interrupt No. 4 dropped, an earlier interrupt is pending to be taken 
    TMS320C64+: Warning: CPU:Interrupt No. 4 dropped, an earlier interrupt is pending to be taken 
    TMS320C64+: Warning: CPU:Interrupt No. 4 dropped, an earlier interrupt is pending to be taken 
    TMS320C64+: Warning: CPU:Interrupt No. 4 dropped, an earlier interrupt is pending to be taken 

    And I didn't see anyting in CPU load and RTA control panel. Is everything correct till now?

    Jianbin

  • Hi Jianbin,

    Run the program again and open the RTA "Raw Logs" view and tell me if you see any data in that view.  I'll take a look at your project when I am at work tomorrow.

    The messages in red and the warnings are fine and when you hit halt after running the program you should see the data appear in the RTA "Raw Logs" view.

    You can get rid of the  RTDX message --> TMS320C64+: RTDX: Not a valid RTDX program:  RTDX protocol (JTAG) does not match CCS setup (SIMULATOR)

    by doing the following.

    In the project, right click on stairstep.tcf and select --> open with --> DSP/BIOS Configuration tool

    This will bring up a new popup window and you can set RTDX under Input/Ouput to simulator as seen in this screen shot.

    Make sure to save this after you select ok and you will also need to rebuild the project after making this change.

    Thanks,

    -Jon

  • Hi Jianbin,

    Any update from your side?  Would you like to try to continue to get this working?

    Regards,

    -Jon

  • Jon

    Sorry for late repsonse! I just came back from vacation.

    After apply your suggested modification, the followoing warning was removed:

    TMS320C64+: RTDX: Not a valid RTDX program:  RTDX protocol (JTAG) does not match CCS setup (SIMULATOR)

    And I can see the CPU load like

    I can also see the see raw log. But I dont' know why  "exec graph" was disabled?

    Thank you!

    Jianbin

  • Jon:

    Using the same project, I also tried to use other C64+plus simulator they are both fine! It shows that my CCS works normally, right?

    Back to my own prj. Not like your project, actually, I build my own project start from a empty BIOS project, not start with a RTA suppotted project. I wonder should I New a project with RTA support? Or can I add the RTA function into my current project?

    Thanks!

    Jianbin

  • Hi Jianbin,

    That's good.  We now know that RTA is working with a basic example in your CCS.

    The exec graph is only supported in SYS/BIOS 6, not DSP/BIOS 5.  That is why it is greyed out.

    Is it possible for you to attach the .tcf file from your project to this post so that I can take a look at it.  I think we can get RTA working with your project but I need to see what is currently configured.

    Regards,

    -Jon

  • Jon:

    Go back to my own project, I tried to clean the prj as much as possible. Then I can see Raw Log, like:

    But still have 2 problems

    1: why I can only see the trace which I printed in the program? I can see them in the ROV also.

    2: I still can't the see the CPU load figure. I really want to know the CPU load.

    Jianbin

     

  • Hi Jianbin,

    Is it possible for you to attach your tcf file?  This file will help me debug your issue.

    Is the information from the RTA raw logs in real time or stop mode?   For example,  is the data showing up when the program runs or does it show up after you halt the program?

    CPU load will not show data in stop mode.

    If that's the case, you may want to take an alternative approach to get the cpu load.  There is a file load.zip that may help you and these two posts explain that approach.

    http://e2e.ti.com/support/embedded/bios/f/355/t/84784.aspx

    http://e2e.ti.com/support/embedded/bios/f/355/t/52290.aspx

    Regards,

    -Jon

  • Hi,  Jon

    Here is the TCF file

    0434.Test.zip

  • Hi Jianbin,

    I still need to know if you were seeing the RTA for trace in real time or stop mode( i.e., when the program is halted)?

    Also, can you please confirm that you are hitting an idle function in your program?  Can you put a break point on the idle function, run the program and let me know the results?

    Regards,

    -Jon

  • Jon

    In real time, I didn't  see anything

    When stopped in the breakpoint, I can see the rawlog, which I've already pasted to you before.

    In the current BIOS system, I created 2 tasks staticaly, which you can see in my TCF file.

    Task structure like:

    {

    for(;;)

    {

    Sem_pend(some semophore);

    // process, the process only need 1/3 CPU time

    }

    }

    I never go into idle function. How to go to idle? Thanks!

    Jianbin

  • Hi Jianbin,

    In the assembly window search for IDL_F_loop

    Put a breakpoint on this symbol:

    IDL_F_loop

    Then before or after your Sem_pend add a task sleep.

    TSK_sleep(6);

    You should hit the breakpoint and see RTA output.

    Let me know if this works.  I think the problem is that you are never hitting the idle loop.

    Regards,

    -Jon

  • Dear Jon

    Actually I only have 3 tasks which will not occupied all the DSP and I always use SEM_pend(&SemObjUlDmaFinished, SYS_FOREVER), which I think could let DSP go to Idle when waiting the SEM, right?
    As you said, I put a breadpoint in the "IDL_F_loop", you can see it can be hit!

    Later I tried only use tsk_sleep in the task, like:

    // put to higher priority
    VOID UlSlotProcess()
    {
    #if 0

    for(;;)
    {
    SEM_pend(&SemObjUlDmaFinished, SYS_FOREVER);
    LOG_printf(&trace, "UL TASK, No %d Symbol DMA finished at %d us",gusTxSeq,TSCL/800);

    if ((gcTxSymCnt+1)%3==0)
    {
    LOG_printf(&trace, "UL %dth Slot at %d us",gcTxSymCnt/3,TSCL/800);
    }
    }
    #else
    TSK_sleep(6);
    #endif
    }

    The  phonomenon is same. I couldn't see CPU load. I can only see the raw log just like what I pasted previously.

    Thanks 

    Jianbin

  • Jianbin,

    At this point, can you try out one of the easy BIOS examples to see if you get RTA information.

    I would recommend maybe the stairstep example.  Lets first try to see if you can get any RTA from a known example that is working.

    Then, if you do, there's something wrong with your example.  If you don't then it could be a board issue or something with CCS.

    Judah