S32K148 FlexNVM FTFC RDCOLERR Report

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

S32K148 FlexNVM FTFC RDCOLERR Report

1,182 Views
TerryDuPower
Contributor III

Dear Supporters,

       I use S32K 148 FlexNVM as a  Data flash, the driver (MCAL )is generated by EB.

After severals time earse and write, I get a error(RDCOLERR). 

TerryDuPower_0-1656576817206.png

Could you give me some help? 

 

0 Kudos
7 Replies

1,175 Views
danielmartynek
NXP TechSupport
NXP TechSupport

Hello Jianfeng Liu,

This is explained in the description of this flag.

danielmartynek_0-1656666285103.png

During the programming / erasing FTFC operation on the DFlash block, there must be no other access to the block.

Please make sure that interrupt routines do not read the block, there is no DMA access to the block, etc.

 

BR, Daniel

 

 

0 Kudos

1,155 Views
TerryDuPower
Contributor III

Hi Daniel,

Thanks for your reply.

Before erase and write FlexNVM, I already disable interrupt, and no DMA to this block. But it still get FTFC RDCOLERR.

TerryDuPower_0-1656925943940.png

 

0 Kudos

1,138 Views
cuongnguyenphu
NXP Employee
NXP Employee

@TerryDuPower ,
Seems that you called Fls_MainFunction but not wait until the status back to IDLE before call for next time, could you try this way:

cuongnguyenphu_0-1657187798133.png

For every step to call command to Erase or Write Fls, you need to wait until the main function has done

Tags (1)
0 Kudos

1,130 Views
TerryDuPower
Contributor III

@cuongnguyenphu 

Thanks for your support!

I tried wait MEMIF_IDLE before  Fls_MainFunction(),  but still get FTFC RDCOLERR.

 

while(MEMIF_IDLE != Fls_GetStatus())
{
    Fls_MainFunction();
}

0 Kudos

1,107 Views
cuongnguyenphu
NXP Employee
NXP Employee

SO, how's about Erase function ? It's need to wait for Idle state also

0 Kudos

1,104 Views
TerryDuPower
Contributor III

TerryDuPower_0-1657518161642.png

@cuongnguyenphu  Actually, I add both earse and write. It still get FTFC RDCOLERR.

0 Kudos

1,086 Views
cuongnguyenphu
NXP Employee
NXP Employee

Can you remove the line: for (idx =0; idx < (FBL_DATA_SIZE / FLS_WRITE_DOUBLE_WORD); idx++)
In my view, only 1 while loop is enough to write data to Fls sector, despite the data size of Data to be write into Fls. 

cuongnguyenphu_1-1657705727260.png

 

 



0 Kudos