Datasheet
PICkit™ 3 Debug Express Lessons
© 2009 Microchip Technology Inc. DS41370C-page 67
Step into the following statement and through the function, which erases a 64-byte
block of memory that the strings are stored in.
// Erase the 64 bytes starting at 0x100
ProgMemErase64(0x100);
After completing the erase, select menu Debugger > Read. In the Program Memory
window, the 64 bytes of program memory starting at address 0x0100 where the strings
were stored have been erased, as shown in Figure 3-56.
FIGURE 3-56: ERASED 0X0100 TO 0X013F
The remaining code creates a 32-byte buffer in RAM and fills it with the alphabet
characters in uppercase, plus a few punctuation characters at the end. This buffer is
then written to the 32-byte block of program memory starting at 0x0100 that was just
erased. Since we read program memory, we’ll have to reset the debugger. Select
Debugger > Reset > Processor Reset
. Right-click on the source code and select
Breakpoints > Remove All Breakpoints
from the pop-up menu to clear the breakpoint
we set earlier. Run the program. After running for a few seconds, select Debugger >
Halt. The program should be stopped at final while(1) loop. Select Debugger > Read
again and we can see that the write to program memory was successful.
FIGURE 3-57: PROGRAM MEMORY WRITE RESULTS