Hello!
I have a project where I'm trying to get 8MB flash (IS25LP064A) on FLEXSPI PortA1 (for system boot) and another 8MB flash (IS25LP064A) on FLEXSPI PortB1 (for user data).
After some search and read in this forum, it seams it is possible to do that, but... is there some kind of manual or guide?
I'm trying to use the Flash Component (nor_flash_component) example, but I'm not able to pass the "Nor_Flash_Init()"
Any help is very very welcome
MCU: MIMXRT106SDVL6B
Relevant Flags:
XIP_EXTERNAL_FLASH=1
XIP_BOOT_HEADER_ENABLE=0
Programming method:
Secure Provisioning
Hi,
Thank you for your interest in NXP Semiconductor products and for the opportunity to serve you.
Before answering your question, I was wondering if you can introduce your testing environment, such as a schematic of your custom board, debug tool, IDE, etc.
Have a great day,
TIC
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------
Hello and thank you for your reply
My debug capabilities are very reduced, almost none. I opted by do not add the JTAG header and, instead, rely on the serial console. I can buy the i.MX RT1060 Evaluation Kit (MIMXRT1060-EVKB) but, for this particular case, I think it will not help much.
I'm using the MCUXpresso SDK for GCC with Eclipse IDE and I'm using the the MCUXpresso Secure Provisioning to program the system flash (I can put in here the entire Eclipse project, if needed). I also have the MCUXpresso IDE installed in order to run the SDK examples.
The MCU schematic is attached in this post.
Thank you for your attention.
Hello!
Going point by point:
I find the label of the MCU is MIMXRT1064, however, you said you use the RT 1060
Correct. The MCU page was imported from another project where I'm using the RT1064.
In this prototype I'm using the RT1062 ... (long battle because it is very hard to find stock and I must keep things going on) ... and in the production board I will use the RT106S.
U3 shouldn't use the GPIO_SD_B1_05 as the FLEXSPI_B_SS0_B, as for QSPI Flash as XIP function, to achieve the highest performance it is recommended to left FLEXSPI_A_DQS(GPIO_SD_B1_05)pin floating
Noted.
In the next PCB iteration, GPIO_SD_B1_05 will be left floating and FLEXSPI_B_SS0_B will go to GPIO_SD_B0_04.
Config sample clock source as 01-loopback from DQS pad mode to achieve max 133MHz Flexspi_clk.
I'm not using the XIP boot header. In this case, I think the System flash configuration is made by the MCUXpresso Secure Provisioning.
Besides, it is also recommended to pull up QSPI flash pin1(CE) and pin7(hold) to make sure QSPI Flash boot-up stability.
Noted. Will be done in the next PCB iteration.
I think you'd better remove the U3 at firstly, then verify the RT1060 can boot-up from the U4 successfully, then populate the U3 for data implementation testing
The system flash (U4) is working great.
I'm working upon FREERTOS, I have a lot of stuff implemented, the board boots fine and what is implemented is working (fine, so far).
Now is the time to handle the U3 (User flash) in order to save configurations and (when I have some spare time) to save some log information.
I have checked the "flash_component_nor" and it seems to be what I need.
But as soon as I start to mess with the FLEXSPI/Pin_configuration, everything dies.
I'm assuming that I have to create functions to reconfigure flash pins, (re)configure FLEXSPI PortA1 and FLEXSPI PortB1, load those functions to RAM and execute them.
Hi,
Thanks for your reply.
Yes, you need to adjust the code prior to accessing the U3, further, I'd like to suggest you use the flexspi_nor_polling_transfer demo (~\boards\evkbmimxrt1060\driver_examples\flexspi\nor\polling_transfer) instead of flash_component_nor demo for testing.
Have a great day,
TIC
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
------------------------------------------------------------------------------o