dsPIC30F6011/6012/6013/6014
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
;
; Initialize PM Page Boundary SFR
MOV
W0
,
TBLPAG
MOV
#0x6000,W0
; 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
;
; Write PM low word into program latch
TBLWTL W2
,
[W0]
TBLWTH W3
,
[W0++]
; Write PM high byte into program latch
; 1st_program_word
MOV
#LOW_WORD_1,W2
;
MOV
#HIGH_BYTE_1,W3
;
; Write PM low word into program latch
TBLWTL W2
,
[W0]
; Write PM high byte into program latch
TBLWTH W3
,
[W0++]
; 2nd_program_word
MOV
#LOW_WORD_2,W2
;
MOV
#HIGH_BYTE_2,W3
;
TBLWTL W2
,
[W0]
; Write PM low word into program latch
; Write PM high byte into program latch
TBLWTH W3
,
[W0++]
鈥?/div>
鈥?/div>
鈥?/div>
; 31st_program_word
MOV
#LOW_WORD_31,W2
;
MOV
#HIGH_BYTE_31,W3
;
; Write PM low word into program latch
TBLWTL W2
,
[W0]
; Write PM high byte into program latch
TBLWTH W3
,
[W0++]
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:
DISI
MOV
MOV
MOV
MOV
BSET
NOP
NOP
#5
INITIATING A PROGRAMMING SEQUENCE
;
;
;
;
;
;
;
;
;
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
#0x55,W0
W0
,
NVMKEY
#0xAA,W1
W1
,
NVMKEY
NVMCON,#WR
DS70117C-page 52
Preliminary
铮?/div>
2004 Microchip Technology Inc.
prev
next