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.

Getting Started with Simulators

Other Parts Discussed in Thread: CCSTUDIO

Hi,

I've been using an EVM6455 but I thought it would be a good idea to know how to use the simulators.

I've had a look at spru600i.pdf and http://www.tiexpressdsp.com/index.php/C64x%2B_Cycle_Accurate_Simulator#Timer_Model_configuration but I think there's some basic stuff I don't understand!

I've been using CCSv4 and did the following:

  • Created a new target configuration and selected C64+ CPU Cycle accurate Simulator (the help suggested the simulation would be faster than C455)
  • Changed the DSP/BIOS V5 RTDX Mode to Simulator

The project runs to main and then into the task function but:

  • doesn't return from TSK_sleep
  • doesn't enter PRD functions
  • LOG_printf output doesn't appear in Printf Logs

Should the simulator work like this?

Do I need to change a config file like described "C64x+ Cycle Accurate Simulator"?

Do I need to do something with Pin Connect to get the kernel running?

Thanks,

Matt

  • MattB said:
    doesn't return from TSK_sleep

    I wonder if this is the same problem seen in this thread? In either case would you please let me know which version of CCS, CGTools and BIOS you are using?

    MattB said:
    doesn't enter PRD functions
    Could be linked to the same seemingly BIOS/Simulator issue above, but I don't have any other suggestions about this one.

    MattB said:
    LOG_printf output doesn't appear in Printf Logs
    LOG_printf() does not print to the standard output window but instead to the Message Log (DSP/BIOS->Message Log). See if opening this helps with the phantom LOG_printf() messages.

    MattB said:
    Do I need to change a config file like described "C64x+ Cycle Accurate Simulator"?
    I'm not intimately familiar with the differences between all the simulators but I have heard of different behaviors between different simulators for the same target type. This might be something worth investigating.

    MattB said:
    Do I need to do something with Pin Connect to get the kernel running?
    Pin Connect should not be necessary unless your application requires use with an 'external' pin in a simulated environment.

  • TimHarron said:
    In either case would you please let me know which version of CCS, CGTools and BIOS you are using?

    CCS Version: 4.0.1.01001DSP/BIOS 5.40.02.22 CGTools 6.1.9

    TimHarron said:
    Pin Connect should not be necessary unless your application requires use with an 'external' pin in a simulated environment.

    I think what you're saying is that the simulator should *just* run my simple DSP/BIOS project - task scheduling and everything(?)!

    Thanks,

    Matt

  •  

    MattB said:
    I think what you're saying is that the simulator should *just* run my simple DSP/BIOS project - task scheduling and everything(?)!

    Even though there are simulator that simulate some hardware features (see http://tiexpressdsp.com/index.php/Category:Simulation#Type_of_Simulator) there is not a pin/ or interface to external hardware, for that you would need to use a board.

  • Mariana said:
    Even though there are simulator that simulate some hardware features (see http://tiexpressdsp.com/index.php/Category:Simulation#Type_of_Simulator) there is not a pin/ or interface to external hardware, for that you would need to use a board.

    I'm not trying to (or expecting to) talk to any hardware.

    I was just wondering what I could do with a simulator and I started by creating a simple DSP/BIOS app with 1 task and some LOG_printfs.

    This didn't work i.e. after it left main it never got to the task function and the LOG_printfs didn't appear in the RTA window.

    I think Tim is saying it should have worked i.e. task scheduling should have started and LOG_printf should appear in the RTA window.

    Thanks,

    Matt

  • MattB said:
    I think Tim is saying it should have worked i.e. task scheduling should have started and LOG_printf should appear in the RTA window.

    Yes, I am saying that a simple BIOS process like TSK_sleep() should work fine on the simulator. I've seen a similar issue pop up in that other thread but unfortunately I have not been able to reproduce it yet.

  • Matt,

    If you have CCSv3.3 installed you can import one of the DSP/BIOS example projects (I imported the CLK project located at C:\CCStudio_v3.3\bios_5_31_09\packages\ti\bios\examples\basic\clk) and change the RTDX mode to simulator. This works on my machine (CCS 4.0.0.16), therefore I think you could try something similar and rule out any possible configuration or project errors.

    One remark about the speed comment you made in your first post: the simulator is usually a lot slower than hardware emulation, therefore any TSK_sleep() or time-dependent DSP/BIOS operations will take a lot longer to complete.

    Hope this helps,

    Rafael