We recently refactored our little nRF52 project. Removed FreeRTOS from the project and updated to the Nordic's SDK15.
Since that time however I noticed RTT seems to have a pretty hefty impact on the system's realtime performance (which isn't very good already due to the softdevice running on it). As soon as I enable the RTT viewer (or oZone with RTT terminal enabled), bluetooth crawls down to a full stop. Apparently, RTT destroys the softdevice's timing somehow.
The system is idle most of the time, CPU utilization is well below 10%. nRF52 at full speed (32 MHz crystal), we're using SWD on a J-Link Plus. We keep the drivers up to date as much as possible, we're now at J-Link 6.32c. I tried reducing SWD speed to as low as 10kHz (I could go 5 kHz, but then RTT crashes) and even at this speed RTT impact is noticeable. It's not that we print a lot of information either: a time and battery value once per second, that's all.
Thus my question: what is the impact of RTT on the system's realtime performance supposed to be?
Since that time however I noticed RTT seems to have a pretty hefty impact on the system's realtime performance (which isn't very good already due to the softdevice running on it). As soon as I enable the RTT viewer (or oZone with RTT terminal enabled), bluetooth crawls down to a full stop. Apparently, RTT destroys the softdevice's timing somehow.
The system is idle most of the time, CPU utilization is well below 10%. nRF52 at full speed (32 MHz crystal), we're using SWD on a J-Link Plus. We keep the drivers up to date as much as possible, we're now at J-Link 6.32c. I tried reducing SWD speed to as low as 10kHz (I could go 5 kHz, but then RTT crashes) and even at this speed RTT impact is noticeable. It's not that we print a lot of information either: a time and battery value once per second, that's all.
Thus my question: what is the impact of RTT on the system's realtime performance supposed to be?