5 Replies Latest reply on Sep 1, 2016 2:21 AM by longin

    Slow debug in SDK (Vivado 2014-2016)

    longin

      Hello

      I´m playing with zedboard with tutorials/workshop/training stuff from this site for 2 last days. I´m the newbie into this world (have some background with embedded C, microcontrollers...)

      Now I´m trying the features of the debug part of SDK. Everything works fine except its too slow - I mean the time when simple line of a code is finished takes like 1 s.

      example:

      for (i = 0; i < 6000; ++i) {
      temp = temp2; //breakpoint, 1 loop lasts 1-2 seconds
      }

      Is this a feature of free Webpack licence, hardware or there is something wrong?

      Regards,

      Longin

        • Hi Longin,
          jafoste4

          Hi Longin,

          Could you tell me what version of Vivado and SDK you are using as well as which tutorial you are working on? Do you encounter this issue using all of the debuggers(System Debugger/GDB/System Debugger on QUEM)? I use System Debugger personally. Does it run slow when you are not in a debug session, for instance when you just run your program on your hardware?

          --Josh

          • Hi Josh
            longin

            Hi Josh

            I tried last 2016 and then 2014 (cause these tutorials were written for this version and I read something about issues while doing labs/exercises on the last version of Vivado).

            I'm working with "Zynq Workshop for Beginners" (Rich Griffin).

            I have tried System Debugger and GDB and both run same (slow).

            I measured time of execution of GDB/System debugger in simple loop with conditional breakpoint (see below)

            int counter;

            while (1) {
            counter++; //breakpoint counter == 50
            }

            It runs fine when I run program on hardware - just did example with timers (stopwatch and stuff) and time precision is good.

            Longin

            • RE: Slow debug in SDK (Vivado 2014-2016)
              zedhed

              Hi Longin,

              When you say it debug is slow to execute, that is a subjective statement.

              What are you comparing the execution to? 
              1) Embedded runtime code execution time
              2) Debugging code execution on a PC

              If you are comparing the debug of a remote target to that of debugging code execution on a PC, there will be vast differences in time due to the download cable that links the embedded platform to SDK on the PC.

              For your second loop, do you get any additional execution time improvement when you remove the conditional breakpoint?  If so, it could be the conditional breakpoint slowing things down for you:

              http://www.codeproject.com/Questions/501675/Whyplusareplusconditionalplusbreakpointsplussoplus

              Regards,

              -Kevin

              • Hi zedhead,
                longin

                Hi zedhead,

                You are right about conditional breakpoints. I was used to on faster time execution with these breakpoints on different (simple) hardware. Seems it's just feature of fpga+SoC stuff.

                Longin