IMXRT flashing error with external NOR flash

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

IMXRT flashing error with external NOR flash

1,318 Views
ancymuhammed
Contributor III

We are using imxrt1176 in one of our project. We had build 30 boards, but recently the below error is showing while flashing using SWD. We are using LPCLINK2 for programming & MCUXpresso Studio for the development. But we can flash the microcontroller using the internal RAM. We are using 512Mb W25Q512NWEIM for booting connected via FLexSPI. Initially these boards are working.

ancymuhammed_0-1668688639174.png

 

 

ancymuhammed_1-1668688639187.png

 

 

Attached the error showing while erasing using MCU Utility tool.

ancymuhammed_2-1668688639237.png

FlexSPI lines connection are shown below

ancymuhammed_3-1668688692000.pngancymuhammed_4-1668688710755.png

 

0 Kudos
Reply
4 Replies

1,273 Views
Omar_Anguiano
NXP TechSupport
NXP TechSupport

Hello
I hope you are well.

Please make sure that QE is set. Additionally, could you share the Boot_CFG status you have on your pins? Are using fuses for boot_cfg?

Best regards,
Omar

0 Kudos
Reply

1,264 Views
ancymuhammed
Contributor III

The NOR flash we are using is W25Q512NWEIM. The part shown in the schematics is not correct. While running the flexSPI polling code the below data is shown in the terminal

BT_CFG(0)=0
BT_CFG(1)=0
BT_CFG(2)=0
BT_CFG(3)=0
BT_CFG(4)=0
BT_CFG(5)=0
BT_CFG(6)=0
BT_CFG(7)=0
BT_CFG(8)=0
BT_CFG(9)=0
BT_CFG(10)=0
BT_CFG(11)=0
BOOT_MODE(0)=0
BOOT_MODE(1)=1

FLEXSPI example started!
Vendor ID: 0xef
Erasing Serial NOR over FlexSPI...
Erase data - successfully.

 

While doing the mass erase function in the utility tool the below error message is observed

ancymuhammed_0-1669122223570.png

 

0 Kudos
Reply

1,252 Views
Omar_Anguiano
NXP TechSupport
NXP TechSupport

Thank you for your information. The CFG configuration is correct but are you terminating the pins externally? If using efuses for this then it is ok to leave them NC.

Please follow these steps:
1. Open MCUXpresso IDE.
2. Import any example of the SDK. In this guide, I imported the iled_blinky example. In the end, I will explain why you need this project.
3. Go to your board and put it in Serial Download mode(Boot_Mode[1:0] = b01).
4. Go back to MCUXpresso, since you just imported the project, I assume that it doesn’t have any debug configurations if you are using another project that does have debug configurations please delete them.
5. Launch the debug session of the project while in serial downloader.
6. When the debug session is launched, you won’t see that the program stops at the main as it normally does.
7. Stop this debug session.
8. Delete the debug configuration of the project.
9. Do a power cycle to your evaluation board and configure it in internal boot or boot from fuses.
10. That’s it! At this point, you should be able to enter the debug sessions without any problems.

The reason why you need to import a fresh project from the SDK is that we are sure that this project works perfectly and has all the right configurations in the clocks and in all the other peripherals. This will bring your board into a known state and will avoid bricking it again.

0 Kudos
Reply

1,295 Views
ancymuhammed
Contributor III

We had tested the flexspi polling code. It is working fine in the failed boards. So we think that the flex spi interface is working fine. 

0 Kudos
Reply