Main Page | Report this Page
 
   
Science Forum Index  »  Electronics - Design Forum  »  18F452 programming specs
Page 1 of 1    
Author Message
Fred
Posted: Sat Feb 17, 2007 1:44 pm
Guest
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
Martin Riddle
Posted: Sat Feb 17, 2007 2:28 pm
Guest
"Fred" <frdrc@yahoo.com> wrote in message
news:raHBh.39660$eD2.556930@weber.videotron.net...
Quote:
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
Fred
Posted: Sat Feb 17, 2007 3:21 pm
Guest
"Martin Riddle" <martin_rid@verizon.net> wrote in message
news:xPHBh.579$ZF1.560@trndny02...
Quote:

"Fred" <frdrc@yahoo.com> wrote in message
news:raHBh.39660$eD2.556930@weber.videotron.net...
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


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


Thanks!
 
Page 1 of 1       All times are GMT - 5 Hours
The time now is Wed Oct 08, 2008 12:01 am