Hi all,
I am working with the PIC16F687; it's data sheet states that "The PIC has a 13-bit program counter capable of addressing 8Kx14-bit program memory space. ... Only the first 2Kx14 (0000-07FF) are physically implemented for the PIC16F687..."... However I suspect that the chip I am working with actually has a flash size of 4Kx14 (huh...?)
I generated a hex file with 'garbage data' (i.e. not representing an actual program that can run on the PIC) using Python IntelHex package to fill up 4K of the flash memory (0000-0FFF). The first half (0000-07FF) is filled with 0x2A and the second half (0800-0FFF)is filled with 0x33 (the data values are irrelevant).
I successfully managed to burn that hex file onto the chip (using MPLABX IDE, IPE and the PK3CMD command line interface), and when reading the PIC memory back, I see that the entire 4K range was correctly written and read back as I specified in the hex file.... How did that happen if the chip only implements 2K of flash?
I am attaching the hex file that I read back from the chip (this was was read using MPLABX IDE) if anyone wants to inspect it.
Thanks in advance for any assistance
I am working with the PIC16F687; it's data sheet states that "The PIC has a 13-bit program counter capable of addressing 8Kx14-bit program memory space. ... Only the first 2Kx14 (0000-07FF) are physically implemented for the PIC16F687..."... However I suspect that the chip I am working with actually has a flash size of 4Kx14 (huh...?)
I generated a hex file with 'garbage data' (i.e. not representing an actual program that can run on the PIC) using Python IntelHex package to fill up 4K of the flash memory (0000-0FFF). The first half (0000-07FF) is filled with 0x2A and the second half (0800-0FFF)is filled with 0x33 (the data values are irrelevant).
I successfully managed to burn that hex file onto the chip (using MPLABX IDE, IPE and the PK3CMD command line interface), and when reading the PIC memory back, I see that the entire 4K range was correctly written and read back as I specified in the hex file.... How did that happen if the chip only implements 2K of flash?
I am attaching the hex file that I read back from the chip (this was was read using MPLABX IDE) if anyone wants to inspect it.
Thanks in advance for any assistance
Attachments
-
12.7 KB Views: 2