• Resolved

# cycles for log_info()

The project I’m working on has some very time sensitive components.  Because of this I thought the low overhead log_info0() function would be perfect.  From what I heard, the overhead for this should be around 40 cycles.  But when I put this in practice I’m seeing it take 3793 cycles (25 uS in my 150 MHz system).

Have a look at the code snippet below followed by the Raw Log.  The time between the first two Log_info0() commands is 3793 cycles (82581236-82577443).  What’s interesting is that it make no difference how long the string is.  I thought this might be an issue so I change the first command to log “S* and the second to log “S1”, but I got exactly the same time difference.

Could there be something with my emulator that’s slowing me down?  I’m using a XDS510 USB on an eZdsp F28335 board.

Ed

  • Hi Ed,

    Which version of SYS/BIOS and XDCtools are you using?

    Steve

  • Are you running from FLASH? If yes, then you will have to reduce the number of  FLASH-Wait cycles manually, because the SYSBIOS version6  F28335 project template files do not change the default values (15 waitstate). Also, check the CPU frequency in the SYSBIOS-setup.of the project. Again, the TI templates forF28335 initialze the clock to 10MHz * 10  / 2 = 50 MHz, Change the input clock (in Boot of *.cfg) from 10MHz to 30MHz.

     

  • In reply to Steven Connell:

    Steven Connell

    Hi Ed,

    Which version of SYS/BIOS and XDCtools are you using?

    Steve

    I'm using Bios version 6.33.04.39

    XDS version 3.23.02.47

  • In reply to Frank Bormann:

    Yes, I asm working out of flash.  The clock was setup correctly but the flash waitstates were not.  I changed the wait states on the flash from the default of 15 to 5.  This reduced the time from 25uS down to 9uS.  I then turned on the flash pipeline and got the time down to 6.8uS (1016 cycles).  Much better.

    Thanks

    Ed