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.


1 Answer 1


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

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

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.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.