Hi,
Looking for some help here, I'm probably missing something very obvious .
I'm working with an STM F7 with RTOS 10.2.1
I've patched the RTOS files and added the required Segger source files to the project and so far the RTOS hooks are working fine,
I can see all the tasks running in real-time. I can add instrumentation calls in any of the tasks and the information is logged
as expected.
The problem starts as soon as I instrument anything which isn't within an RTOS task context, for example, an ISR.
Adding the calls to record the entry and exit of the ISR compile cleanly and the application runs correctly with them in place.
If, however, I start SystemView running it shows an initial four events and then halts after logging the first systick (#15).
Debugging shows that execution is blocked in a function _SendPacket() within the SystemView ecosystem. It looks to be waiting
on something which never seems to either respond or timeout.
In case it is relevant:
1) The timebase for HAL is using TIM7 not systick.
2) The ISR is for another timer and will only be called after the RTOS scheduler has started. It doesn't use RTOS in the
ISR but it is started by a HAL call in the main application task.
3) I'm using J-Link onboard (STM Nucleo), I do have a J-Link probe I can try however this is unlikely hardware related.
4) I am running on Debian Linux.
I would normally spend more time debugging this but I'm up against the usual deadlines and expect I've just missed something here in setup/configuration of the tools. Any help would be really appreciated. At the moment I've fallen back on some spare GPIO pins and monitoring them with a scope to time entry/exits.
Jason.
Looking for some help here, I'm probably missing something very obvious .
I'm working with an STM F7 with RTOS 10.2.1
I've patched the RTOS files and added the required Segger source files to the project and so far the RTOS hooks are working fine,
I can see all the tasks running in real-time. I can add instrumentation calls in any of the tasks and the information is logged
as expected.
The problem starts as soon as I instrument anything which isn't within an RTOS task context, for example, an ISR.
Adding the calls to record the entry and exit of the ISR compile cleanly and the application runs correctly with them in place.
If, however, I start SystemView running it shows an initial four events and then halts after logging the first systick (#15).
Debugging shows that execution is blocked in a function _SendPacket() within the SystemView ecosystem. It looks to be waiting
on something which never seems to either respond or timeout.
In case it is relevant:
1) The timebase for HAL is using TIM7 not systick.
2) The ISR is for another timer and will only be called after the RTOS scheduler has started. It doesn't use RTOS in the
ISR but it is started by a HAL call in the main application task.
3) I'm using J-Link onboard (STM Nucleo), I do have a J-Link probe I can try however this is unlikely hardware related.
4) I am running on Debian Linux.
I would normally spend more time debugging this but I'm up against the usual deadlines and expect I've just missed something here in setup/configuration of the tools. Any help would be really appreciated. At the moment I've fallen back on some spare GPIO pins and monitoring them with a scope to time entry/exits.
Jason.
The post was edited 2 times, last by Jason Wilden ().