Electrical – Using High Endurance Flash Memory on PIC processor

flashmicrochipmicrocontrollerpic

I am designing with a PIC10F322 ( http://ww1.microchip.com/downloads/en/DeviceDoc/40001585D.pdf ). I want to use the "high endurance flash memory" and the document states that the high endurance memory refers to the "lower byte last 128 addresses" and that the "self-timed write cycle time" is 2.5 ms max. I am running the CCS compiler if it makes any difference. The data sheet also says to refer to “PIC10(L)F320/322 Flash Memory Programming
Specification” (DS41572) which seems to be mainly concerned with ICSP.

I have a couple of questions if anyone has experience with these things:

There is no specific instruction set to write to "high endurance" flash memory. If I write to it the same way I would write to program flash memory (14 -bit words, unlock sequence, etc.), I am guessing I only write and read the lower 8 bits? Are the upper 6 bits returned from the read sequence not "high endurance" and therefore unreliable? Must they be masked off during a read?

Thanks in advance.

Best Answer

this document
AN1673
Using the PIC16F1XXX High-Endurance Flash (HEF) Block

found here ... http://ww1.microchip.com/downloads/en/AppNotes/00001673A.pdf

states
It is also worth noting that each high-endurance cell can be used only to hold an 8-bit value, whereas the standard Flash memory will hold 14 bits of information as per the traditional PIC MCU mid-range program memory array design.

there is a lot of information in this document

table 2-1, of the document that you linked, shows that addressing locations 0180h-01FFh in flash memory gives access to the high endurance flash area in your device.