AnsweredAssumed Answered

Clarification on "ONCE" Flash fields

Question asked by Catosh on Jul 5, 2017
Latest reply on Jul 27, 2017 by Mark Butcher

The mapping and functionality of the "once" flash flieds is not very clear for me. 

 

Program once (PO): read freely, no erase and limited program capability.

the PO IFR has 16bytes of XACC, 16bytes for SACC, 64bytes for ID Field. 
According to the Datasheet, "The Program Once Field in the program flash IFR provides 96 bytes of user data storage
separate from the program flash main array".
1) 32bytes are for access and supervisor control, 64bytes are for program ID field. Where is the user data storage located? 
2) the XACC and SACC are related to what? To the regular flash or the program once filed? what and where am I going to store/execute that code? 

 

 

Program Flash Erasable IFR Map:
16bytes x 2 total.
x20:x23 Programmed using Program Once, CANNOT be read with Read Once. How do I read this? Should I use the Read Resource Command?
x30:x33 Programmed using Program Once, READ with Read Once.

 

Then the commands: {
[...]The Read Once command provides read access to special 96-byte fields located in the
program flash 0 IFR (see
Program Flash IFR Map and Program Once Field). Access to
the Program Once ID field is via 16 records (index values 0x00 - 0x0F), each 4 bytes
long. Access to the Program Once XACC and SACC fields are via 4 records (index
values 0x10 - 0x13), each of which is 8 bytes long.
The Read Once command also provides read access to special 4-byte records (index
values 0x30 - 0x33) located in the program flash erasable IFR (see
Program Flash
Erasable IFR Map
and Erasable Program Once Field). These fields are programmed
using the Program Once command
 }


According to my understanding,there is no way to read feld x20:x23 from the erasable fields, unless I am going to read them with the Read Resource Command. Am I right?

 

Again on the Program Once Command: {

[...]The Program Once command enables programming to special 96-byte fields in the
program flash 0 IFR (see
Program Flash IFR Map and Program Once Field). Access to
the Program Once ID field is via 16 records (index values 0x00 - 0x0F), each 4 bytes
long. Access to the Program Once XACC and SACC fields are via 4 records (index
values 0x10 - 0x13), each of which is 8 bytes long. These records can be read using the
Read Once command (see
Read Once Command) or using the Read Resource command
(see
Read Resource Command). }

 

Summarising my doubts: 

The fields I can program using the Program Once are not "User data storge" fields but special byte fields?
Why the command is called Read Once if I can read more than once that field? 

The XACC and SACC on IFR are related to what? Are the same to what the FMC refers to as FAC? If so, what's the meaning of the Default Flash Protection bytes area (0x0_408 - 0x0_040B) ?

 

Any hit would be gladly appreciated. 

B.R.

 

L.

Outcomes