Saturday, November 25th 2017, 10:29am UTC+1

You are not logged in.

  • Login
  • Register



Date of registration: May 19th 2017

Posts: 1


Friday, May 19th 2017, 1:39pm


I'm using RTT to print out a heartbeat from time to time (several seconds!) after a number of printouts I get a memory exception at the first call to "memcpy" in the function below.

static void _WriteNoCheck(SEGGER_RTT_BUFFER_UP* pRing, const char* pData, unsigned NumBytes) {
unsigned NumBytesAtOnce;
unsigned WrOff;
unsigned Rem;

WrOff = pRing->WrOff;
Rem = pRing->SizeOfBuffer - WrOff;
if (Rem > NumBytes) {
// All data fits before wrap around
memcpy(pRing->pBuffer + WrOff, pData, NumBytes);
pRing->WrOff = WrOff + NumBytes;
} else {
// We reach the end of the buffer, so need to wrap around
NumBytesAtOnce = Rem;
memcpy(pRing->pBuffer + WrOff, pData, NumBytesAtOnce);
NumBytesAtOnce = NumBytes - Rem;
memcpy(pRing->pBuffer, pData + Rem, NumBytesAtOnce);
pRing->WrOff = NumBytesAtOnce;

Any idea what the reason could be?

SEGGER - Niklas

Super Moderator

Date of registration: Oct 6th 2014

Posts: 1,691


Tuesday, May 23rd 2017, 12:02pm


sorry for the delay in response.
As you are still in your active support period, could you please open a ticket via mail?

Best regards,
Would you like to be added to the J-Link software update notification list, so you get informed automatically when a new version becomes available?
Just write me a PM or in case you want to subscribe to it yourself, please use this link: Link
Notification for J-Link, J-Link Debugger, SystemView & J-Scope: Link
Notification for Embedded Studio: Link