Maker Pro
Maker Pro

18F452 programming specs

F

Fred

Jan 1, 1970
0
Hi everyone,
I didn't find a newsgroup for this particular subject so I decided to post
here.

Programming specs for 18F452:
http://ww1.microchip.com/downloads/en/DeviceDoc/39576b.pdf

I'm trying to understand the "code memory" programming of a 18F452 (or same
family PIC) using multi-panel writing (p. 10 and up). Microchip explanation
confuses me when it comes to the address I must use in the TBLPTR register.

Is TBLPTR register actually holding the address of the code memory to be
program?

Using the equation in their programming flow (p. 13), it doesn't give a
linear incrementing address at each iteration of the programming loop:

Panel Base Address = (N-1) * 2000h
Addr = Panel Base Address + (8*LoopCount)

Anyone could shade some light?

Freddy
 
M

Martin Riddle

Jan 1, 1970
0
Fred said:
Hi everyone,
I didn't find a newsgroup for this particular subject so I decided to post
here.

Programming specs for 18F452:
http://ww1.microchip.com/downloads/en/DeviceDoc/39576b.pdf

I'm trying to understand the "code memory" programming of a 18F452 (or
same family PIC) using multi-panel writing (p. 10 and up). Microchip
explanation confuses me when it comes to the address I must use in the
TBLPTR register.

Is TBLPTR register actually holding the address of the code memory to be
program?

Using the equation in their programming flow (p. 13), it doesn't give a
linear incrementing address at each iteration of the programming loop:

Panel Base Address = (N-1) * 2000h
Addr = Panel Base Address + (8*LoopCount)

Anyone could shade some light?

Freddy

Your writing to a couple of 8 byte buffers, which are then all written
simutaniously to the code memory. addresses of these 8byte blocks of code
would be 2000h, 4000h 6000h etc.
You would apparently take you hex file and get the first 8 bytes of these
boundaries 2000h, 4000h, 6000h etc and write these values to the buffer.

Seems straight forward. ;)

Cheers
 
F

Fred

Jan 1, 1970
0
Martin Riddle said:
Your writing to a couple of 8 byte buffers, which are then all written
simutaniously to the code memory. addresses of these 8byte blocks of code
would be 2000h, 4000h 6000h etc.
You would apparently take you hex file and get the first 8 bytes of these
boundaries 2000h, 4000h, 6000h etc and write these values to the buffer.

Seems straight forward. ;)

Cheers

I thought the programming was progressive from 0000h to 7fffh and I didn't
understand what Microchip really means with the term "Panel".


Thanks!
 
Top