Datasheets»Microchip Technology»PIC16LF1507 Datasheet

PIC16LF1507 Datasheet - Page 87

Download or read online Microchip Technology PIC16LF1507 20-Pin Flash, 8-Bit Microcontrollers pdf datasheet.



Page
87 of 266
prevnext
PIC16(L)F1507
10.2.3
ERASING FLASH PROGRAM
MEMORY
While executing code, program memory can only be
erased by rows. To erase a row:
1.
Load the PMADRH:PMADRL register pair with
any address within the row to be erased.
2.
Clear the CFGS bit of the PMCON1 register.
3.
Set the FREE and WREN bits of the PMCON1
register.
4.
Write 55h, then AAh, to PMCON2 (Flash
programming unlock sequence).
5.
Set control bit WR of the PMCON1 register to
begin the erase operation.
See
Example
10-2.
After the “BSF PMCON1,WR” instruction, the processor
requires two cycles to set up the erase operation. The
user must place two NOP instructions immediately fol-
lowing the WR bit set instruction. The processor will
halt internal operations for the typical 2 ms erase time.
This is not Sleep mode as the clocks and peripherals
will continue to run. After the erase cycle, the processor
will resume operation with the third instruction after the
PMCON1 write instruction.
DS41586A-page 87
FIGURE 10-4:
FLASH PROGRAM
MEMORY ERASE
FLOWCHART
Start
Erase Operation
Disable Interrupts
(GIE = 0)
Select
Program or Configuration Memory
(CFGS)
Select Row Address
(PMADRH:PMADRL)
Select Erase Operation
(FREE = 1)
Enable Write/Erase Operation
(WREN = 1)
Unlock Sequence
Figure 10-3
(FIGURE x-x)
CPU stalls while
Erase operation completes
(2ms typical)
Disable Write/Erase Operation
(WREN = 0)
Re-enable Interrupts
(GIE = 1)
End
Erase Operation
Preliminary
 2011 Microchip Technology Inc.

Comments to this Datasheet