Problem Programming QSPI Flash on custom iMX RT-1011 board

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Problem Programming QSPI Flash on custom iMX RT-1011 board

跳至解决方案
2,889 次查看
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

标签 (1)
标记 (2)
0 项奖励
回复
1 解答
2,864 次查看
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 

在原帖中查看解决方案

4 回复数
1,822 次查看
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 项奖励
回复
2,860 次查看
gh78731
Contributor III

Exactly what I was looking for.

Thanks,

--- Graham

0 项奖励
回复
2,876 次查看
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 项奖励
回复
2,865 次查看
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