I'm trying to use the RTT (Real Time Terminal) functionality to download binary data to my microcontroller, for factory configuration purposes. I've got it almost working; however, I notice that when sending the character 0x03 over the RTT towards the microcontroller, this character gets lost. 0, 1, 2, 4, 5, and a lot of other characters are coming through correctly. Why can't I send a 3? Is there a way to configure the link so that I can send all characters correctly?
In a normal Telnet session 0x03 is sent on Ctrl-C, which is currently discarded by the J-Link DLL.
We will remove this. The fix will be included in V5.00d, which is planned for tomorrow.
Thanks for this very fast response! With this new version, I am indeed able to send the whole binary data to my microcontroller. I've got one question though: What kind of speeds should I be expecting when writing data to the microcontroller? I've read that the read speed has been optimized to achieve 500KB/s, but for the write speed I'm currently getting about 1KB/s. It's very possible that my implementation is far from optimal, but what writing speed should actually be reachable?
We did not do speed tests for writing via RTT, yet.
In theory J-Link could achieve up to 1MB/sec (3 MB/sec for high-end models) download speed into RAM.
Since you are using RTT via the socket connection, this slows down the speed.
We might improve the handling on the J-Link DLL side, too.
You could also get higher speeds when using the J-Link SDK to be able to use RTT functions directly.
We will get back to you, when we have some speed values or improvements.