| 数据搜索系统,热门电子元器件搜索 |
|
I2CCON 数据表(PDF) 51 Page - Microchip Technology |
|
|
|||||||||||||||||||||||||||||
I2CCON 数据表(HTML) 51 Page - Microchip Technology |
|
51 / 210 page ![]() © 2010 Microchip Technology Inc. DS70139G-page 51 dsPIC30F2011/2012/3012/3013 5.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 msec in duration and the processor stalls (waits) until the operation is finished. Setting the WR bit (NVMCON<15>) starts the operation and the WR bit is automatically cleared when the operation is finished. 5.6.1 PROGRAMMING ALGORITHM FOR PROGRAM FLASH The user can erase or 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 begins erase cycle. f) CPU stalls 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 begins program cycle. e) CPU stalls 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. 5.6.2 ERASING A ROW OF PROGRAM MEMORY Example 5-1 shows a code sequence that can be used to erase a row (32 instructions) of program memory. EXAMPLE 5-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 ; Intialize 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 |
|
链接网址 |
| ALLDATASHEET是否为您带来帮助? [ DONATE ] |
关于 Alldatasheet | 广告服务 | 联系我们 | 隐私政策 | 数据表链接 | 链接交换 | 制造商名单 All Rights Reserved©Alldatasheet.com |
| 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 |