Flash Programming

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Flash Programming

Jump to solution
2,543 Views
omerkaanbasakin
Contributor IV

Hello ı am using Mcuxpresso and MIMXRT 1052 on custom board. I use IS25LP064A qspi flash as flash. Debug the code with PE Micro Universal Multilink. When ı debug the code, faults occurs. Also   tried to use GUI Flash Tool and errors occurs (loading abort). When ı link application to ram ( project > properties > c/c++ build > mcu setting > enable link aplication to ram) code works perfectly. 

Memory Settings  : 

pastedImage_2.png

P.S. : I tried 3 drivers as a flash driver : MIMXRT1050-EVK_IS25WP064A.cfx , MIMXRT1050_SFDP_QSPI.cfx, MIMXRT1020-EVK_IS25LP064.cfx. Result not changed. 

Faults: 

pastedImage_3.png

Also change hyperflash code for qspi in the xip folder.

pastedImage_4.png  

Labels (1)
0 Kudos
1 Solution
2,304 Views
omerkaanbasakin
Contributor IV

Hello ı got the solution,

Changed debug configurations in debug configurations. Add script from pe micro help folder. 

Kind Regards.

View solution in original post

0 Kudos
13 Replies
2,305 Views
omerkaanbasakin
Contributor IV

Hello ı got the solution,

Changed debug configurations in debug configurations. Add script from pe micro help folder. 

Kind Regards.

0 Kudos
1,345 Views
Lukas_Frank
Senior Contributor I

Hi Dear @omerkaanbasakin I have same issue with your question below:

https://community.nxp.com/t5/i-MX-RT/Flash-Programming/m-p/1071788/thread-id/8849

 

I couldn’t understand how did you handle the issue, could you please tell me which script did you use ?

 

Best wishes.

0 Kudos
2,304 Views
jeremyzhou
NXP Employee
NXP Employee

Hi Omer Kaan Basakinci ,

Thank you for your interest in NXP Semiconductor products and
for the opportunity to serve you.
I'd like to suggest you follow the below steps to find this issue out.
1) Please check the hardware circuit about the IS25LP064A, be assure of the connection is right.
2) Maybe you can try to use other IDEs than the MCUXpresso to work with the PE Micro Universal Multilink, and I think the result will provide some clues.

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.
-------------------------------------------------------------------------------

0 Kudos
2,304 Views
omerkaanbasakin
Contributor IV

Hi jeremyzhou

Thanks for your reply.

We have used the connection given in the i.MX RT1050 Evaluation Kit. We have used QSPI flash instead of hyperlash in our custom board. By using the evaluation kit we can program the hyperflash with universal multilink and after that we can run the board standalone. We want do the same thing in our custom board with QSPI flash. Would you please inform us the related pin configurations (boot mode, etc.) and software drivers and IDE configuration that are needed?

Regards

0 Kudos
2,304 Views
jeremyzhou
NXP Employee
NXP Employee

Hi Omer Kaan Basakinci ,

Thanks for your reply.
1) Would you please inform us of the related pin configurations (boot mode, etc.) and software drivers and IDE configuration that are needed?
-- Regarding the software side, you should below qspiflash_config to replace the original struct in the SDK demo.

const flexspi_nor_config_t qspiflash_config = {
.memConfig =
{
.tag = FLEXSPI_CFG_BLK_TAG,
.version = FLEXSPI_CFG_BLK_VERSION,
.readSampleClkSrc = kFlexSPIReadSampleClk_LoopbackFromDqsPad,
.csHoldTime = 3u,
.csSetupTime = 3u,
// Enable DDR mode, Wordaddassable, Safe configuration, Differential clock
.sflashPadType = kSerialFlash_4Pads,
.serialClkFreq = kFlexSpiSerialClk_100MHz,
.sflashA1Size = 8u * 1024u * 1024u,
.lookupTable =
{
// Read LUTs
FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0xEB, RADDR_SDR, FLEXSPI_4PAD, 0x18),
FLEXSPI_LUT_SEQ(DUMMY_SDR, FLEXSPI_4PAD, 0x06, READ_SDR, FLEXSPI_4PAD, 0x04),
},
},
.pageSize = 256u,
.sectorSize = 4u * 1024u,
.blockSize = 256u * 1024u,
.isUniformBlockSize = false,
};

