English
Language : 

DSPIC30F6010 Datasheet, PDF (48/218 Pages) Microchip Technology – High-Performance Digital Signal Controllers
dsPIC30F6010
6.6.3 LOADING WRITE LATCHES
Example 6-2 shows a sequence of instructions that
can be used to load the 96 bytes of write latches. 32
TBLWTL and 32 TBLWTH instructions are needed to
load the write latches selected by the table pointer.
EXAMPLE 6-2: LOADING WRITE LATCHES
; Set up a pointer to the first program memory location to be written
; program memory selected, and writes enabled
MOV
#0x0000,W0
;
MOV
W0,TBLPAG
MOV
#0x6000,W0
; Initialize PM Page Boundary SFR
; An example program memory address
; Perform the TBLWT instructions to write the latches
; 0th_program_word
MOV
#LOW_WORD_0,W2
;
MOV
#HIGH_BYTE_0,W3
;
TBLWTL W2,[W0]
TBLWTH W3,[W0++]
; 1st_program_word
; Write PM low word into program latch
; Write PM high byte into program latch
MOV
#LOW_WORD_1,W2
;
MOV
#HIGH_BYTE_1,W3
;
TBLWTL W2,[W0]
TBLWTH W3,[W0++]
; 2nd_program_word
; Write PM low word into program latch
; Write PM high byte into program latch
MOV
#LOW_WORD_2,W2
;
MOV
#HIGH_BYTE_2,W3
;
TBLWTL W2, [W0]
TBLWTH W3, [W0++]
•
; Write PM low word into program latch
; Write PM high byte into program latch
•
•
; 31st_program_word
MOV
#LOW_WORD_31,W2
;
MOV
#HIGH_BYTE_31,W3
;
TBLWTL W2, [W0]
TBLWTH W3, [W0++]
; Write PM low word into program latch
; Write PM high byte into program latch
Note: In Example 6-2, the contents of the upper byte of W3 has no effect.
6.6.4
INITIATING THE PROGRAMMING
SEQUENCE
For protection, 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.
EXAMPLE 6-3: INITIATING A PROGRAMMING SEQUENCE
DISI
MOV
MOV
MOV
MOV
BSET
NOP
NOP
#5
#0x55,W0
W0,NVMKEY
#0xAA,W1
W1,NVMKEY
NVMCON,#WR
; Block all interrupts with priority <7
; for next 5 instructions
; Write the 0x55 key
;
; Write the 0xAA key
; Start the erase sequence
; Insert two NOPs after the erase
; command is asserted
DS70119D-page 46
Preliminary
 2004 Microchip Technology Inc.