Not able to program and execute program from S25FL128 with MIMXRT1021CAG4A

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

Not able to program and execute program from S25FL128 with MIMXRT1021CAG4A

跳至解决方案
2,818 次查看
jtro
Contributor III

I want to program S25FL128 to run my application but after programming it won't execute the program. After that I have verified the program in flash by J-FLASH utility and found that program is not written properly with Segger J-Link.

Next i have tried with PE Micro tool where I'm able to download program successfully but not able to execute the program here i assume this happen because of xip configuration which is present in fsl_flexspi_not_boot.c and flexspi_nor_config.c not match with S25FL128.

Please correct if I'm wrong.

Could you please share S25FL128 boot configuration file?

How to flash S25FL128 with Segger J-Link.

标签 (1)
标记 (3)
0 项奖励
回复
1 解答
2,723 次查看
jtro
Contributor III

polling_transfer demo not worked but i have used evkmimxrt1020_flash_component_nor and Link application to RAM and it worked.

Now application is executing.

Thanks for suggestion.

在原帖中查看解决方案

0 项奖励
回复
6 回复数
1,672 次查看
Adam89
Contributor I

Hi,

it seems, we have the same or a very similar issue. We can't get our application to run from FLASH. It works only from RAM. I tried the flash-demo example, but this example is running only from RAM. Our MCU is also the MIMXRT1021CAG4A and the Flash is the IS25LP064A-JBLE-TR.

Many thanks for your help!

Adam

0 项奖励
回复
2,723 次查看
jtro
Contributor III

See below flash config

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  = 16u * 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          = 64u * 1024u,
    .isUniformBlockSize = false,
};

Few trials i took

1) Change to 50MHz --> not worked

2) change dummy wait time --> not worked

FLEXSPI_LUT_SEQ(DUMMY_SDR, FLEXSPI_4PAD, 0x08, READ_SDR, FLEXSPI_4PAD, 0x04),

0 项奖励
回复
2,723 次查看
jeremyzhou
NXP Employee
NXP Employee

Hi ,

Thank you for your interest in NXP Semiconductor products and
for the opportunity to serve you.
After having a brief review of the datasheet of the S25FL128S, I don't find the error in the flexspi_nor_config_t struct. So I'd like to suggest you set the QUAD bit prior to program it, then give a try again.
In further, whether you can introduce the testing steps you did in detail, as it can help me to figure the issue out.

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 项奖励
回复
2,723 次查看
jtro
Contributor III

"set the QUAD bit prior to program it"

Are you saying to set Quad bit externally via programmer?

If yes, then how it possible to do it in production with JTAG programming.

Is there any programming loader available to do??

Please tell me how to do?

0 项奖励
回复
2,723 次查看
jeremyzhou
NXP Employee
NXP Employee

Hi,

Thanks for your reply.
1) Are you saying to set Quad bit externally via programmer?
-- In general, we'd like to suggest the developer run the polling_transfer demo which resides in the SDK library to set the QUAD bit.

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 项奖励
回复
2,724 次查看
jtro
Contributor III

polling_transfer demo not worked but i have used evkmimxrt1020_flash_component_nor and Link application to RAM and it worked.

Now application is executing.

Thanks for suggestion.

0 项奖励
回复