The boot mode is determined by the boot pins, please check them carefully and assure boot up from the QSPI flash.
In further, whether you try to use other debug tools to debug your custom board.

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.
-------------------------------------------------------------------------------

0 Kudos
2,304 Views
omerkaanbasakin
Contributor IV

Hi jeremyzhou

Thanks for your reply,

We have set BOOTMODE(1:0)=10, and we didn't make any difference, other pins are in default states. Is this OK, or do we have to make other changes? If there is, what are the changes?

Thanks for your time.

Kind Regards.

0 Kudos
2,304 Views
jeremyzhou
NXP Employee
NXP Employee

Hi Omer Kaan Basakinci ,

Thanks for your reply.
1) Is this OK, or do we have to make other changes?
-- It's not enough to set the  BOOTMODE(1:0)=10, please set the boot pins as the below figure to select to boot from the QSPI.

pastedImage_6.png

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.
-------------------------------------------------------------------------------

0 Kudos
2,304 Views
omerkaanbasakin
Contributor IV

Hi jeremyzhou

Thanks for your reply,

We did the same settings however we couldn't success. How can we configure eFUSE and BT_FUSE_SEL settings by using universal multilink? And what must be the correct settings for the FUSEs?

Thanks for yoru time.

Kind Regards

0 Kudos
2,304 Views
jeremyzhou
NXP Employee
NXP Employee

Hi Omer Kaan Basakinci ,

Thanks for your reply.
I'd like to suggest you try to use other debug tools to debug your custom board or use other IDEs than the MCUXpresso to work with the PE Micro Universal Multilink before configuring the eFUSE field, as this field only allows to be written once, then keep the value permanently.

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.
-------------------------------------------------------------------------------

0 Kudos
2,304 Views
omerkaanbasakin
Contributor IV

Hi jeremyzhou‌,

Thanks for your reply,

We have only PE universal multlink emulator probe and we have only MCUXpresso IDE. We couldn't succeed to download the program to QSPI flash by using either start debugging or GUI Flash tool. By using RT1050 EVK Development Board, we can program the hyperflash by using PE Universal Multilink and make the board run standalone after programming the hyperflash. Would you please inform us how we can proceed? If you want, we can share our schematics. By the way, we can download the program into RAM and start debugging.

Kind Regards.

0 Kudos
2,304 Views
jeremyzhou
NXP Employee
NXP Employee

Hi Omer Kaan Basakinci ,

Thanks for your reply.
In my opinion, I still consider that the issue is related to the hardware circuit about the IS25LP064A.
To confirm it, I'd like to run the flexspi_nor_polling_transfer demo in the RAM, and the demo would send data and operate the external Nor flash connected with FLEXSPI.
Please give a try.

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.
-------------------------------------------------------------------------------

0 Kudos
2,304 Views
omerkaanbasakin
Contributor IV

Hi jeremyzhou‌,

Thanks for your reply.

Following to your suggestion , we ran the flexspi_nor_polling_transsfer demo in the ram. We run the code stpe by step. According to the code "erase data - succesfully" and "program data- succesfully". 

Some of our schematics :

1.PNG

2.PNG

3.PNG

Kind Regards.

0 Kudos
2,304 Views
jeremyzhou
NXP Employee
NXP Employee

Hi Omer Kaan Basakinci,

Thanks for your reply.
Having a brief review of the schematic, I don't find something wrong, and according to your reply, the flexspi_nor_polling_transsfer demo works well, it can verify that the hardware circuit about the IS25LP064A is good too.
It seems a bit weird, maybe you can try to use the other IDEs than the MCUXpresso, such as IAR, Keil to open the flexspi_nor_polling_transsfer demo project to debug it, if they work well, it would indicate that this issue is related to MCUXpresso,
BTW, please use the latest version of the MCUXpresso.

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.
-------------------------------------------------------------------------------

0 Kudos