A question about flash of MC9S08LL16

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

A question about flash of MC9S08LL16

Jump to solution
1,226 Views
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.

Labels (1)
Tags (1)
0 Kudos
1 Solution
434 Views
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.

 

View solution in original post

0 Kudos
1 Reply
435 Views
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 Kudos