RT1051: QSPI flash with IS25LP064A

cancel
Showing results for 
Search instead for 
Did you mean: 

RT1051: QSPI flash with IS25LP064A

Jump to solution
912 Views
jayyehtw
Contributor III

Hi

I am now debugging my customized board with RT1051 and IS25LP064A QSPI flash as the external flash.

When I tried to flash the code into the flash with the GUI Flash Tool in McuXpresso, the following error showed up:

 
 

qspi.png

The hardware connection is the same as the IMXRT1050-EVKB and I used the MIMXRT1050_SFDP_QSPI.cfx suggested from other posts.

What does the error code rc 136 (0x88) stand for?

Thanks

Labels (1)
Tags (3)
0 Kudos
1 Solution
837 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi jayyehtw

 Please check the MCUXPresso IDE:

C:\nxp\MCUXpressoIDE_11.2.1_4129_prc1\ide\Examples\Flashdrivers\NXP\iMXRT\iMXRT1050_QSPI

Modify the related code, change the frequency below 60Mhz. Then build it, you will find the new .cfx in that project:

iMXRT1050_QSPI\iMXRT1050_QSPI\builds

Then your app project use your new .cfx, please try it.

 

Wish it helps you!

Best Regards,

Kerry

View solution in original post

0 Kudos
11 Replies
902 Views
jayyehtw
Contributor III

Hi,

I've done the necessary adjustments including the switch position, resistors, and power setting.

With the example you mentioned, I found that no matter what data I tried to read, the return value were all 0x44.

For example, the flexspi_nor_get_vendor_id should return the ISSI vendor ID 0x9D, but I got 0x44 instead.

I also tried to read the status with command 05h, it also return 0x44.

But from the picture I posted in the original question, there's a message "Flash variant 'JEDEC_SFDP_Device' detected (8MB = 128*64K at 0x60000000)".

So I think somehow the device should be working, or otherwise there should not be a flash with correct size being detected.

 

 

0 Kudos
870 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi jayyehtw,

    Thanks for your updated information.

    Now, because it is your own designed board, could you please use the MIMXRT1050-EVKB board, and modify the on board QSPI chip to your  IS25LP064A QSPI? Please also note to modify the power from 1V8 to 3V3, then use the same software and the IDE, whether you can finish the QSPI operation or not? I just want to make sure your software test side has no issues, then we can do more checking in your own board.

   Please also check your own board FlexSPI_DQS pin, do you leave it as floating?

 

Best Regards,

Kerry

 

 

 

0 Kudos
865 Views
jayyehtw
Contributor III

Hi 

Thanks for the prompt response.

I've done changing the on board flash to IS25LP064A and it woks. 

On my customized board, the GPIO_SD_B1_05 pin is used as I2C_SDA instead of DQS pin.

After changing the flexspi_nor_flash_init function as the following:

Untitleasdasd.png

Now on my customized board, the flexspi_nor_polling_transfer example could be run successfully and the read, write, erase operations seemed to be working.

Is it the suggested way to set the rxSampleClock? 

How could I modify the same setting to the cfx file and the xip?

0 Kudos
859 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi jayyehtw,

  Thanks for your feedback.

   Now, your root issue is caused by the DQS pin GPIO_SD_B1_05 which is used as other function, normally, this DQS pin, we suggest the customer to leave it as float, as it will influence the flexspi communication speed.

   Please check the RT1050 DATASHEET:

image.png

 

Now, two options for you:

1. leave DQS pin as float

2. Change your flexSPI frequency low to 60Mhz. and DQS loop internal mode.

In your app, XIP modify it like this:

image.png

don't need to modify the CFX now.

You can try it on your side.

Any updated information, please kindly let me know.

Best Regards,

Kerry

0 Kudos
854 Views
jayyehtw
Contributor III

Hi,

Without modifying the cfx file, I could not program the code into the flash.

I still got the rc 136 error when I tried to use the GUI flash tool.

qspi.png

0 Kudos
848 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi jayyehtw,

  Do you modify the XIP code which I mentioned you in the helloworld project?

  Modify the DQS as internal loopback, and the frequency as 50Mhz, just smaller than 60Mhz.

Best Regards,

Kery

0 Kudos
841 Views
jayyehtw
Contributor III

Hi

 

Yes. I did the requested modifications.

0 Kudos
838 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi jayyehtw

 Please check the MCUXPresso IDE:

C:\nxp\MCUXpressoIDE_11.2.1_4129_prc1\ide\Examples\Flashdrivers\NXP\iMXRT\iMXRT1050_QSPI

Modify the related code, change the frequency below 60Mhz. Then build it, you will find the new .cfx in that project:

iMXRT1050_QSPI\iMXRT1050_QSPI\builds

Then your app project use your new .cfx, please try it.

 

Wish it helps you!

Best Regards,

Kerry

0 Kudos
820 Views
jayyehtw
Contributor III

Hi

Thanks a lot for your help.

After debugging with the flash driver source code, now I have a customized cfx file that could flash my board.

 

0 Kudos
907 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi jayyehtw,

   To the MIMXRT1050-EVKB, do you consider the on board is using the hyperflash in default?

    If you are using the QSPI flash, you need to refer to :

OPTION2: USE QSPI FLASH(Mount R153~R158, DNP R356,R361~R366

   Do you also use this connection?

   BTW, the MIMXRT1050-EVKB is using IS25WP064AJBLE, it is the 1V8 Voltage, your chip is 3V3 voltage, do you also consider this point?

   If all the above points you have considered, please refer to this code and run it at first in the SDK:

C:\KerryPC\IMXRTCode\Practice\RT1050\SDK_2.8.2_EVKB-IMXRT1050\boards\evkbimxrt1050\driver_examples\flexspi\nor

Please run it in the internal RAM, and check whether you can finish the external flash erase and write or not?

Please try it at first.

If you still have question, just kindly let me know.

Best Regards,

Kerry

0 Kudos
896 Views
jayyehtw
Contributor III

Hi,

I've done the necessary adjustments including the switch position, resistors, and power setting.

With the example you mentioned, I found that no matter what data I tried to read, the return value were all 0x44.

For example, the flexspi_nor_get_vendor_id should return the ISSI vendor ID 0x9D, but I got 0x44 instead.

I also tried to read the status with command 05h, it also return 0x44.

But from the picture I posted in the original question, there's a message "Flash variant 'JEDEC_SFDP_Device' detected (8MB = 128*64K at 0x60000000)".

So I think somehow the device should be working, or otherwise there should not be a flash with correct size being detected.

0 Kudos