S12X - EEE - Not applying RAM changes to NVM?

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

S12X - EEE - Not applying RAM changes to NVM?

Jump to solution
597 Views
saschapfengler
Contributor II

Hi there!

I was reading this sentence in AN3490...

"If more data is written to the same EEE RAM location before previous data has been programmed to the
EEE NVM by the memory controller (because it was busy or the EEE is disabled), only the RAM contents
will be updated; the increment of the counter will remain valid from first data write to the EEE RAM."

...and was wondering if this meant, that changes in EEE RAM may not always be applied to D-Flash / EEE NVM.

As I understand this:

start

EEE-RAM content: 0xFFFF

EEE-NV content: 0xFFFF

write to EEE-RAM:

EEE-RAM content: 0x0000

EEE-NV content: 0xFFFF

-> Start of EEE-NV Write

EEE-RAM content: 0x0000

EEE-NV content: 0x????

-> While EEE-NV Write in progress: Change to EEE-RAM content (No Write Counter increment?)

EEE-RAM content: 0x00AA

EEE-NV content: 0x????

-> EEE-NV Write Operation finished (Write Counter decrement)

EEE-RAM content: 0x00AA

EEE-NV content: 0x0000

-> No new EEE-NV Write triggered automatically?

1 Solution
485 Views
RadekS
NXP Employee
NXP Employee

Hi Sascha,

This is not that case.

“If more data is written to the same EEE RAM location before previous data has been programmed” means more than one write.

start

EEE-RAM content: 0xFFFF

EEE-NV content: 0xFFFF

 

write to EEE-RAM:

EEE-RAM content: 0x0000

EEE-NV content: 0xFFFF

 

-> Start of EEE-NV Write

EEE-RAM content: 0x0000

EEE-NV content: 0xFFFF

write 0x00AA to EEE-RAM:

-> While EEE-NV Write in progress: New task is entered into queue. (Write Counter increment)

EEE-RAM content: 0x00AA

EEE-NV content: 0xFFFF

write 0x00BB to EEE-RAM:

-> While EEE-NV Write in progress: Since more than one data is written to the same EEE RAM location, new task is not entered into queue. (No Write Counter increment)

EEE-RAM content: 0x00BB

EEE-NV content: 0xFFFF

 

-> EEE-NV Write Operation finished (one task still in a queue)

EEE-RAM content: 0x00BB

EEE-NV content: 0x0000

 

-> Start of EEE-NV Write

EEE-RAM content: 0x00BB

EEE-NV content: 0x0000

-> EEE-NV Write Operation finished (one task still in a queue)

EEE-RAM content: 0x00BB

EEE-NV content: 0x00BB

 

Note: there isn’t any direct mapping between EEE-RAM address and EEE-NV content address. The EEE-NV content is the last record with some ID (that refers to EEE-RAM address) in Active/Full sectors.

I hope it helps you.

Have a great day,
Radek

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

2 Replies
486 Views
RadekS
NXP Employee
NXP Employee

Hi Sascha,

This is not that case.

“If more data is written to the same EEE RAM location before previous data has been programmed” means more than one write.

start

EEE-RAM content: 0xFFFF

EEE-NV content: 0xFFFF

 

write to EEE-RAM:

EEE-RAM content: 0x0000

EEE-NV content: 0xFFFF

 

-> Start of EEE-NV Write

EEE-RAM content: 0x0000

EEE-NV content: 0xFFFF

write 0x00AA to EEE-RAM:

-> While EEE-NV Write in progress: New task is entered into queue. (Write Counter increment)

EEE-RAM content: 0x00AA

EEE-NV content: 0xFFFF

write 0x00BB to EEE-RAM:

-> While EEE-NV Write in progress: Since more than one data is written to the same EEE RAM location, new task is not entered into queue. (No Write Counter increment)

EEE-RAM content: 0x00BB

EEE-NV content: 0xFFFF

 

-> EEE-NV Write Operation finished (one task still in a queue)

EEE-RAM content: 0x00BB

EEE-NV content: 0x0000

 

-> Start of EEE-NV Write

EEE-RAM content: 0x00BB

EEE-NV content: 0x0000

-> EEE-NV Write Operation finished (one task still in a queue)

EEE-RAM content: 0x00BB

EEE-NV content: 0x00BB

 

Note: there isn’t any direct mapping between EEE-RAM address and EEE-NV content address. The EEE-NV content is the last record with some ID (that refers to EEE-RAM address) in Active/Full sectors.

I hope it helps you.

Have a great day,
Radek

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

485 Views
saschapfengler
Contributor II

Thanks for your detailed answer, Radek Sekar!

This is what I was hoping for. ^^

0 Kudos