A question about flash of MC9S08LL16

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

A question about flash of MC9S08LL16

跳至解决方案
1,584 次查看
fish_yu
Contributor III

Hello, everyone

I am a student. Recently,i study the MC9S08LL16RM. When i have read flash part of the file reference manual, i found a problem about it. On Page 61, there is a NOTE with bold style. I can't understand it.

At first, in the note, Freescale told me "Do not program any byte in the FLASH more than once after a successful erase operation." However, the end of note, freescale told me "Programming without first erasing may disturb data stored in the FLASH."Who could tell me what it is mean?

If the flash may not program after successful erase operation, Why wrote "Reprogramming bits to a byte that is already programmed is not allowed without first erasing the page in which the byte resides or mass erasing the entire FLASH memory."???

 

the following passage from the MC9S08LL16RM.

 

NOTE
Do not program any byte in the FLASH more than once after a successful
erase operation. Reprogramming bits to a byte that is already programmed
is not allowed without first erasing the page in which the byte resides or
mass erasing the entire FLASH memory. Programming without first erasing

may disturb data stored in the FLASH.

标签 (1)
标记 (1)
0 项奖励
回复
1 解答
792 次查看
peg
Senior Contributor IV

Hi fish_yu,

With S08 flash the erased state is all bits 1 (byte $FF/0xFF)

Programming can only change bits from 1 to 0 (NOT 0 to 1)

Erasing changes bits from 1 to 0 ONLY.

You can use a programming technique where further bits in a byte are changed from 1 to 0 on subsequent "programs" of the same byte. This is of course limited to changing bits that are already 1. This does work, however Freescale actively discourages users from employing this techinique.

 

在原帖中查看解决方案

0 项奖励
回复
1 回复
793 次查看
peg
Senior Contributor IV

Hi fish_yu,

With S08 flash the erased state is all bits 1 (byte $FF/0xFF)

Programming can only change bits from 1 to 0 (NOT 0 to 1)

Erasing changes bits from 1 to 0 ONLY.

You can use a programming technique where further bits in a byte are changed from 1 to 0 on subsequent "programs" of the same byte. This is of course limited to changing bits that are already 1. This does work, however Freescale actively discourages users from employing this techinique.

 

0 项奖励
回复