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.

clock frequency and cahce enabling on OMAP 3530

Hi,

I've the follwing queries on OMAP 3503 EVM withe 3530 core.

1)Can somebody tell me at what clock frequency c64x+ DSP will be running at by default.Is there any way to check the clock speed of DSP and External RAM.

2)Also can you please tell me how can i check whether Cache is enabled .I used BCACHE_setSize and BCACHE_setMar API's but am not seeing a great difference in the performance with cache diabled and enabled.So am doubting wheteher the cache is getting enabled or not.I am using BIOS version 5_33_3.I've just given the the path of this dsp bios folder in my pjt linker options and the library i've given is 3430.P ( coudln;t find 3530) .Please let me know if this is enough?

3)One more query i've is on how to do the profiling on EVM.I am currently using clock() function.Is this the correct way or is there a more reliable way to do this.

Thanks in Advance.

Regards,

Manoj

  • Hi,

     

    Please share ur experiences on Caching and profling on OMAP 3530.

     

    Thanks

    Manoj

  • Manoj R said:

    1)Can somebody tell me at what clock frequency c64x+ DSP will be running at by default.Is there any way to check the clock speed of DSP and External RAM.

    The programming would be done either by u-boot or by the GEL file (or both in which case the last one would "win", probably the gel).  Maybe someone else can comment further.  For sure u-boot sets the ARM freq.  I don't recall if it also sets the DSP freq.

    Manoj R said:

    2)Also can you please tell me how can i check whether Cache is enabled .I used BCACHE_setSize and BCACHE_setMar API's but am not seeing a great difference in the performance with cache diabled and enabled.So am doubting wheteher the cache is getting enabled or not.I am using BIOS version 5_33_3.I've just given the the path of this dsp bios folder in my pjt linker options and the library i've given is 3430.P ( coudln;t find 3530) .Please let me know if this is enough?

    First, this wiki article is related and might help you understand a bit more: 

    http://wiki.davincidsp.com/index.php?title=Enabling_64x%2B_Cache

    You/I may want to add a bit more to it since it doesn't quite answer your question.  Can you provide more details about your project?  For example, are you trying to modify an example from dsplink, or is this your own project that you started from scratch?

    By the way, it doesn't sound like you are creating your BIOS project in the correct way.  I wrote a wiki page that goes through the process of connecting to the target, creating a new project, and starting adding BIOS:

    http://wiki.davincidsp.com/index.php?title=Creating_a_New_DSP_BIOS_Project_on_OMAP35x

    I also did a video capture showing all the steps involved though I haven't been able to upload it because the file is too large.  I sent an email to the wiki administrator though he's on vacation right now.

    Manoj R said:

    3)One more query i've is on how to do the profiling on EVM.I am currently using clock() function.Is this the correct way or is there a more reliable way to do this.

    A better measurement method would be to use a piece of hardware inside the 64x+ core called the “Time Stamp Counter” (TSC).  It consists of a high and low register pair, TSCH/TSCL.  It’s simply a 64-bit counter that runs at the CPU speed.  Here’s how to use it:

     

    extern cregister volatile unsigned int TSCL;

    volatile unsigned int Start_time, Stop_time, Total_cycles;


    // to start the timer you need to do a one-time dummy write
    TSCL=0;

    :

    :

    :

     

    // Inside your code to be benchmarked do something like this

     

    Start_time = TSCL;

     

    // run code to be benchmarked here


    Stop_time = TSCL;


    Total_cycles = Stop_time – Start_time;

     

  • Brad Griffis said:
    I also did a video capture showing all the steps involved though I haven't been able to upload it because the file is too large.  I sent an email to the wiki administrator though he's on vacation right now.

    Slightly off topic, but you may have an easier time posting the video to YouTube, it allows annotations on the video to make things clearer and I found it fairly easy to use for this sort of thing, I made one a while back for using the CCS Interrupt Latency utility.

    EDIT: It turns out Brad is using a different capture mechanism that makes a Flash SWF file, seems much more clean and efficient than my ugly old YouTube video :). It looks great, many thanks to Brad for his contribution!

    Click Here to see Brad's Video!

    bios_omap3530_ccs.swf
  • I see Bernie was able to attach my video to his post.  Thanks, Bernie!  Hopefully I can still post the video at a later time to the wiki, though at least now you can see what I'm talking about right away.

  • Hi Brad,

     

    Thanks for ur inputs.

    I am running a video decoder project in 64x+(CCS in windows).I went through ur wiki article about creating a new proj in c64x+.

    In my project , am not using any dsp/bios config(tcf) file.I've just given the path of the dsp/bios lib(5.33.3) folder in my linker options and have inlcuded  "bios.a3430P" lib for cahcing(BCACHE API's) as i couldn't find one for 3530.

    Is this the correct way or do i need to have a DSP BIOS tcf file included in the pjt.

    Please reply .

    Thanks,

    Manoj

     

  • Manoj R said:

    In my project , am not using any dsp/bios config(tcf) file.I've just given the path of the dsp/bios lib(5.33.3) folder in my linker options and have inlcuded  "bios.a3430P" lib for cahcing(BCACHE API's) as i couldn't find one for 3530.

    Is this the correct way or do i need to have a DSP BIOS tcf file included in the pjt.

     

    No, that's not right.  You need to have the tcf as I showed in the video.  The tcf generates some files that are critical for the operation of BIOS, including a linker command file which will include the BIOS library for you.