Electronic Components Datasheet Search
  English  ▼
ALLDATASHEET.NET

X  

PIC24FJ64GA Datasheet(PDF) 46 Page - Microchip Technology

Part # PIC24FJ64GA
Description  28/44-Pin General Purpose, 16-Bit Flash Microcontrollers
PDF  262 Pages
Scroll/Zoom Zoom In 100%  Zoom Out
Manufacturer  MICROCHIP [Microchip Technology]
Direct Link  http://www.microchip.com
Logo MICROCHIP - Microchip Technology

PIC24FJ64GA Datasheet(HTML) 46 Page - Microchip Technology

Back Button PIC24FJ64GA Datasheet HTML 42Page - Microchip Technology PIC24FJ64GA Datasheet HTML 43Page - Microchip Technology PIC24FJ64GA Datasheet HTML 44Page - Microchip Technology PIC24FJ64GA Datasheet HTML 45Page - Microchip Technology PIC24FJ64GA Datasheet HTML 46Page - Microchip Technology PIC24FJ64GA Datasheet HTML 47Page - Microchip Technology PIC24FJ64GA Datasheet HTML 48Page - Microchip Technology PIC24FJ64GA Datasheet HTML 49Page - Microchip Technology PIC24FJ64GA Datasheet HTML 50Page - Microchip Technology Next Button
Zoom Inzoom in Zoom Outzoom out
 46 / 262 page
background image
PIC24FJ64GA004 FAMILY
DS39881C-page 44
Preliminary
© 2008 Microchip Technology Inc.
4.6.1
PROGRAMMING ALGORITHM FOR
FLASH PROGRAM MEMORY
The user can program one row of Flash program memory
at a time. To do this, it is necessary to erase the 8-row
erase block containing the desired row. The general
process is:
1.
Read
eight
rows
of
program
memory
(512 instructions) and store in data RAM.
2.
Update the program data in RAM with the
desired new data.
3.
Erase the block (see Example 4-1):
a)
Set the NVMOP bits (NVMCON<3:0>) to
‘0010’ to configure for block erase. Set the
ERASE
(NVMCON<6>)
and
WREN
(NVMCON<14>) bits.
b)
Write the starting address of the block to be
erased into the TBLPAG and W registers.
c)
Write 55h to NVMKEY.
d)
Write AAh to NVMKEY.
e)
Set the WR bit (NVMCON<15>). The erase
cycle begins and the CPU stalls for the dura-
tion of the erase cycle. When the erase is
done, the WR bit is cleared automatically.
4.
Write the first 64 instructions from data RAM into
the program memory buffers (see Example 4-1).
5.
Write the program block to Flash memory:
a) Set the NVMOP bits to ‘0001’ to configure
for row programming. Clear the ERASE bit
and set the WREN bit.
b) Write 55h to NVMKEY.
c)
Write AAh to NVMKEY.
d) Set the WR bit. The programming cycle
begins and the CPU stalls for the duration
of the write cycle. When the write to Flash
memory is done, the WR bit is cleared
automatically.
6.
Repeat steps 4 and 5, using the next available
64 instructions from the block in data RAM by
incrementing the value in TBLPAG, until all
512 instructions are written back to Flash
memory.
For protection against accidental operations, the write
initiate sequence for NVMKEY must be used to allow
any erase or program operation to proceed. After the
programming command has been executed, the user
must wait for the programming time until programming
is complete. The two instructions following the start of
the programming sequence should be NOPs, as shown
in Example 4-3.
EXAMPLE 4-1:
ERASING A PROGRAM MEMORY BLOCK
; Set up NVMCON for block erase operation
MOV
#0x4042, W0
;
MOV
W0, NVMCON
; Initialize NVMCON
; Init pointer to row to be ERASED
MOV
#tblpage(PROG_ADDR), W0
;
MOV
W0, TBLPAG
; Initialize PM Page Boundary SFR
MOV
#tbloffset(PROG_ADDR), W0
; Initialize in-page EA[15:0] pointer
TBLWTL W0, [W0]
; Set base address of erase block
DISI
#5
; Block all interrupts with priority <7
; for next 5 instructions
MOV
#0x55, W0
MOV
W0, NVMKEY
; Write the 55 key
MOV
#0xAA, W1
;
MOV
W1, NVMKEY
; Write the AA key
BSET
NVMCON, #WR
; Start the erase sequence
NOP
; Insert two NOPs after the erase
NOP
; command is asserted



Html Pages

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100  ...More


Datasheet Download

Go To PDF Page


Link URL



Does ALLDATASHEET help your business so far?  [ DONATE ] 

About Alldatasheet   |   Advertisement   |   Contact us   |   Privacy Policy   |   Link to Datasheet    |   Link Exchange   |   Manufacturer List
All Rights Reserved©Alldatasheet.com


Mirror Sites
English : Alldatasheet.com  |   English : Alldatasheet.net  |   Chinese : Alldatasheetcn.com  |   German : Alldatasheetde.com  |   Japanese : Alldatasheet.jp
Russian : Alldatasheetru.com  |   Korean : Alldatasheet.co.kr  |   Spanish : Alldatasheet.es  |   French : Alldatasheet.fr  |   Italian : Alldatasheetit.com
Portuguese : Alldatasheetpt.com  |   Polish : Alldatasheet.pl  |   Vietnamese : Alldatasheet.vn
Indian : Alldatasheet.in  |   Mexican : Alldatasheet.com.mx  |   British : Alldatasheet.co.uk  |   New Zealand : Alldatasheet.co.nz
Family Site : ic2ic.com  |   icmetro.com