Previously, I made a board that connected the NOR Flash to the Primary Pin Group of FlexSPI2. In the MCUXPresso IDE, I selected the DAP download algorithm "MIMXRT1170_FlexSPI2_A_SFDP_QSPI.cfx", and the Flash was able to be recognized and programmed normally.
But now I have made another board that connects the NOR Flash to the Secondary Pin Group of FlexSPI1. In the MCUXPresso IDE, I selected the DAP download algorithm "MIMXRT1170_SFDP_QSPI.cfx", but it seems that the Flash cannot be recognized and the SFDP parameters of the Flash cannot be obtained normally.
The NOR Flash circuit is completely the same except for the different FlexSPI pins connected.
I wrote a program and ran it in RAM, reading the value of BOOT_CFG:
BOOT_CFG1[0]~BOOT_CFG1[7]:10000000
BOOT_CFG2[0]~BOOT_CFG1[3]:0000
There seems to be no mistake.
So I checked the manual:
1.FLEXSPI_PIN_GROUP_SEL is the selection of FlexSPI groups, which requires programming the fuse.
I just burned this fuse to 1, and it still can't recognize the Flash
2.I know that identifying Flash is related to L1 BootLoader, and the default DAP download algorithm in the MCUXPresso IDE sets the Flash frequency to 133MHz, but this group only seems to support 100MHz.
(QuadSPI NOR - Quad SDR Read: option0 = 0xc0000007 - 133MHz)
Does it matter?
Modifying the Flash download algorithm is cumbersome, so I used the MCUBootUtility to try reducing the Flash frequency, but still couldn't identify the Flash (can't read SFDP).
--------------------
I would like to know if it is appropriate or common to connect NOR Flash to the Secondary Group of FlexSPI1?
And why my Flash cannot be identified, what other possible reasons there may be.
I would greatly appreciate your response.
已解决! 转到解答。
Hi @Vinos ,
I find you also from China, you can refer to this post:
https://www.cnblogs.com/henjay724/p/15139381.html
Before you do the programming, do you also test your flash erase, program and read or not? Whether that is OK?
I think you can use the SDK rom api code to test it, set the option1 to the secondary pin group to test it:
\SDK_2_14_0_MIMXRT1170-EVK\boards\evkmimxrt1170\driver_examples\fsl_romapi\cm7
Then, to the program .cfx, I think you totally can modify the flashdriver again, just set the option to your test ROM option which is working, then generate the new .cfx for the code downloading.
This is the flashloader source code:
C:\nxp\MCUXpressoIDE_11.8.0_1165\ide\Examples\Flashdrivers\NXP\iMXRT\iMXRT117x_FlexSPI_SFDP.zip
If you still have issues about it, please kindly let me know.
Best Regards,
Kerry
Hi @Vinos ,
I find you also from China, you can refer to this post:
https://www.cnblogs.com/henjay724/p/15139381.html
Before you do the programming, do you also test your flash erase, program and read or not? Whether that is OK?
I think you can use the SDK rom api code to test it, set the option1 to the secondary pin group to test it:
\SDK_2_14_0_MIMXRT1170-EVK\boards\evkmimxrt1170\driver_examples\fsl_romapi\cm7
Then, to the program .cfx, I think you totally can modify the flashdriver again, just set the option to your test ROM option which is working, then generate the new .cfx for the code downloading.
This is the flashloader source code:
C:\nxp\MCUXpressoIDE_11.8.0_1165\ide\Examples\Flashdrivers\NXP\iMXRT\iMXRT117x_FlexSPI_SFDP.zip
If you still have issues about it, please kindly let me know.
Best Regards,
Kerry
Thanks.I've successfully connected.
I would like to know whether it is necessary to burn the fuse when Flash is mounted in the Secondary group.
Because I didn't specifically pin out LPUART1 or USB1 on the hardware, how should I burn these fuses if I want to produce them? Is it recommended to mount the NOR Flash in the Primary group?
Hi @Vinos ,
From the system boot from the secondary pin group, it is needed to burn the fuse
FLEXSPI_PIN_GROUP_SEL =1.
If you can't use the serial download method to burn the fuse, you also can use the RAM project code to operate the ocotp to program the fuse:
\SDK_2_14_0_MIMXRT1170-EVK\boards\evkmimxrt1170\driver_examples\ocotp
Best Regards,
kerry