Hello,
I've recently received a new MCU-Link debug probe and wanted to use it for my new projects, as it offers an amazing speed improvement compared to the LPC-Link or LPC-Link2.
But during one of my last debug sessions I've encountered a strange behaviour with the MCU-Link.
If I create an array with unsigned chars and change the first byte, then everything is ok. But as soon as I modify the second byte, then the third and fourth byte are also changed to a seemingly random value. If the third Byte is changed, then only the fourth byte is changed.
Thats not very nice, but I could live with that for now. But whats really bad in my oppinion is, if I create an array with, for example, 14 bytes and change the last one, then there are two bytes changed outside of the array.
I've tested that with two custom boards with a MIMXRT1011 and MIMXRT1024 and also with a LPCXPRESSO1769 board. Also when I use the LPC-Link2 (with Segger J-Link Firmware), then everything is normal.
The test projects for the RT1011 and for the LPC1769 are attached, and also a screen capture of MCUXpresso showing the problem.
Solved! Go to Solution.
Hello PWaas,
Please use the production of IDE 11.3.1 is now available .
To be clear to everyone, the issue wasn't MCU-Link specific, but also impacts other debug probes that connect using LinkServer (previously known as redline), so that includes LPC-Link, LPC-Link2 and the LPC11U35 based CMSIS-DAP debug probes.
Thanks.
BR
Alice
Hello PWaas,
I use LPC-link2 test LPC1769 refer to your video, the same.
And why do you need add data through this way?
BR
Alice
Hello Alice,
I've never really used the LPC-Link2 with the CMSIS DAP firmware. I switched to the Segger J-Link firmware right after I got it, as it was faster and more relieable in some situations.
You are right, the LPC-Link and the LPC-Link2 with CMSIS DAP Firmware show the same behaviour, but the LPC-Link2 with J-Link firmware does not, so it seems like a general problem with the implementation.
But nevertheless, I think that modifying variables at runtime is a very basic function of any debugger and should not change values that haven't been touched.
For example when you want to test some functions with different values without recompiling the whole project every time, or maybe you want to modify the raturn value of a function. The easiest way I found of doing that, is to use the Expressions, as the context menu already offers a shortcut to that.
Best regards
Hello PWaas,
Please use the production of IDE 11.3.1 is now available .
To be clear to everyone, the issue wasn't MCU-Link specific, but also impacts other debug probes that connect using LinkServer (previously known as redline), so that includes LPC-Link, LPC-Link2 and the LPC11U35 based CMSIS-DAP debug probes.
Thanks.
BR
Alice
<post removed as Alice updated her post with same info>
Hello PWaas,
Thanks for your sharing, I know your meaning now, I have submit a ticket about this feature to development team, and keep you informed after get any update.
BR
Alice
Just to clear up some comments on this thread:
MCUXpresso supports PE Micro and SEGGER probes via their respective GDB servers, while the other probe types (basically CMSIS-DAP protocol probes from NXP) are serviced via an equivalent server called Linkserver. The issue reported in this thread was down to a bug in Linkserver which was fully scoped and fixed in release 11.3.1.