PIC24FJ32GB002-E/ML MICROCHIP [Microchip Technology], PIC24FJ32GB002-E/ML Datasheet - Page 59

no-image

PIC24FJ32GB002-E/ML

Manufacturer Part Number
PIC24FJ32GB002-E/ML
Description
28/44-Pin, 16-Bit, Flash Microcontrollers with USB On-The-Go (OTG) and nanoWatt XLP Technology
Manufacturer
MICROCHIP [Microchip Technology]
Datasheet
EXAMPLE 5-2:
EXAMPLE 5-3:
 2010 Microchip Technology Inc.
// C example using MPLAB C30
//Set up pointer to the first memory location to be written
; Set up NVMCON for row programming operations
; Set up a pointer to the first program memory location to be written
; program memory selected, and writes enabled
; Perform the TBLWT instructions to write the latches
; 0th_program_word
; 1st_program_word
;
; 63rd_program_word
2nd_program_word
unsigned long progAddr = 0xXXXXXX;
unsigned int offset;
TBLPAG = progAddr>>16;
offset = progAddr & 0xFFFF;
__builtin_tblwtl(offset, 0x0000);
NVMCON = 0x4042;
asm("DISI #5");
__builtin_write_NVM();
MOV
MOV
MOV
MOV
MOV
MOV
MOV
TBLWTL W2, [W0]
TBLWTH W3, [W0++]
MOV
MOV
TBLWTL W2, [W0]
TBLWTH W3, [W0++]
MOV
MOV
TBLWTL W2, [W0]
TBLWTH W3, [W0++]
MOV
MOV
TBLWTL W2, [W0]
TBLWTH W3, [W0]
#0x4001, W0
W0, NVMCON
#0x0000, W0
W0, TBLPAG
#0x6000, W0
#LOW_WORD_0, W2
#HIGH_BYTE_0, W3
#LOW_WORD_1, W2
#HIGH_BYTE_1, W3
#LOW_WORD_2, W2
#HIGH_BYTE_2, W3
#LOW_WORD_31, W2
#HIGH_BYTE_31, W3
ERASING A PROGRAM MEMORY BLOCK – ‘C’ LANGUAGE CODE
LOADING THE WRITE BUFFERS – ASSEMBLY LANGUAGE CODE
PIC24FJ64GB004 FAMILY
// Address of row to write
// Initialize PM Page Boundary SFR
// Initialize lower word of address
// Set base address of erase block
// with dummy latch write
// Initialize NVMCON
// Block all interrupts with priority <7
// for next 5 instructions
// C30 function to perform unlock
// sequence and set WR
;
; Initialize NVMCON
;
; Initialize PM Page Boundary SFR
; An example program memory address
;
;
; Write PM low word into program latch
; Write PM high byte into program latch
;
;
; Write PM low word into program latch
; Write PM high byte into program latch
;
;
; Write PM low word into program latch
; Write PM high byte into program latch
;
;
; Write PM low word into program latch
; Write PM high byte into program latch
DS39940D-page 59

Related parts for PIC24FJ32GB002-E/ML