I am working with an Ambiq Apollo3 Cortex M4 processor on a SparkFun Artemis module using Segger Embedded Studio.
I have a FreeRTOS program that performs a task every 4 seconds. The task takes roughly 100 mSec to run. When FreeRTOS has nothing to do, it puts the processor into a deep sleep mode, so most of the time my system is in deep sleep.
The periodic task generates a bunch of RTT output as it runs. The odd part is that the last few lines of output get delayed, and don't show up until the task starts running again 4 seconds later. The output is not lost, just delayed. The cycle repeats:the final output from task iteration N always gets delayed until task iteration N+1 starts running.
I have set a breakpoint at a point where my task has finished generating the RTT output for that iteration, but before FreeRTOS puts the processor to sleep. When the breakpoint hits, the RTT output is still missing. But if I single step one line, the delayed output shows up all at once without needing to wait the 4 seconds until the next iteration.
I might be wrong about deep sleep being involved, but it sure feels that way. Does Deep Sleep inhibit the RTT output process?
I have a FreeRTOS program that performs a task every 4 seconds. The task takes roughly 100 mSec to run. When FreeRTOS has nothing to do, it puts the processor into a deep sleep mode, so most of the time my system is in deep sleep.
The periodic task generates a bunch of RTT output as it runs. The odd part is that the last few lines of output get delayed, and don't show up until the task starts running again 4 seconds later. The output is not lost, just delayed. The cycle repeats:the final output from task iteration N always gets delayed until task iteration N+1 starts running.
I have set a breakpoint at a point where my task has finished generating the RTT output for that iteration, but before FreeRTOS puts the processor to sleep. When the breakpoint hits, the RTT output is still missing. But if I single step one line, the delayed output shows up all at once without needing to wait the 4 seconds until the next iteration.
I might be wrong about deep sleep being involved, but it sure feels that way. Does Deep Sleep inhibit the RTT output process?