sysview affects my program alot
Posted: Mon Sep 11, 2017 10:52 pm
I have a program running that I enabled sysview tracing (all freeRTOS events turned on).
When I enable the sysview on the host side, all my timings are terrible.
I have a timer firing every 550 us, in the timer interrupt I start a SPI transaction. The SPI completes and I handle it and setup for
the next timer to fire off and start the SPI again. When I am not trying to get the sysview info (esp32 sysview stop). Then my timing
is very solid. There are actually 2 interrupts one for each of 2 SPI devices and one takes 9us and the other takes 10us.
When I start to gather the sysview info (esp32 sysview start file://ble1.SVDat file://ble2.SVDat 1) then the sysview data says my
interrupts are taking 64ms. But that can't be right, I have a logic analyzer on my signals and it is taken 64ms now. When I disable the
sysview (esp32 sysview stop) eveything goes back to looking great. Also Bluetooth connectivity drops when I have the sysview turned on
as well.
I was using a SEGGER j-link, But I just got my ESP WROVER kit and tried using that since I can't get my SEGGER to work above 3Mhz and
the WROVER goes up to 20Mhz. But nothing changed. Is there anything I can do to get a good trace without affecting the actual running?
On the plus side, I love the ESP-32 and this tracing interface for logging, system view and tracing is great Thanks Espressif.
I am including the sysview files, I can also get screen shots of my analyzer showing the timing.
When I enable the sysview on the host side, all my timings are terrible.
I have a timer firing every 550 us, in the timer interrupt I start a SPI transaction. The SPI completes and I handle it and setup for
the next timer to fire off and start the SPI again. When I am not trying to get the sysview info (esp32 sysview stop). Then my timing
is very solid. There are actually 2 interrupts one for each of 2 SPI devices and one takes 9us and the other takes 10us.
When I start to gather the sysview info (esp32 sysview start file://ble1.SVDat file://ble2.SVDat 1) then the sysview data says my
interrupts are taking 64ms. But that can't be right, I have a logic analyzer on my signals and it is taken 64ms now. When I disable the
sysview (esp32 sysview stop) eveything goes back to looking great. Also Bluetooth connectivity drops when I have the sysview turned on
as well.
I was using a SEGGER j-link, But I just got my ESP WROVER kit and tried using that since I can't get my SEGGER to work above 3Mhz and
the WROVER goes up to 20Mhz. But nothing changed. Is there anything I can do to get a good trace without affecting the actual running?
On the plus side, I love the ESP-32 and this tracing interface for logging, system view and tracing is great Thanks Espressif.
I am including the sysview files, I can also get screen shots of my analyzer showing the timing.