Help: MIMXRT1020-EVK suddenly stopped working !

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Help: MIMXRT1020-EVK suddenly stopped working !

1,068 Views
mjbcswitzerland
Specialist V

Hi All

I have been working successfully with the MIMXRT1020-EVK for some time and had a working code loaded in QSPI-FLASH - so that it booted from there and ran this code.

Using IAR I was then developing code directly in RAM so that I didn't need to program the QSPI-FLASH each time and always had a working reference after a power cycle.

I wanted to check something in MCUXpressor and so loaded its blinky project to the board (to QSPI-Flash). The load failed for some reason and there is presumably no QSPI Flash code loaded any more (since the original code doesn't start any more) but no debugger (either MCUXpressor or IAR) can now load or connect any more. The MCUXpresso error message, when trying to load the blinky reference:

pastedImage_1.png

The board still appears as DAPLink with USB-CDC so the Open SDA debugger looks OK.

Any idea what went wrong and whether it is recoverable somehow??

Regards

Mark

Labels (1)
5 Replies

952 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi All,

  When meet this problems, customer can try to do the external flash erase to recovery it.

  You can use the our NXP-MCUBootUtility tool, which can be downloaded from this link:
https://github.com/JayHeng/NXP-MCUBootUtility/releases/tag/v2.0.0 

The related user manual link is:

https://github.com/JayHeng/NXP-MCUBootUtility

Let RT enter serial download mode, then connect to the MCUBootUtility tool, then customer can download the code under:

NXP-MCUBootUtility-2.0.0\NXP-MCUBootUtility-2.0.0\apps\NXP_MIMXRT1020-EVK_Rev.A2

After downloading the new app, your CMSIS DAP debugger should be recovered.

Have a great day,
Kerry

 

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

 

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 Kudos

952 Views
mjbcswitzerland
Specialist V

Hi All

I managed to recovery by selecting a different boot source to the NOR-Flash which I could see was loading something (but not much). Whatever it was loading was presumably causing the SWD interface to stop working.

With a different boot source selected the debugger could then connect and load a good firmware again.

Then I switched back to NOR-Flash loading mode and the code ran from there and debugging etc. was available again as normal.

Therefore EVK is operation again but I wonder what actually caused nothing to be able to work when booting from what was probably partially loaded/corrupt code. Is there a risk of something similar happening when uploading code in the field?

Regards

Mark

0 Kudos

952 Views
samsaprunoff
Contributor V

Good day Mark,

Just a heads up, but the EVK's USB connection to the onboard debugger is a bit flaky... at least on my EVK.  I found that I had issues that were related to the connector and if I wiggled it, etc that the evk would as expected.  This may or may not be related to your issue, but I would advise to treat the USB connections quite gingerly, as they appear to be somewhat temperamental.

Cheers,

Sam

0 Kudos

952 Views
mjbcswitzerland
Specialist V

Hi Sam

In fact I can reproduce the problem as follows:

1. I run my own project out of QSPI Flash
2. I load the SDK example "evkmimxrt1020_enet_txrx_transfer" and it fails to load and subsequently nothing can connect to the board (then I can recover by using the technique that I gave in the second post). [I thought it was happening with the simple blinky program but this was a mistake]

To work around this I found I can do:

1. I run my own project out of QSPI Flash
2. I load the blinky program (which overwrites the original program) and works
3. Now I can load "evkmimxrt1020_enet_txrx_transfer" and it runs; the loading doesn't fail when loaded after "blinky" is written.

Presently I always load the simple blinky code before any other SDK examples if my own project is loaded. It may have something to do with the fact that I always work with an active watchdog and loading a small blinky code is Ok but not a larger project. The next time I load larger SDK examples I'll try disabling the watchdog before doing so to see whether it is a factor or not.

Mainly I work with IAR which doesn't have a problem with reloading larger code when my project is previously loaded and I only noticed it when checking SDK examples that need MCUXpresso.

Regards

Mark

952 Views
samsaprunoff
Contributor V

Good day Mark,

Given that the issue is repeatable and that it appears related to the flash programming, there is no reason to suspect the USB Connector that I mentioned in my previous post.  My intent was to highlight that at times that USB Connection can create some strange events that I found could be corrected by wiggling the USB Connection. 

Good for you for finding the pattern and the work around!

Cheers,

Sam

0 Kudos