Look, I'm gonna go on a bit of a rant here... if you're not interested in that, please skip this reply. NXP, I hope you take the time to read this.
I am frustrated as hell right now. I have an application sitting here on my K66 FRDM board that I can't debug. This is an SDK 2.6.0 C++ app built using MCUX 11.0.0. I'm using the built-in J-Link OpenSDA adapter. I have one, ONE breakpoint set in my code, a single test function for my DSPI driver. I have the FreeRTOS plugin disabled, because the debugger seems to crawl even worse when it's enabled. I download and start my app, then press a key on my serial console to trigger the test function. The debugger lands and pauses on the breakpoint, and in the Variables window I see... nothing. Well, not nothing... I see two right-chevrons, as if the IDE knows that there are two structures/objects to show, but it can't fill anything in. I let the IDE sit there for about a minute or so, on the off-chance that it might decide to drawn the window contents after all. Nothing. So I press F5 to step into the function I'm stopped on. Nothing. I click the green Resume arrow at the top. Nothing. The debugger has silently died. I shut down MCUX, fire up Chrome, and log into the NXP forums to write this response.
What exactly am I supposed to do here? NXP, you say you can't reproduce it on your end. I CAN. EVERY TIME. Frankly, I don't care that you can't reproduce this, because this is happening to ME, RIGHT NOW, on my Saturday where I was hoping to get caught up on things. Instead, I'm sitting here with a driver that... mostly works? but isn't quite right, and I can't get into my code and actually see what's happening. An IDE without a debugger is just an editor, and that's not doing me any good right now. And as you've seen in the replies to this thread and other related threads, I'm not the only one encountering this issue.
I can imagine some folks saying "Hey, MCUXpresso is free, it works for most everyone, lay off." I don't agree with that at all. NXP is in the business of selling chips, yes, but like many other chipmakers they realize (rightly so) that they need to provide an ecosystem of drivers and tools to facilitate the design of those chips into products, instead of leaving that to third parties. The MCUXpresso IDE and SDK is a useful evolution of their toolchain, and NXP needs MCUXpresso to be a strong and stable toolchain... I mean, it has to work, otherwise what's the point of putting out a toolchain? So when crippling issues like this arise, it doesn't do me one bit of good for NXP to shrug and say "sorry, we don't see it", with the implication being "we can't help you".
You can always help. It just depends on how willing you are to work with a given customer. And this is where I feel really small, kinda microscopic. I don't work for a big OEM. I'm not designing a widget that's going to sell five million units next year. I can't have my boss call your boss and say "hey, these tools aren't working, why are we buying your chips again?" I work for an independent design firm with five engineers on staff. So the amount of pull I have with NXP is basically nil. My only recourse is to jump on the forums, write something up, and hope that someone out there has some idea what the solution might be.
NXP, I'm right here. I have an installation of MCUX 11.0.0 on my machine and a FRDM-K66F kit, and I can reproduce this issue every. damn. time. Do you want to work with me to resolve this? Then contact me, you know how. Because right now, this is kinda killing me. I don't have many practical alternatives. Yes, we have a seat of IAR Embedded Workbench for Cortex-M, but oh do I hate their editor (Eclipse is king for C++ development), and of course there's no integration with MCU Config Tools or SDK examples or any of that. So as my project presently stands, I'm limited to simple breakpointing and debugging via printf(). I can't meet my milestones if that's all I can rely on.
Do you want to work with me to investigate this issue? Or do I simply pray that the next MCUX release somehow fixes this issue? I'll help you make MCUXpresso better, but you've got to work with me here. Thank you for reading this.
David R.