MPC5746C Flash Write explanation

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

MPC5746C Flash Write explanation

393 次查看
raph
Contributor I

Hello, 

I am working on MPC5746C controller and I noticed that it is not possible to erase a block inferior to 16KB (see this post: MPC5746 erase and write query - NXP Community)

But the MCU is able to write blocks inferior to 16 KB and only if sector is previously erased. In my case, I write consecutive blocks of 4KB where minutes, hours or days can elapse between two programming. 

I would like to explain to my colleagues what MCU capabilities enable this behavior by citing some parts of the MCU reference manual or any NXP documentation. 

I found this extract in reference manual (MPC5746C Reference Manual, Rev. 6.1, 01/2019): "Reads of the embedded flash memory return a 256-bit page of data that may be buffered
in the mini-cache in the flash memory controller. Programming of the flash may be done
by double word (64-bits), page (256-bits), or quad-page (1024-bits). Flash memory is
erased on a block by block basis."

From this extract, should I conclude that if a 16 KB block is erased, I can write it double word per double word or page per page or quad-page per quad-page until its last address ? As long as I'm not trying to program already programmed addresses.

I did not find where it's said that flash should be erased first to be programmed. Is it because it is an intrinsic Flash Memory property that NXP decided not to describe ? 

标记 (2)
0 项奖励
回复
1 回复

373 次查看
davidtosenovjan
NXP TechSupport
NXP TechSupport

From this extract, should I conclude that if a 16 KB block is erased, I can write it double word per double word or page per page or quad-page per quad-page until its last address ? 

- Yes, you are right.

I did not find where it's said that flash should be erased first to be programmed. Is it because it is an intrinsic Flash Memory property that NXP decided not to describe ?

- It is basic principle of any flash memory. If it is not erased before programming, then it is called over-programming and this is also used in some cases (EEPROM emulation).

0 项奖励
回复