I would like to start a thread to gather some ideas about a feature on the roadmap:
Integrate a micro-controller software-based trace function, something like EE101 Insight-Pro. Could try to integrate with them if their software didn’t get such bad reviews. Sigrok? Or just in UI?
Add integration with hardware trace. Ideally, display a heat-map of energy usage and allow navigation by code module, function and line.
The basic idea is to have some kind of runtime C library running on the µC, inspired by the EE101.
It should be less intrusive than a debugger in terms of power and timings.
It should offer a way to report and trigger captures at certain points in the code.
In the long run, this could be extended to show more graphs, like IMU values, FIFO levels, etc…
As referenced by the roadmap, we are looking at features similar to the EE101 and Segger RTT/SystemView, including energy consumption.
Here are some of the possible uses-cases:
- Energy consumption regression test for some signal processing or specific code section.
- Measure the mean/min/max energy consumed by some functions, code sections or ISRs.
- Energy consumed by one FreeRTOS/uCos3 task.
- (Opt) Measure the execution time of the same task at different CPU frequencies.
- (Opt) I want to see the level of my firmware FIFO’s and the effect on power consumption.
- (Opt) My board does have multiple MEMS sensors and I want to see on the oscilloscope view which and when the MCU enables one.
Why not use a debugger with something like RTT?
The debugger causes a massive power consumption and sometimes prevents peripheral to go into deep-sleep modes.
I already have some idea about how this could be implemented, but I first want
to get some more infos from the community beforehand.
Feel free to discuss if you would like to see such a tool in your joulescope.
- Did you feel the need to be able to trigger a capture from your DUV firmware?
- Would a very light library for bare metal to trigger captures be acceptable? (Similar to EE101?)
- What about a hook for RTOS?
- Would you like to see an HDL entity/IP doing this capture (for FPGA related things?)
- Would you rather see an integration with a debugger based trigger (RTT for example, with all debugger related issues?) instead of the lightweight library?
- How many spare IO pins do you usually leave accessible on your projects? (Which could be used to communicate to the joulescope)
- Should the joulescope be able to send commands to your DUV ? (UART serial like?)