2011 Microchip Technology Inc.
DS70118J-page 45
dsPIC30F2010
6.6
Programming Operations
A complete programming sequence is necessary for
programming or erasing the internal Flash in RTSP
mode. A programming operation is nominally 2 ms in
duration and the processor stalls (waits) until the oper-
ation is finished. Setting the WR bit (NVMCON<15>)
starts the operation, and the WR bit is automatically
cleared when the operation is finished.
6.6.1
PROGRAMMING ALGORITHM FOR
PROGRAM FLASH
The user can erase and program one row of program
Flash memory at a time. The general process is:
1.
Read one row of program Flash (32 instruction
words) and store into data RAM as a data
“image”.
2.
Update the data image with the desired new
data.
3.
Erase program Flash row.
a)
Set up NVMCON register for multi-word,
program Flash, erase and set WREN bit.
b)
Write address of row to be erased into
NVMADRU/NVMDR.
c)
Write 0x55 to NVMKEY.
d)
Write 0xAA to NVMKEY.
e)
Set the WR bit. This will begin erase cycle.
f)
CPU will stall for the duration of the erase
cycle.
g)
The WR bit is cleared when erase cycle
ends.
4.
Write 32 instruction words of data from data
RAM “image” into the program Flash write
latches.
5.
Program 32 instruction words into program
Flash.
a)
Set up NVMCON register for multi-word,
program Flash, program and set WREN bit.
b)
Write 0x55 to NVMKEY.
c)
Write 0xAA to NVMKEY.
d)
Set the WR bit. This will begin program
cycle.
e)
CPU will stall for duration of the program
cycle.
f)
The WR bit is cleared by the hardware
when program cycle ends.
6.
Repeat steps 1 through 5 as needed to program
desired amount of program Flash memory.
6.6.2
ERASING A ROW OF PROGRAM
MEMORY
Example 6-1 shows a code sequence that can be used
to erase a row (32 instructions) of program memory.
EXAMPLE 6-1:
ERASING A ROW OF PROGRAM MEMORY
; Setup NVMCON for erase operation, multi word write
; program memory selected, and writes enabled
MOV
#0x4041,W0
;
MOV
W0,NVMCON
; Init NVMCON SFR
; Init pointer to row to be ERASED
MOV
#tblpage(PROG_ADDR),W0
;
MOV
W0,NVMADRU
; Initialize PM Page Boundary SFR
MOV
#tbloffset(PROG_ADDR),W0
; Initialize in-page EA[15:0] pointer
MOV
W0, NVMADR
; Initialize NVMADR SFR
DISI
#5
; Block all interrupts with priority <7
; for next 5 instructions
MOV
#0x55,W0
MOV
W0,NVMKEY
; Write the 0x55 key
MOV
#0xAA,W1
;
MOV
W1,NVMKEY
; Write the 0xAA key
BSET
NVMCON,#WR
; Start the erase sequence
NOP
; Insert two NOPs after the erase
NOP
; command is asserted
相关PDF资料
DSPIC30F2020-30I/MMB32 IC DSPIC MCU/DSP 12K 28QFN
DSPIC30F3011-20I/P IC DSPIC MCU/DSP 24K 40DIP
DSPIC30F3013-20I/ML IC DSPIC MCU/DSP 24K 44QFN
DSPIC30F4011-30I/ML IC DSPIC MCU/DSP 48K 44QFN
DSPIC30F4013-30I/ML IC DSPIC MCU/DSP 48K 44QFN
DSPIC30F5013-30I/PT IC DSPIC MCU/DSP 66K 80TQFP
DSPIC30F5015-30I/PT IC DSPIC MCU/DSP 66K 64TQFP
DSPIC30F6010-20E/PF IC DSPIC MCU/DSP 144K 80TQFP
相关代理商/技术参数
DSPIC30F2010T-20E/MMG 功能描述:数字信号处理器和控制器 - DSP, DSC 16 Bit MCU/DSP 28LD 20M 12KB FL RoHS:否 制造商:Microchip Technology 核心:dsPIC 数据总线宽度:16 bit 程序存储器大小:16 KB 数据 RAM 大小:2 KB 最大时钟频率:40 MHz 可编程输入/输出端数量:35 定时器数量:3 设备每秒兆指令数:50 MIPs 工作电源电压:3.3 V 最大工作温度:+ 85 C 封装 / 箱体:TQFP-44 安装风格:SMD/SMT
dsPIC30F2010T-20E/SO 功能描述:数字信号处理器和控制器 - DSP, DSC 16B MCU DSP 28LD 20MIPS 12KB FLASH RoHS:否 制造商:Microchip Technology 核心:dsPIC 数据总线宽度:16 bit 程序存储器大小:16 KB 数据 RAM 大小:2 KB 最大时钟频率:40 MHz 可编程输入/输出端数量:35 定时器数量:3 设备每秒兆指令数:50 MIPs 工作电源电压:3.3 V 最大工作温度:+ 85 C 封装 / 箱体:TQFP-44 安装风格:SMD/SMT
DSPIC30F2010T-20E/SOG 功能描述:数字信号处理器和控制器 - DSP, DSC 16 Bit MCU/DSP 28LD 20M 12KB FL RoHS:否 制造商:Microchip Technology 核心:dsPIC 数据总线宽度:16 bit 程序存储器大小:16 KB 数据 RAM 大小:2 KB 最大时钟频率:40 MHz 可编程输入/输出端数量:35 定时器数量:3 设备每秒兆指令数:50 MIPs 工作电源电压:3.3 V 最大工作温度:+ 85 C 封装 / 箱体:TQFP-44 安装风格:SMD/SMT
dsPIC30F2010T-20I/MM 功能描述:数字信号处理器和控制器 - DSP, DSC 16B MCU DSP 28LD 20MIPS 12KB FLASH RoHS:否 制造商:Microchip Technology 核心:dsPIC 数据总线宽度:16 bit 程序存储器大小:16 KB 数据 RAM 大小:2 KB 最大时钟频率:40 MHz 可编程输入/输出端数量:35 定时器数量:3 设备每秒兆指令数:50 MIPs 工作电源电压:3.3 V 最大工作温度:+ 85 C 封装 / 箱体:TQFP-44 安装风格:SMD/SMT
DSPIC30F2010T-20I/MMG 功能描述:数字信号处理器和控制器 - DSP, DSC 16 Bit MCU/DSP 28LD 20M 12KB FL RoHS:否 制造商:Microchip Technology 核心:dsPIC 数据总线宽度:16 bit 程序存储器大小:16 KB 数据 RAM 大小:2 KB 最大时钟频率:40 MHz 可编程输入/输出端数量:35 定时器数量:3 设备每秒兆指令数:50 MIPs 工作电源电压:3.3 V 最大工作温度:+ 85 C 封装 / 箱体:TQFP-44 安装风格:SMD/SMT
DSPIC30F2010T-20I/SO 功能描述:数字信号处理器和控制器 - DSP, DSC 20MHz 12KB Flash RoHS:否 制造商:Microchip Technology 核心:dsPIC 数据总线宽度:16 bit 程序存储器大小:16 KB 数据 RAM 大小:2 KB 最大时钟频率:40 MHz 可编程输入/输出端数量:35 定时器数量:3 设备每秒兆指令数:50 MIPs 工作电源电压:3.3 V 最大工作温度:+ 85 C 封装 / 箱体:TQFP-44 安装风格:SMD/SMT
DSPIC30F2010T-20I/SOG 功能描述:数字信号处理器和控制器 - DSP, DSC DIG SIG CONTR Lead Free Package RoHS:否 制造商:Microchip Technology 核心:dsPIC 数据总线宽度:16 bit 程序存储器大小:16 KB 数据 RAM 大小:2 KB 最大时钟频率:40 MHz 可编程输入/输出端数量:35 定时器数量:3 设备每秒兆指令数:50 MIPs 工作电源电压:3.3 V 最大工作温度:+ 85 C 封装 / 箱体:TQFP-44 安装风格:SMD/SMT
dsPIC30F2010T-30I/MM 功能描述:数字信号处理器和控制器 - DSP, DSC 16B MCU DSP 28LD 20MIPS 12KB FLASH RoHS:否 制造商:Microchip Technology 核心:dsPIC 数据总线宽度:16 bit 程序存储器大小:16 KB 数据 RAM 大小:2 KB 最大时钟频率:40 MHz 可编程输入/输出端数量:35 定时器数量:3 设备每秒兆指令数:50 MIPs 工作电源电压:3.3 V 最大工作温度:+ 85 C 封装 / 箱体:TQFP-44 安装风格:SMD/SMT