Problem Programming QSPI Flash on custom iMX RT-1011 board

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

Problem Programming QSPI Flash on custom iMX RT-1011 board

Jump to solution
2,194 Views
gh78731
Contributor III

Environment: MCUXpresso IDE V11.3.1, Windows 10,
MCU-Link connection via SWD.
MIMXRT1011CAE4A processor, Adesto 25SF128A QSPI


Custom design iMX RT-1011 board, bringing up for the first time.
Uses same AT 25SF128A QSPI Flash as EVK, connected to same pins as EVK
Has serial port in same location as EVK.

I am trying to bring up custom board for first time, using "hello-world" example from EVK.

If I load "hello-world" directly into SRAM, program runs as expected.
So, power supplies and clocks are up and running, and everything is connecting.

I can successfully Mass-Erase the QSPI Flash via the GUI Flash Tool.
The GUI flash tool can see the QSPI and properly identifies it as 16 MB device.

If I try to load "hello-world" compiled for XIP from FLASH into the FLASH,
I get programming error as follows:

Loading 'evkmimxrt1010_hello_world_II.axf' ELF 0x60000000 len 0x55F0
Opening flash driver MIMXRT1010_SFDP_QSPI.cfx (already resident)
Sending VECTRESET to run flash driver
Flash variant 'JEDEC_SFDP_Device' detected (16MB = 256*64K at 0x60000000)
Writing 22000 bytes to address 0x60000000 in Flash
1 of 1 (  0) Writing sectors 0-0 at 0x60000000 with 22000 bytes
(  0) at 60000000: 0 bytes - 0/22000
ProgramPage (0x60000000, 0x20002000, 0x4000) status 0x1 - driver reported driver error - EXTSPIJ driver rc -255 (0xFFFFFF01)
Sectors written: 1, unchanged: 0, total: 1
Closing flash driver MIMXRT1010_SFDP_QSPI.cfx
(100) Writing Flash ended with an error.
File 'evkmimxrt1010_hello_world_II.axf' load failure: Ef(49): Flash driver operation gave error.
(100) Target Connection Failed

 

What does "driver error - EXTSPIJ driver rc -255 (0xFFFFFF01)" mean?
Any clue as to what is wrong?
Considering that these are brand new RT-1011 and QSPI parts, is there some additional configuration I need to do before I can load a program into FLASH via SWD?

--- Graham

Labels (1)
Tags (2)
0 Kudos
1 Solution
2,169 Views
victorjimenez
NXP TechSupport
NXP TechSupport

Hello Graham, 

Please refer to the SDK example flexspi_nor_polling_transfer. This project demonstrates how to set the QE bit with the function flexspi_nor_enable_quad_mode. 

victorjimenez_0-1620759234529.png

Regards,
Victor 

View solution in original post

4 Replies
1,127 Views
Vishal_AVG
Contributor I

Hello, I am using IMXRT1062 with same SDK example flexspi_nor_polling_transfer to my custom board. But , I got Bus Fault error and HardFault.

Please help me solve this.

0 Kudos
2,165 Views
gh78731
Contributor III

Exactly what I was looking for.

Thanks,

--- Graham

0 Kudos
2,181 Views
gh78731
Contributor III

Further information. 

It looks like I need to program the "QE" bit on the QSPI, as part of a new part configuration.

I would prefer to do this by executing some code loaded into SRAM via SWD interface, rather than setting up for serial interface. Is there some existing code to do this?

Same request for programming the OTP bits in the iMX RT1011 when it comes time to do that.

--- Graham

0 Kudos
2,170 Views
victorjimenez
NXP TechSupport
NXP TechSupport

Hello Graham, 

Please refer to the SDK example flexspi_nor_polling_transfer. This project demonstrates how to set the QE bit with the function flexspi_nor_enable_quad_mode. 

victorjimenez_0-1620759234529.png

Regards,
Victor