2306280_en-US

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

2306280_en-US

2306280_en-US

i.MXRT1176 does not boot on external QuadSPI NOR Flash IS25WP256

Hi,

We are trying to make an i.MXRT1176 boot on a QuadSPI NOR Flash IS25WP256 on a custom board. We connected the memory the same way it is done on the MIMXRT1170EVK eval board (pins GPIO_SD_B2_05 to 11). We also set the boot pins in the same state as on the eval board.

I wrote a simple "Hello world" application running on the M7 core. This application boots correctly on the eval board, but it does not boot on our custom board. The only difference between the 2 boards is the memory which is 32MB on our custom board, 16MB on the eval board.

So, I modified the FCFB (programmed @ 0x400 in Flash memory) this way:

davidjaouen_1-1770200704754.pngdavidjaouen_1-1770200704754.png

I changed the Flash size to 32MB and the read command in the LUT to use the read command with 32-bit address (instead of 24-bit address sufficient for the Flash memory on the eval board).

Despite those changes, the i.MXRT does not boot on our custom board.

So, I had a look to the bus signals.
The boot ROM reads the FCFB (512 bytes) correctly from the Flash memory and does some configuration (write enable, set read parameter, read status register). This is done with a clock at 30MHz as documented in the RM.
After this, the boot ROM does 4 read accesses of 64 bytes each with a clock at 133MHz (this confirms the boot ROM read the FCFB and applied the settings). But, it reads the memory at addresses 0x0000, 0x0040, 0x0080 and 0x00C0. These are the last accesses the boot ROM does and the M7 core does not boot. I connected a JLink probe to the M7 core and saw the boot ROM is stuck in an infinite loop at 0x223104.

I expected the boot ROM read the IVT table located at 0x1000 so it can load the application code and start its execution.

I tried to change the clock frequency to 30MHz (instead of 133MHz). The boot ROM does the 4 last read accesses at 30MHz, but the application still not boot.

What am I doing wrong?
I'm getting stuck, any help will be appreciated

David


Re: i.MXRT1176 does not boot on external QuadSPI NOR Flash IS25WP256

Hello @davidjaouen,

It seems the issue may be related to the debugger, as execution is getting stuck at address 0x223104, which is referenced in the Reset section of this page. Please terminate the debug session, then clean and rebuild the project. After that, try running the application without entering debug mode and let me know your results.

BR
Habib

Re: i.MXRT1176 does not boot on external QuadSPI NOR Flash IS25WP256

Hi Habib,

Thanks for your answer.
Unfortunately, I disconnected the debugger probe from the board and did a hardware reset but the i.MXRT still does not boot from Flash memory.

Any other ideas?

Regards,

David

Re: i.MXRT1176 does not boot on external QuadSPI NOR Flash IS25WP256

Hi Habib,

We finally made our custom board boot on QSPI Flash. The problem was the BOOT_CFG1[1] pin that was high level instead of a low level. So, the boot ROM tried to start an encrypted image but our image is not encrypted.

Thanks for your help.

David

Re: i.MXRT1176 does not boot on external QuadSPI NOR Flash IS25WP256Don't hijack threads - start your own.Re: i.MXRT1176 does not boot on external QuadSPI NOR Flash IS25WP256

Hi @Habib_MS ,

I am facing the same issue where the target stays at 0x002231FC after reset/debug launch. However, if I power-cycle the board, the application boots and runs normally from QSPI flash.

I am using:

  • MCU: i.MX RT1176
  • IDE: MCUXpresso IDE
  • Debug Probe: MCULink

From my observations, the issue appears only during debugger reset/debug startup and not during standalone boot.

Could you please suggest the proper reset/debug configuration or workaround to resolve this issue?

Awaiting your response.

Regards,
Nagendra Kumar S


标记 (1)
无评分
版本历史
最后更新:
‎05-30-2026 05:06 AM
更新人: