MICROCHIP PIC24 Flash Programming

Produkt ynformaasje
Flash Programming
De dsPIC33 / PIC24-famyljes fan apparaten hawwe in ynterne programmabele Flash-programmaûnthâld foar it útfieren fan brûkerskoade. D'r binne maksimaal trije metoaden om dit ûnthâld te programmearjen:
- Tabel Instruction Operation
- In-Circuit Serial Programming (ICSP)
- Yn-applikaasje programmearring (IAP)
Tabel ynstruksjes jouwe de metoade foar it oerdragen fan gegevens tusken de Flash programma ûnthâld romte en de gegevens ûnthâld romte fan dsPIC33 / PIC24 apparaten. De TBLRDL-ynstruksje wurdt brûkt om te lêzen fan bits [15:0] fan programma-ûnthâldromte. De TBLWTL-ynstruksje wurdt brûkt om te skriuwen nei bits [15:0] fan Flash-programma-ûnthâldromte. TBLRDL en TBLWTL kinne tagong krije ta Flash-programmaûnthâld yn Word-modus of Byte-modus.
Neist it Flash-programma-ûnthâldadres spesifisearret de tabelynstruksje ek in W-register (of in W Register-oanwizer nei in ûnthâldlokaasje), dat is de boarne fan it te skriuwen Flash-programma-ûnthâldgegevens, of de bestimming foar in Flash-programma ûnthâld lêzen.
Dizze paragraaf beskriuwt de technyk foar programmearring Flash programma ûnthâld. De dsPIC33/ PIC24-famyljes fan apparaten hawwe in ynterne programmeerber Flash-programmaûnthâld foar it útfieren fan brûkerskoade. D'r binne maksimaal trije metoaden om dit ûnthâld te programmearjen:
- Run-Time Self-Programming (RTSP)
- In-Circuit Serial Programming™ (ICSP™)
- Enhanced In-Circuit Serial Programming (EICSP)
RTSP wurdt útfierd troch de applikaasje software ûnder útfiering, wylst ICSP en EICSP wurde útfierd út in eksterne programmeur mei help fan in seriële gegevens ferbining mei it apparaat. ICSP en EICSP tastean folle flugger programmearring tiid as RTSP. RTSP-techniken wurde beskreaun yn paragraaf 4.0 "Run-Time Self-Programming (RTSP)". De ICSP- en EICSP-protokollen wurde definieare yn 'e dokuminten foar programmearringspesifikaasje foar de respektivelike apparaten, dy't kinne wurde downloade fan' e Microchip webside (http://www.microchip.com). By it programmearjen yn 'e C-taal binne ferskate ynboude funksjes beskikber dy't Flash-programmearring fasilitearje. Sjoch de "MPLAB® XC16 C Compiler User's Guide" (DS50002071) foar details oangeande ynboude funksjes.
Produkt Usage Ynstruksjes
Om it Flash-programmaûnthâld te programmearjen, folgje dizze stappen:
- Ferwize nei it apparaatgegevensblêd om te kontrolearjen oft de seksje fan 'e hânlieding foar famyljereferinsjes it apparaat stipet dat jo brûke.
- Download it apparaatgegevensblêd en seksjes foar famyljereferinsjes fan 'e Microchip Worldwide Webside op: http://www.microchip.com.
- Kies ien fan de trije metoaden foar in programmearje it ûnthâld (Tabel Instruction Operation, In-Circuit Serial Programming (ICSP), In-Application Programming (IAP)).
- As jo Tabelynstruksje-operaasje brûke, brûk dan de TBLRDL-ynstruksje om te lêzen fan bits[15:0] fan programmaûnthâldromte en de TBLWTL-ynstruksje om te skriuwen nei bits[15:0] fan Flash-programmaûnthâldromte.
- Soargje derfoar dat jo in W register (of in W Register Pointer nei in ûnthâld lokaasje) spesifisearje as de boarne fan de Flash programma ûnthâld gegevens wurde skreaun, of de bestimming foar in Flash programma ûnthâld lêzen.
Foar fierdere ynformaasje en details oer it programmearjen fan it Flash programma ûnthâld, ferwize nei de dsPIC33 / PIC24 Family Reference Manual.
TABLE YNSTRUKSJE OPERATION
De tabel ynstruksjes jouwe de metoade foar it oerdragen fan gegevens tusken de Flash programma ûnthâld romte en de gegevens ûnthâld romte fan dsPIC33 / PIC24 apparaten. Dizze seksje jout in gearfetting fan de tabel ynstruksjes brûkt ûnder programmearring fan de Flash programma ûnthâld. D'r binne fjouwer basistafelynstruksjes:
- TBLRDL: Tabel Lês Low
- TBLRDH: Tabel Read High
- TBLWTL: Tabel Write Low
- TBLWTH: Tabel Write High
De TBLRDL-ynstruksje wurdt brûkt om te lêzen fan bits [15:0] fan programma-ûnthâldromte. De TBLWTL-ynstruksje wurdt brûkt om te skriuwen nei bits [15:0] fan Flash-programma-ûnthâldromte. TBLRDL en TBLWTL kinne tagong krije ta Flash-programmaûnthâld yn Word-modus of Byte-modus.
De TBLRDH- en TBLWTH-ynstruksjes wurde brûkt om te lêzen of te skriuwen nei bits [23:16] fan programma-ûnthâldromte. TBLRDH en TBLWTH kinne tagong krije ta Flash-programmaûnthâld yn Word- of Byte-modus. Om't it Flash-programmaûnthâld mar 24 bits breed is, kinne de TBLRDH- en TBLWTH-ynstruksjes in boppeste byte fan Flash-programmaûnthâld oanpakke dy't net bestiet. Dizze byte wurdt de "fantombyte" neamd. Elke lêzing fan 'e fantombyte sil 0x00 werombringe. In skriuwen nei de fantombyte hat gjin effekt. It 24-bit Flash-programmaûnthâld kin wurde beskôge as twa side-by-side 16-bit romten, wêrby't elke romte itselde adresberik dielt. Dêrom hawwe de TBLRDL- en TBLWTL-ynstruksjes tagong ta de "lege" programma-ûnthâldromte (PM[15:0]). De TBLRDH- en TBLWTH-ynstruksjes krije tagong ta de "hege" programma-ûnthâldromte (PM[31:16]). Elke lêzen of skriuwt nei PM[31:24] sil tagong krije ta de fantom (net ymplementearre) byte. As ien fan 'e tabel ynstruksjes wurde brûkt yn byte modus, de minste signifikante bit (LSb) fan it tabel adres sil brûkt wurde as de byte selektearje bit. De LSb bepaalt hokker byte yn 'e hege of lege programma-ûnthâldromte tagong wurdt.
figuer 2-1 yllustrearret hoe't de Flash programma ûnthâld wurdt oanpakt mei help fan de tabel ynstruksjes. In 24-bit programma-ûnthâldadres wurdt foarme mei bits [7:0] fan it TBLPAG-register en it effektive adres (EA) út in W-register spesifisearre yn 'e tabelynstruksje. De 24-bit Program Counter (PC) wurdt yllustrearre yn figuer 2-1 foar referinsje. De boppeste 23 bits fan 'e EA wurde brûkt om de Flash-programma-ûnthâldlokaasje te selektearjen.
Foar de Byte modus tabel ynstruksjes, de LSb fan de W register EA wurdt brûkt om te selektearjen hokker byte fan it 16-bit Flash programma ûnthâld wurd wurdt oanpakt; '1' selekteart bits[15:8] en '0' selektearret bits[7:0]. De LSb fan it W register EA wurdt negearre foar in tabel ynstruksje yn Word modus. Neist it Flash-programma-ûnthâldadres spesifisearret de tabelynstruksje ek in W-register (of in W Register-oanwizer nei in ûnthâldlokaasje), dat is de boarne fan it te skriuwen Flash-programma-ûnthâldgegevens, of de bestimming foar in Flash-programma ûnthâld lêzen. Foar in tabel skriuwen operaasje yn Byte modus, bits [15:8] fan de boarne Working register negearre.
Mei help fan tabel Lês ynstruksjes
Tabellêzen fereaskje twa stappen:
- De adresoanwizer is ynsteld mei it TBLPAG-register en ien fan 'e W-registers.
- De ynhâld fan it Flash-programmaûnthâld op it adreslokaasje kin lêzen wurde.
- Lêze WORD MODUS
De koade werjûn yn Example 2-1 en Example 2-2 lit sjen hoe't te lêzen in wurd fan Flash programma ûnthâld mei help fan de tabel ynstruksjes yn Word modus.

- Lêze BYTE MODE
De koade werjûn yn Example 2-3 toant de post-increment operator op it lêzen fan de lege byte, dy't feroarsaket it adres yn de Working register te fergrutsjen mei ien. Dit stelt EA[0] op in '1' foar tagong ta de middelste byte yn 'e tredde skriuwynstruksje. De lêste post-increment set W0 werom nei in even adres, wiist op de folgjende Flash programma ûnthâld lokaasje.
- TABEL SKRIJE LATCHES
Tabel skriuwinstruksjes skriuwe net direkt nei it net-flechtige programmaûnthâld. Ynstee, de tabel skriuwinstruksjes lade skriuwgrendels dy't de skriuwgegevens opslaan. De NVM-adresregisters moatte laden wurde mei it earste adres dêr't sletten gegevens skreaun wurde moatte. As alle skriuwsloten binne laden, wurdt de eigentlike ûnthâldprogrammearring begon troch in spesjale folchoarder fan ynstruksjes út te fieren. Tidens it programmearjen draacht de hardware de gegevens yn 'e skriuwsloten oer nei Flash-ûnthâld. De skriuwsloten begjinne altyd by adres 0xFA0000, en wreidzje út troch 0xFA0002 foar wurdprogrammearring, of troch 0xFA00FE foar apparaten dy't rigeprogrammearring hawwe.
Noat: It oantal skriuwsloten ferskilt per apparaat. Ferwize nei it haadstik "Flash Program Memory" fan it spesifike apparaatgegevensblêd foar it oantal beskikbere skriuwsloten.
KONTROLE REGISTERS
Ferskate Special Function Registers (SFR's) wurde brûkt om it Flash-programma-ûnthâld wiskjen en skriuwoperaasjes te programmearjen: NVMCON, NVMKEY, en de NVM-adresregisters, NVMADR en NVMADRU.
NVMCON Register
It NVMCON-register is it primêre kontrôleregister foar Flash en programma / wiskjen operaasjes. Dit register selektearret oft in wiskjen of programma operaasje sil wurde útfierd en kin begjinne it programma of wiskjen syklus. It NVMCON-register wurdt werjûn yn Register 3-1. De legere byte fan NVMCON konfigurearret it type NVM-operaasje dat sil wurde útfierd.
NVMKEY Register
It NVMKEY-register (sjoch Register 3-4) is in skriuwregister dat wurdt brûkt om tafallich skriuwen fan NVMCON te foarkommen dat Flash-ûnthâld kin korrupsje. Ienkear ûntskoattele, skriuwt nei NVMCON is tastien foar ien ynstruksjesyklus wêryn it WR-bit kin wurde ynsteld om in wiskjen of programma-routine op te roppen. Sjoen de timingeasken is it útskeakeljen fan interrupts ferplicht.
Fier de folgjende stappen út om in wiskjen of programmearsekwinsje te begjinnen:
- Underbrekten útskeakelje.
- Skriuw 0x55 nei NVMKEY.
- Skriuw 0xAA nei NVMKEY.
- Start de programmearring skriuwsyklus troch it ynstellen fan de WR bit (NVMCON [15]).
- Fier twa NOP-ynstruksjes út.
- Herstel ûnderbrekkings.

Ûnderbrekkings útskeakelje
It útskeakeljen fan interrupts is nedich foar alle Flash-operaasjes om in suksesfol resultaat te garandearjen. As in ûnderbrekking optreedt tidens de NVMKEY-ûntskoatteljen folchoarder, kin it skriuwen nei it WR-bit blokkearje. De NVMKEY-ûntskoattelsekwinsje moat sûnder ûnderbrekking wurde útfierd, lykas besprutsen yn paragraaf 3.2 "NVMKEY Register".
Interrupts kinne wurde útskeakele yn ien fan twa metoaden, troch it útskeakeljen fan de Global Interrupt Enable (GIE-bit), of troch de DISI-ynstruksje te brûken. De DISI-ynstruksje wurdt net oanrikkemandearre, om't it allinich ûnderbrekkingen fan prioriteit 6 of ûnder útskeakelet; dêrom, de Global Interrupt Enable metoade moat brûkt wurde.
CPU skriuwt nei GIE nimme twa ynstruksje syklusen foar it beynfloedzjen fan de koade flow. Twa NOP-ynstruksjes binne dêrnei nedich, of kinne wurde ferfongen troch oare nuttige wurkynstruksjes, lykas it laden fan NVMKEY; dit is fan tapassing op sawol ynstelde as dúdlike operaasjes. Foarsichtich moat nommen wurde by it opnij ynskeakeljen fan ûnderbrekkingen, sadat de NVM-doele routine gjin ûnderbrekkings tastean as in earder oproppen funksje se om oare redenen útskeakele hat. Om dit yn Assembly oan te pakken, kin in stack push en pop brûkt wurde om de steat fan 'e GIE-bit te behâlden. Yn C kin in fariabele yn RAM brûkt wurde om INTCON2 op te slaan foarôfgeand oan it wiskjen fan GIE. Brûk de folgjende folchoarder om ûnderbrekkingen út te skeakeljen:
- Druk INTCON2 op 'e stapel.
- Wiskje de GIE bit.
- Twa NOP's of skriuwt nei NVMKEY.
- Begjin de programmearringsyklus troch it WR-bit yn te stellen (NVMCON[15]).
- GIE-state weromsette troch POP fan INTCON2.

NVM-adresregisters
De twa NVM-adresregisters, NVMADRU en NVMADR, as gearfoege, foarmje de 24-bit EA fan de selektearre rige of wurd foar programmearring operaasjes. It NVMADRU-register wurdt brûkt om de boppeste acht bits fan 'e EA te hâlden, en it NVMADR-register wurdt brûkt om de legere 16 bits fan' e EA te hâlden. Guon apparaten kinne ferwize nei deselde registers as NVMADRL en NVMADRH. De NVM-adresregisters moatte altyd wize op in dûbele ynstruksjewurdgrins by it útfieren fan in dûbele ynstruksjewurdprogrammearring, in rigegrins by it útfieren fan in rigeprogrammearring of in sidegrins by it útfieren fan in sidewisaksje.
Register 3-1: NVMCON: Flash Unthâld Control Register

Noat
- Dit bit kin allinnich wurde reset (ie, wiske) op in Power-on Reset (POR).
- By it ferlitten fan de Idle-modus is d'r in opstartfertraging (TVREG) foardat Flash-programmaûnthâld operasjoneel wurdt. Ferwize nei it haadstik "Elektryske skaaimerken" fan it spesifike apparaatgegevensblêd foar mear ynformaasje.
- Alle oare kombinaasjes fan NVMOP[3:0] binne net ymplementearre.
- Dizze funksjonaliteit is net beskikber op alle apparaten. Ferwize nei it haadstik "Flash Program Memory" yn it spesifike apparaatgegevensblêd foar beskikbere operaasjes.
- Yngong yn in enerzjybesparjende modus nei it útfieren fan in PWRSAV-ynstruksje is ôfhinklik fan it foltôgjen fan alle ôfhannele NVM-operaasjes.
- Dit bit is allinnich beskikber op apparaten dy't stypje RAM buffered rige programmearring. Ferwize nei it apparaat-spesifike gegevensblêd foar beskikberens.

Noat
- Dit bit kin allinnich wurde reset (ie, wiske) op in Power-on Reset (POR).
- By it ferlitten fan de Idle-modus is d'r in opstartfertraging (TVREG) foardat Flash-programmaûnthâld operasjoneel wurdt. Ferwize nei it haadstik "Elektryske skaaimerken" fan it spesifike apparaatgegevensblêd foar mear ynformaasje.
- Alle oare kombinaasjes fan NVMOP[3:0] binne net ymplementearre.
- Dizze funksjonaliteit is net beskikber op alle apparaten. Ferwize nei it haadstik "Flash Program Memory" yn it spesifike apparaatgegevensblêd foar beskikbere operaasjes.
- Yngong yn in enerzjybesparjende modus nei it útfieren fan in PWRSAV-ynstruksje is ôfhinklik fan it foltôgjen fan alle ôfhannele NVM-operaasjes.
- Dit bit is allinnich beskikber op apparaten dy't stypje RAM buffered rige programmearring. Ferwize nei it apparaat-spesifike gegevensblêd foar beskikberens.
Register 3-2: NVMADRU: Nonvolatile Unthâld Upper Address Register

Register 3-3: NVMADR: Nonvolatile Memory Address Register

Register 3-4: NVMKEY: Nonvolatile Memory Key Register

RUN-TIME SELFPROGRAMMERING (RTSP)
RTSP lit de brûkersapplikaasje de ynhâld fan Flash-programmaûnthâld feroarje. RTSP wurdt berikt mei de ynstruksjes TBLRD (Tabellêzen) en TBLWT (Tabelskriuwen), it TBLPAG-register, en de NVM-kontrôleregisters. Mei RTSP kin de brûkersapplikaasje in inkele side fan Flash-ûnthâld wiskje en twa ynstruksjewurden as maksimaal 128 ynstruksjewurden programmearje op bepaalde apparaten.
RTSP Operaasje
The dsPIC33/PIC24 Flash program memory array is organized into erase pages that can contain up to 1024 instructions. The double-word programming option is available in all devices in the dsPIC33/PIC24 families. In addition, certain devices have row programming capability, which allows the programming of up to 128 instruction words at a time. Programming and erase operations always occur on an even double programming word, row or page boundaries. Refer to the “Flash Program Memory” chapter of the specific device data sheet for the availability and sizes of a programming row, and the page size for erasing. The Flash program memory implements holding buffers, called write latches, that can contain up to 128 instructions of programming data depending on the device. Prior to the actual programming operation, the write data must be loaded into the write latches. The basic sequence for RTSP is to set up the Table Pointer, TBLPAG register, and then perform a series of TBLWT instructions to load the write latches. Programming is performed by setting the control bits in the NVMCON register. The number of TBLWTL and TBLWTH instructions needed to load the write latches is equal to the number of program words to be written.
Noat: It wurdt oanrikkemandearre dat it TBLPAG-register foarôfgeand oan wiziging bewarre wurdt en nei gebrûk werombrocht wurdt.
FOARSICHTIGENS
Op guon apparaten, de konfiguraasje bits wurde opslein yn de lêste side fan programma Flash brûker ûnthâld romte yn in seksje neamd, "Flash konfiguraasje Bytes". Mei dizze apparaten, it útfieren fan in side wiskje operaasje op 'e lêste side fan programma ûnthâld wisket de Flash konfiguraasje bytes, dy't mooglik makket koade beskerming. Dêrom, brûkers moatte net útfiere side wiskjen operaasjes op de lêste side fan programma ûnthâld. Dit is gjin soarch doe't de konfiguraasje bits wurde opslein yn konfiguraasje ûnthâld romte yn in seksje neamd, "Apparaat konfiguraasje registers". Ferwize nei it programma Memory Map yn it haadstik "Unthâldorganisaasje" fan it spesifike apparaatgegevensblêd om te bepalen wêr't konfiguraasjebits lizze.
Flash Programming Operations
A program or erase operation is necessary for programming or erasing the internal Flash program memory in RTSP mode. The program or erase operation is automatically timed by the device (refer to the specific device data sheet for timing information). Setting the WR bit (NVMCON[15]) starts the operation. The WR bit is automatically cleared when the operation is finished. The CPU stalls until the programming operation is finished. The CPU will not execute any instructions or respond to interrupts during this time. If any interrupts occur during the programming cycle, they will remain pending until the cycle completes. Some dsPIC33/PIC24 devices may provide auxiliary Flash program memory (refer to the “Memory Organization” chapter of the specific device data sheet for details), which allows instruction execution without CPU Stalls while user Flash program memory is being erased and/ or programmed. Conversely, auxiliary Flash program memory can be programmed without CPU Stalls, as long as code is executed from the user Flash program memory. The NVM interrupt can be used to indicate that the programming operation is complete.
Noat
- As in POR- of BOR-evenemint optreedt wylst in RTSP-wis- of programmearringsoperaasje oan 'e gong is, wurdt de RTSP-operaasje fuortendaliks ôfbrutsen. De brûker moat de RTSP-operaasje wer útfiere neidat it apparaat út Reset komt.
- As in EXTR-, SWR-, WDTO-, TRAPR-, CM- of IOPUWR-reset-evenemint optreedt wylst in RTSP-wis- of programmearring-operaasje oan 'e gong is, sil it apparaat pas weromset wurde nei't de RTSP-operaasje foltôge is.
RTSP PROGRAMMERING ALGORITME
Dizze paragraaf beskriuwt RTSP-programmearring, dy't bestiet út trije grutte prosessen.
In RAM-ôfbylding oanmeitsje fan 'e te wizigjen gegevenspagina
Fier dizze twa stappen út om in RAM-ôfbylding te meitsjen fan 'e gegevensside dy't moat wurde wizige:
- Lês de side fan Flash programma ûnthâld en bewarje it yn gegevens RAM as in gegevens "ôfbylding". De RAM-ôfbylding moat lêzen wurde fanôf in side-adresgrins.
- Feroarje de RAM-gegevensôfbylding as nedich.
Erasing Flash Program Memory
Nei it foltôgjen fan stappen 1 en 2 hjirboppe, fiere de folgjende fjouwer stappen om de Flash-programma-ûnthâldside te wiskjen:
- Stel de NVMOP[3:0]-bits (NVMCON[3:0]) yn om de side fan Flash-programmaûnthâld lêzen fan stap 1 te wiskjen.
- Skriuw it begjinadres fan 'e side dy't moat wurde wiske yn' e NVMADRU- en NMVADR-registers.
- Mei ûnderbrekkings útskeakele:
- a) Skriuw de kaaisekwinsje nei it NVMKEY-register om it WR-bit yn te skeakeljen (NVMCON[15]).
- b) Stel de WR bit; dit sil de wissyklus begjinne.
- c) Fier twa NOP-ynstruksjes út.
- De WR-bit wurdt wiske as de wissyklus foltôge is.
Programmearje de Flash Memory Side
It folgjende diel fan it proses is om de Flash-ûnthâldside te programmearjen. De Flash-ûnthâldside wurdt programmearre mei de gegevens fan 'e ôfbylding makke yn stap 1. De gegevens wurde oerbrocht nei de skriuwsloten yn stappen fan dûbele ynstruksjewurden of rigen. Alle apparaten hawwe dûbele ynstruksjewurdprogrammearring. (Ferwize nei it haadstik "Flash Program Unthâld" yn de spesifike apparaat gegevens sheet foar in bepale oft, en hokker type rige programmearring is beskikber.) Neidat de skriuw latches binne laden, de programmearring operaasje is inisjearre, dy't oerdracht fan de gegevens út de skriuw latches yn Flash ûnthâld. Dit wurdt werhelle oant de hiele side is programmearre. Werhelje de folgjende trije stappen, begjinnend by it earste ynstruksjewurd fan 'e Flash-side en tanimmend yn stappen fan dûbele programmawurden, of ynstruksjerige, oant de heule side is programmearre:
- Laad de skriuwsloten:
- a) Stel it TBLPAG-register yn om te wizen op de lokaasje fan 'e skriuwsloten.
- b) Laad it winske oantal grendels mei pearen fan TBLWTL en TBLWTH ynstruksjes:
- Foar programmearring mei dûbele wurden binne twa pearen TBLWTL- en TBLWTH-ynstruksjes nedich
- Foar rigeprogrammearring binne in pear TBLWTL- en TBLWTH-ynstruksjes nedich foar elk ynstruksjewurd-rige-elemint
- Begjin de programmearring:
- a) Stel de NVMOP[3:0]-bits (NVMCON[3:0]) yn om dûbele ynstruksjewurden of in ynstruksjerige te programmearjen, sa passend.
b) Skriuw it earste adres fan itsij it dûbele ynstruksjewurd as ynstruksjerige dy't programmearre wurde yn 'e NVMADRU- en NVMADR-registers.
c) Mei ûnderbrekkings útskeakele:
• Skriuw de kaaisekwinsje nei it NVMKEY-register om it WR-bit yn te skeakeljen (NVMCON[15])
• Set de WR bit; dit sil de wissyklus begjinne
• Utfiere twa NOP ynstruksjes
- a) Stel de NVMOP[3:0]-bits (NVMCON[3:0]) yn om dûbele ynstruksjewurden of in ynstruksjerige te programmearjen, sa passend.
- De WR-bit wurdt wiske as de programmearring syklus is foltôge.
Werhelje it hiele proses as nedich foar in programmearje it winske bedrach fan Flash programma ûnthâld.
Noat
- De brûker moat betinke dat it minimale bedrach fan Flash programma ûnthâld dat kin wurde wiske mei help fan RTSP is in singe wiske side. Dêrom is it wichtich dat in byld fan dizze lokaasjes wurde opslein yn algemiene doel RAM foar in wiskjen syklus wurdt inisjearre.
- In rige of wurd yn Flash-programma-ûnthâld moat net mear as twa kear programmearre wurde foardat se wiske wurde.
- Op apparaten mei konfiguraasjebytes opslein yn 'e lêste side fan Flash, it útfieren fan in side wiskje operaasje op' e lêste side fan programma ûnthâld wisket de konfiguraasje bytes, dy't mooglik makket koade beskerming. Op dizze apparaten moat de lêste side fan Flash-ûnthâld net wiske wurde.
ERASING ONE PAGE OF FLASH
De koade folchoarder werjûn yn Example 4-1 kin brûkt wurde om te wiskjen in side fan Flash programma ûnthâld. It NVMCON-register is konfigureare om ien side fan programmaûnthâld te wiskjen. De NVMADR- en NMVADRU-registers wurde laden mei it startadres fan 'e side dy't moat wurde wiske. It programma ûnthâld moat wurde wiske op in "even" side adres grins. Sjoch it haadstik "Flash Program Memory" fan it spesifike apparaatgegevensblêd om de grutte fan 'e Flash-side te bepalen.
De wisoperaasje wurdt inisjearre troch it skriuwen fan in spesjale ûntsluting, of kaaisekwinsje, nei it NVMKEY-register foardat it WR-bit ynsteld wurdt (NVMCON[15]). De ûntskoattelsekwinsje moat wurde útfierd yn 'e krekte folchoarder, lykas werjûn yn Example 4-1, sûnder ûnderbrekking; dêrom, interrupts moatte wurde útskeakele.
Twa NOP-ynstruksjes moatte wurde ynfoege yn 'e koade nei de wissyklus. Op bepaalde apparaten wurde de konfiguraasjebits opslein yn 'e lêste side fan programma Flash. Mei dizze apparaten, it útfieren fan in side wiskje operaasje op 'e lêste side fan programma ûnthâld wisket de Flash konfiguraasje bytes, ynskeakelje koade beskerming as gefolch. Brûkers moatte gjin side wiskjen operaasjes útfiere op de lêste side fan programma ûnthâld.

LOADING WRITE LATCHES
De skriuwsloten wurde brûkt as opslachmeganisme tusken de brûkersapplikaasje Tabel skriuwt en de eigentlike programmearfolging. Tidens de programmearring operaasje sil it apparaat de gegevens fan 'e skriuwgrendels oerdrage nei Flash-ûnthâld. Foar apparaten dy't stypje rige programmearring, Example 4-3 toant de folchoarder fan ynstruksjes dy't kin brûkt wurde om te laden 128 skriuw latches (128 ynstruksje wurden). 128 TBLWTL en 128 TBLWTH ynstruksjes binne nedich foar it laden fan de skriuw latches foar it programmearjen fan in rige fan Flash programma ûnthâld. Ferwize nei it haadstik "Flash-programmaûnthâld" fan it spesifike apparaatgegevensblêd om it oantal programmearrings te bepalen dat beskikber is op jo apparaat. Foar apparaten dy't gjin rigelprogrammearring stypje, Example 4-4 lit de folchoarder fan ynstruksjes sjen dy't brûkt wurde kinne om twa skriuwsloten te laden (twa ynstruksjewurden). Twa TBLWTL- en twa TBLWTH-ynstruksjes binne nedich om de skriuwsloten te laden.
Noat
- De koade foar Load_Write_Latch_Row wurdt werjûn yn Example 4-3 en de koade foar Load_Write_Latch_Word wurdt werjûn yn Example 4-4. De koade yn beide fan dizze examples wurdt ferwiisd yn folgjende examples.
- Ferwize nei de spesifike apparaat gegevens sheet foar it oantal latches.

SINGLE ROW PROGRAMMERING EXAMPLE
It NVMCON-register is konfigureare om ien rige fan Flash-programmaûnthâld te programmearjen. De programmaoperaasje wurdt inisjearre troch it skriuwen fan in spesjale ûntsluting, as kaaisekwinsje, nei it NVMKEY-register foardat it WR-bit (NVMCON[15]) ynsteld wurdt. De ûntskoattelsekwinsje moat sûnder ûnderbrekking wurde útfierd, en yn 'e krekte folchoarder, lykas werjûn yn Example 4-5. Dêrom moatte ûnderbrekkings útskeakele wurde foardat de folchoarder skreaun wurdt.
Noat: Net alle apparaten hawwe rige programmearring mooglikheid. Ferwize nei it haadstik "Flash Program Memory" fan it spesifike apparaatgegevensblêd om te bepalen oft dizze opsje beskikber is.
Twa NOP ynstruksjes moatte wurde ynfoege yn de koade nei de programmearring syklus.

ROW PROGRAMMING GEBRUK DE RAM BUFFER
Selektearje dsPIC33 apparaten tastean rige programmearring wurde útfierd direkt út in buffer romte yn gegevens RAM, ynstee gean troch de holding latches foar in oerdracht gegevens mei TBLWT ynstruksjes. De lokaasje fan de RAM buffer wurdt bepaald troch de NVMSRCADR register (e), dy't wurde laden mei de gegevens RAM adres mei dêryn it earste wurd fan programma gegevens wurde skreaun.
Foardat it útfieren fan de programma operaasje, de buffer romte yn RAM moat wurde laden mei de rige fan gegevens te programmearre. De RAM kin wurde laden yn sawol in komprimearre (ynpakt) as net-komprimearre formaat. Komprimearre opslach brûkt ien gegevenswurd om de meast signifikante bytes (MSB's) fan twa neistlizzende programmagegevenswurden op te slaan. It net-komprimeare formaat brûkt twa gegevenswurden foar elk programmagegevenswurd, mei de boppeste byte fan elk oar wurd 00h. Komprimearre formaat brûkt sawat 3/4 fan 'e romte yn gegevens-RAM yn ferliking mei it net-komprimeare formaat. Unkomprimearre formaat, oan 'e oare kant, mimiket de struktuer fan it 24-bit programma data wurd, kompleet mei de boppeste phantom byte. It gegevensformaat wurdt selektearre troch de RPDF-bit (NVMCON[9]). Dizze twa formaten wurde werjûn yn figuer 4-1.
Sadree't de RAM-buffer is laden, wurde de Flash Address Pointers, NVMADR en NVMADRU, laden mei it 24-bit startadres fan 'e Flash-rige dy't skreaun wurde moat. Lykas by it programmearjen fan de skriuwsloten, wurdt it proses inisjeare troch it skriuwen fan de NVM-ûntskoatteljen folchoarder, folge troch it ynstellen fan it WR-bit. Ienris inisjearre, laadt it apparaat automatysk de juste grendels en fergruttet de NVM-adresregisters oant alle bytes binne programmearre. Example 4-7 lit in eks sjenample fan it proses. As NVMSRCADR is ynsteld op in wearde sa'n dat in gegevens underrun flater betingst optreedt, de URERR bit (NVMCON [8]) wurdt ynsteld om oan te jaan de betingst.
Apparaten dy't RAM-bufferrige-programmearring ymplementearje ek ien of twa skriuwsloten. Dizze wurde laden mei de TBLWT-ynstruksjes en wurde brûkt om wurdprogrammearrings út te fieren.
WORD PROGRAMMERING
It NVMCON-register is konfigureare om twa ynstruksjewurden fan Flash-programmaûnthâld te programmearjen. De programmaoperaasje wurdt inisjearre troch it skriuwen fan in spesjale ûntsluting, as kaaisekwinsje, nei it NVMKEY-register foardat it WR-bit (NVMCON[15]) ynsteld wurdt. De ûntskoattelsekwinsje moat wurde útfierd yn 'e krekte folchoarder, lykas werjûn yn Example 4-8, sûnder ûnderbrekking. Dêrom moatte ûnderbrekkings útskeakele wurde foardat de folchoarder skreaun wurdt.
Twa NOP ynstruksjes moatte wurde ynfoege yn de koade nei de programmearring syklus.

Skriuwen nei apparaatkonfiguraasjeregisters
Op bepaalde apparaten wurde de konfiguraasjebits opslein yn konfiguraasjeûnthâldromte yn in seksje neamd "Apparaatkonfiguraasjeregisters". Op oare apparaten, de konfiguraasje bits wurde opslein yn de lêste side fan programma Flash brûker ûnthâld romte yn in seksje neamd, "Flash konfiguraasje Bytes". Mei dizze apparaten, it útfieren fan in side wiskje operaasje op 'e lêste side fan programma ûnthâld wisket de Flash konfiguraasje bytes, dy't mooglik makket koade beskerming. Dêrom, brûkers moatte net útfiere side wiskjen operaasjes op de lêste side fan programma ûnthâld. Ferwize nei it programma Memory Map yn it haadstik "Unthâldorganisaasje" fan it spesifike apparaatgegevensblêd om te bepalen wêr't konfiguraasjebits lizze.
Doe't de konfiguraasje bits wurde opslein yn konfiguraasje ûnthâld romte, kin RTSP brûkt wurde om te skriuwen oan it apparaat Konfiguraasje registers, en RTSP kinne elk konfiguraasje register wurde yndividueel opnij skreaun sûnder earst útfiere in wiskjen syklus. Foarsichtigens moat wurde útoefene by it skriuwen fan de konfiguraasjeregisters, om't se krityske apparaatbestjoeringsparameters kontrolearje, lykas de systeemklokboarne, PLL en WDT ynskeakelje.
De proseduere foar it programmearjen fan in apparaat Konfiguraasje register is fergelykber mei de proseduere foar programmearring Flash programma ûnthâld, útsein dat allinnich TBLWTL ynstruksjes binne nedich. Dit komt omdat de boppeste acht bits yn elk apparaat Konfiguraasje register binne net brûkt. Fierder moat bit 23 fan it tabel skriuwadres ynsteld wurde om tagong te krijen ta de konfiguraasjeregisters. Ferwize nei "Apparaat konfiguraasje" (DS70000618) yn de "dsPIC33 / PIC24 Family Reference Manual" en it haadstik "Spesjale eigenskippen" yn de spesifike apparaat gegevens sheet foar in folsleine beskriuwing fan it apparaat Konfiguraasje registers.
Noat
- Skriuwen nei apparaat Konfiguraasje registers is net beskikber yn alle apparaten. Ferwize nei it haadstik "Spesjale eigenskippen" yn it spesifike apparaatgegevensblêd om de modi te bepalen dy't beskikber binne neffens de definysje fan de apparaatspesifike NVMOP[3:0]-bits.
- Wylst it útfieren fan RTSP op apparaat konfiguraasje registers, it apparaat moat wurkje mei de ynterne FRC Oscillator (sûnder PLL). As it apparaat wurket fan in oare klok boarne, in klok switch nei de ynterne FRC Oscillator (NOSC [2:0] = 000) moat wurde útfierd foar it útfieren fan RTSP operaasje yn it apparaat Konfiguraasje registers.
- As de Primary Oscillator Mode Selektearje bits (POSCMD[1:0]) yn it Oscillator Configuration register (FOSC) wurde opnij programmearre nei in nije wearde, de brûker moat derfoar soargje dat de klok Switching Mode bits (FCKSM[1:0]) yn it FOSC-register hat in earste programmearre wearde fan '0', foardat dizze RTSP-operaasje útfierd wurdt.
KONFIGURASJE REGISTER WRITE ALGORITME
De algemiene proseduere is as folget:
- Skriuw de nije konfiguraasjewearde nei de Tabel Write-latch mei in TBLWTL-ynstruksje.
- Konfigurearje NVMCON foar in konfiguraasje register skriuwe (NVMCON = 0x4000).
- Skriuw it adres fan it konfiguraasjeregister dat moat wurde programmearre yn 'e NVMADRU- en NVMADR-registers.
- Skeakelje ûnderbrekkings út, as ynskeakele.
- Skriuw de kaaisekwinsje nei it NVMKEY-register.
- Begjin de skriuwsekwinsje troch it WR-bit yn te stellen (NVMCON[15]).
- Ynskeakelje ûnderbrekten opnij ynskeakelje, as nedich.
Example 4-10 toant de koade folchoarder dat kin brûkt wurde om te feroarjen in apparaat Konfiguraasje register.
REGISTER MAP
In gearfetting fan de registers ferbûn mei Flash Programming wurdt jûn yn tabel 5-1.
Dizze seksje listet applikaasjenotysjes dy't relatearre binne oan dizze seksje fan 'e hantlieding. Dizze applikaasjenotysjes kinne net spesifyk skreaun wurde foar de dsPIC33 / PIC24-produktfamyljes, mar de begripen binne pertinint en kinne brûkt wurde mei modifikaasje en mooglike beheiningen. De hjoeddeistige applikaasjenotysjes yn ferbân mei Flash-programmearring binne:
Noat: Besykje asjebleaft de Microchip webside (www.microchip.com) foar ekstra tapassingsnotysjes en koade bglamples foar de dsPIC33 / PIC24 famyljes fan apparaten.
REVISION HISTORY
Ferzje A (augustus 2009)
Dit is de earste frijlitten ferzje fan dit dokumint.
Ferzje B (febrewaris 2011)
Dizze ferzje befettet de folgjende updates:
- Examples:
- Fuortsmite Example 5-3 en Example 5-4
- Updated Example 4-1, Example 4-5 en Example 4-10
- Alle ferwizings nei #WR waarden bywurke nei #15 yn Example 4-1, Example 4-5 en Example 4-8
- It folgjende bywurke yn Example 4-3:
- Bywurke de titel "Word Programming" nei "Laden Write Latches for Row Programming"
- Elke ferwizing nei #ram_image waard bywurke nei #0xFA
- Added Example 4-4
- Bywurke de titel yn Example 4-8
- Notysjes:
- Twa notysjes tafoege yn seksje 4.2 "Operaasjes foar Flash-programmearring"
- De notysje bywurke yn seksje 4.5.2 "Skriuwsloten laden"
- Trije notysjes tafoege yn seksje 4.6 "Skriuwen nei apparaatkonfiguraasjeregisters"
- Noat 1 tafoege yn tabel 5-1
- Registers:
- Bywurke de bitwearden foar NVMOP[3:0]: NVM Operaasje Selektearje bits yn it register fan Flash Memory Control (NVMCON) (sjoch Register 3-1)
- Seksjes:
- Ferwidere seksjes 5.2.1.4 "Wordmodus skriuwe" en 5.2.1.5 "Bytemodus skriuwe"
- Bywurke seksje 3.0 "Kontrolregisters"
- It folgjende bywurke yn paragraaf 4.5.5 "Wurdprogrammearring":
- Feroare de seksjetitel "Een wurd fan Flash-ûnthâld programmearje" yn "Wurdprogrammearring"
- Bywurke de earste alinea
- Feroare de termen "ien wurd" yn "in pear wurden" yn 'e twadde alinea
- In nije stap 1 tafoege oan seksje 4.6.1 "Algorithm foar skriuwen fan konfiguraasjeregister"
- Tabellen:
- Updated Tabel 5-1
- In pear ferwizings nei programma ûnthâld waarden fernijd ta Flash programma ûnthâld
- Oare lytse updates lykas taal- en opmaak-updates waarden yn it hiele dokumint opnommen
Ferzje C (juny 2011)
Dizze ferzje befettet de folgjende updates:
- Examples:
- Updated Example 4-1
- Updated Example 4-8
- Notysjes:
- In notysje tafoege yn seksje 4.1 "RTSP-operaasje"
- Tafoege opmerking 3 yn seksje 4.2 "Flash-programmearring operaasjes"
- Opmerking 3 tafoege yn seksje 4.2.1 "RTSP-programmearringalgoritme"
- Added a note in Section 4.5.1 “Erasing One Page of Flash”
- Notysje 2 tafoege yn seksje 4.5.2 "Skriuwsloten laden"
- Registers:
- Bywurke de bitbeskriuwing foar bits 15-0 yn it register foar net-flechtich ûnthâldadres (sjoch Register 3-3)
- Seksjes:
- Bywurke seksje 4.1 "RTSP-operaasje"
- Bywurke seksje 4.5.5 "Wurdprogrammearring"
- Oare lytse updates lykas taal- en opmaak-updates waarden yn it hiele dokumint opnommen
Ferzje D (desimber 2011)
Dizze ferzje befettet de folgjende updates:
- Bywurke seksje 2.1.3 "Tabel skriuwfergrendelingen"
- Bywurke seksje 3.2 "NVMKEY Register"
- De notysjes bywurke yn NVMCON: Flash Memory Control Register (sjoch Register 3-1)
- Wiidweidige updates waarden makke troch seksje 4.0 "Run-Time Self-Programming (RTSP)"
- Oare lytse updates lykas taal- en opmaak-updates waarden yn it hiele dokumint opnommen
Ferzje E (oktober 2018)
Dizze ferzje befettet de folgjende updates:
- Added Example 2-2, Example 4-2, Example 4-6 en Example 4-9
- Seksje 4.5.4 tafoege "Rijprogrammearring mei de RAM-buffer"
- Bywurke seksje 1.0 "Ynlieding", seksje 3.3 "NVM-adresregisters", seksje 4.0 "Run-Time Self-Programming (RTSP)" en seksje 4.5.3 "Single Row Programming Example ”
- Updated Register 3-1
- Updated Example 4-7
- Updated Tabel 5-1
Ferzje F (novimber 2021)
Seksje 3.2.1 tafoege "Utskeakelje ûnderbrekkings".
Updated Example 3-1, Example 4-1, Example 4-2, Example 4-5, Example 4-6, Example 4-7, Example 4-8, Example 4-9 en Example 4-10.
Updated Section 3.2 “NVMKEY Register”, Section 4.5.1 “Erasing One Page of Flash”, Section 4.5.3 “Single Row Programming Example" en seksje 4.6.1 "Konfiguraasje Register Write Algoritme".
Notysje de folgjende details fan 'e koadebeskermingsfunksje op Microchip-produkten:
- Microchip produkten foldogge oan de spesifikaasjes befette yn harren bysûndere Microchip Data Sheet.
- Microchip is fan betinken dat syn famylje fan produkten feilich is as se brûkt wurde op 'e bedoelde manier, binnen operasjonele spesifikaasjes, en ûnder normale omstannichheden.
- Microchip wearden en agressyf beskermet syn yntellektuele eigendomsrjochten. Pogingen om te brekken de koade beskerming funksjes fan Microchip produkt is strang ferbean en kin yn striid mei de Digital Millennium Copyright Act.
- Noch Microchip noch in oare semiconductor fabrikant kin garandearje de feiligens fan syn koade. Koadebeskerming betsjut net dat wy garandearje dat it produkt "ûnbrekber" is. Koadebeskerming is konstant yn ûntwikkeling. Microchip set him yn om de funksjes foar koadebeskerming fan ús produkten kontinu te ferbetterjen
Dizze publikaasje en de ynformaasje hjiryn meie allinich brûkt wurde mei Microchip-produkten, ynklusyf om Microchip-produkten te ûntwerpen, te testen en te yntegrearjen mei jo applikaasje. Gebrûk fan dizze ynformaasje op in oare manier skeint dizze betingsten. Ynformaasje oangeande apparaatapplikaasjes wurdt allinich foar jo gemak levere en kin wurde ferfongen troch updates. It is jo ferantwurdlikens om te soargjen dat jo applikaasje foldocht oan jo spesifikaasjes. Nim kontakt op mei jo lokale Microchip ferkeap kantoar foar ekstra stipe of, krije ekstra stipe by https://www.microchip.com/en-us/support/design-help/client-supportservices.
DIT YNFORMAASJE WORDT LJOCHT FAN MICROCHIP "AS IS". MICROCHIP MAAKT GEEN FERSENTASJES OF GARANTIES FAN ELKE SOART, SY EXPRESS OF YMPLYD, SKRIFTLIK OF Mûnling, STATUTORY OF EARSOON, FERGESE AAN DE YNFORMAASJE YNLEFT MAAR NET BEPERKTE TOT ELKE YMPLIYTE GARANJANSJES, FAN ÛNDERFYLDE GARANJANTIES, FAN ÛNDERFYLJENDE GARANJANTIES, ICULAR DOEL, OR GARANTIES FERGESE AAN ITS CONDITION, KWALITEIT, OR PERFORMANCE. YN GEEN GEVAL SIL MICROCHIP AANSPRAKELIJK Wêze FOAR ELKE INDIREKTE, SPESIALE, STRAFFENDE, INSIDENTELE, OF GEVOLGLIKE FERLIEZEN, SKADE, KOSTEN, OF UITGAVEN FAN ELKE SOART WAT HÊT HÊT HÊT HÊT HÊT OP DE YNFORMAASJE OF SY GEBRUIK, HÛÛKLIK FERGESE, HOOFDÊÛÛÛÛRJOCHT, HÌÊÛÛÛÛNÊLÊN FERGESE MOOGLIKHEID OF DE SKADES binne foarsjoenber. FAN DE FOLLE MATE DAT BY DE WET tastien is, sil MICROCHIP'S TOTALE AANSPRAKELIJKHEID OP ALLE EIDERINGEN OP ELKE MANIER FERGESE AAN DE YNFORMAASJE OF SY GEBRUK NET it BELANG FAN FERGESE HEBBEN DAT JO DIREKTE FOAR DE MICROCHIP BETAALD HAVEN.
Gebrûk fan Microchip-apparaten yn libbensstipe- en / of feiligensapplikaasjes is folslein op it risiko fan 'e keaper, en de keaper stimt yn om Microchip te ferdigenjen, te beskermjen en harmless te hâlden fan alle skea, oanspraken, suits of útjeften dy't fuortkomme út sa'n gebrûk. Gjin lisinsjes wurde oerbrocht, ymplisyt of oars, ûnder alle Microchip yntellektuele eigendomsrjochten, útsein as oars oanjûn.
Foar ynformaasje oer Microchip's Quality Management Systems, besykje asjebleaft www.microchip.com/quality.
Handelsmerken
De namme en logo fan de mikrochip, it Microchip-logo, Adaptec, AnyRate, AVR, AVR-logo, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStylus, maXTouch, MediaLB, megaAVR, Microsemi, Microsemi logo, MOST, MOST logo, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32 logo, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST Logo, SuperFlash , Symmetricom, SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron, en XMEGA binne registrearre hannelsmerken fan Microchip Technology Incorporated yn 'e FS en oare lannen. AgileSwitch, APT, ClockWorks, The Embedded Control Solutions Company, EtherSynch, Flashtec, Hyper Speed Control, HyperLight Load, IntelliMOS, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, ProASIC Plus logo, Quiet- Wire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime, WinPath, en ZL binne registrearre hannelsmerken fan Microchip Technology Incorporated yn 'e FS
Adjacent Key Suppression, AKS, Analog-for-the-Digital Age, Any Capacitor, AnyIn, AnyOut, Augmented Switching, BlueSky, BodyCom, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM.net, Dynamic DAMage Matching , ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, In-Circuit Serial Programming, ICSP, INICnet, Intelligent Paralleling, Inter-Chip Connectivity, JitterBlocker, Knob-on-Display, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB Certified logo, MPLIB, MPLINK, MultiTRAK, NetDetach, NVM Express, NVMe, Omniscient Code Generation, PICDEM, PICDEM.net, PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL . , Ripple Blocker, RTAX, RTG4, SAM-ICE, Serial Quad I/O, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-IS, storClad, SQI, SuperSwitcher, SuperSwitcher II, Switchtec, SynchroPHY, Total Endurance, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect en ZENA binne hannelsmerken fan Microchip Technology Incorporated yn 'e FS en oare lannen.
SQTP is in tsjinstmerk fan Microchip Technology Incorporated yn 'e FS
It Adaptec-logo, Frequency on Demand, Silicon Storage Technology, Symmcom, en Trusted Time binne registrearre hannelsmerken fan Microchip Technology Inc. yn oare lannen.
GestIC is in registrearre hannelsmerk fan Microchip Technology Germany II GmbH & Co. KG, in dochterûndernimming fan Microchip Technology Inc., yn oare lannen.
Alle oare hier neamde hannelsmerken binne eigendom fan har respektive bedriuwen.
© 2009-2021, Microchip Technology Incorporated en syn dochterûndernimmingen.
Alle rjochten foarbehâlden.
ISBN: 978-1-5224-9314-3
Wrâldwiid ferkeap en tsjinst
AMERIKA
- Corporate Office
2355 West Chandler Blvd.
Chandler, AZ 85224-6199
Tel: 480-792-7200
Fax: 480-792-7277
Technyske stipe: http://www.microchip.com/
stypje Web Adres: www.microchip.com - Atlanta
Duluth, GA
Tel: 678-957-9614
Fax: 678-957-1455 - Austin, TX
Tel: 512-257-3370 - Boston
Westborough, MA
Tel: 774-760-0087
Fax: 774-760-0088 - Chicago
Itasca, IL
Tel: 630-285-0071
Fax: 630-285-0075 - Dallas
Addison, TX
Tel: 972-818-7423
Fax: 972-818-2924 - Detroit
Novi, MI
Tel: 248-848-4000 - Houston, TX
Tel: 281-894-5983 - Indianapolis
Noblesville, IN
Tel: 317-773-8323
Fax: 317-773-5453
Tel: 317-536-2380 - Los Angeles
Mission Viejo, CA
Tel: 949-462-9523
Fax: 949-462-9608
Tel: 951-273-7800 - Raleigh, NC
Tel: 919-844-7510 - New York, NY
Tel: 631-435-6000 - San Jose, CA
Tel: 408-735-9110
Tel: 408-436-4270 - Kanada - Toronto
Tel: 905-695-1980
Fax: 905-695-2078
ASIA / PASIFIC
- Austraalje - Sydney
Tel: 61-2-9868-6733 - Sina - Peking
Tel: 86-10-8569-7000 - Sina - Chengdu
Tel: 86-28-8665-5511 - Sina - Chongqing
Tel: 86-23-8980-9588 - Sina - Dongguan
Tel: 86-769-8702-9880 - Sina - Guangzhou
Tel: 86-20-8755-8029 - Sina - Hangzhou
Tel: 86-571-8792-8115 - Sina - Hong Kong SAR
Tel: 852-2943-5100 - Sina - Nanjing
Tel: 86-25-8473-2460 - Sina - Qingdao
Tel: 86-532-8502-7355 - Sina - Shanghai
Tel: 86-21-3326-8000 - Sina - Shenyang
Tel: 86-24-2334-2829 - Sina - Shenzhen
Tel: 86-755-8864-2200 - Sina - Suzhou
Tel: 86-186-6233-1526 - Sina - Wuhan
Tel: 86-27-5980-5300 - Sina - Xian
Tel: 86-29-8833-7252 - Sina - Xiamen
Tel: 86-592-2388138 - Sina - Zhuhai
Tel: 86-756-3210040 - Yndia - Bangalore
Tel: 91-80-3090-4444 - Yndia - Nij-Delhi
Tel: 91-11-4160-8631 - Yndia - Pune
Tel: 91-20-4121-0141 - Japan - Osaka
Tel: 81-6-6152-7160 - Japan - Tokio
Tel: 81-3-6880- 3770 - Korea - Daegu
Tel: 82-53-744-4301 - Korea - Seoul
Tel: 82-2-554-7200 - Maleizje - Kuala Lumpur
Tel: 60-3-7651-7906 - Maleizje - Penang
Tel: 60-4-227-8870 - Filipinen - Manila
Tel: 63-2-634-9065 - Singapoer
Tel: 65-6334-8870 - Taiwan - Hsin Chu
Tel: 886-3-577-8366 - Taiwan - Kaohsiung
Tel: 886-7-213-7830 - Taiwan - Taipei
Tel: 886-2-2508-8600 - Tailân - Bangkok
Tel: 66-2-694-1351 - Fietnam - Ho Chi Minh
Tel: 84-28-5448-2100
EUROPA
- Eastenryk - Wels
Tel: 43-7242-2244-39
Fax: 43-7242-2244-393 - Denemarken - Kopenhagen
Tel: 45-4485-5910
Fax: 45-4485-2829 - Finlân - Espoo
Tel: 358-9-4520-820 - Frankryk - Parys
Tel: 33-1-69-53-63-20
Fax: 33-1-69-30-90-79 - Dútslân - Garching
Tel: 49-8931-9700 - Dútslân - Haan
Tel: 49-2129-3766400 - Dútslân - Heilbronn
Tel: 49-7131-72400 - Dútslân - Karlsruhe
Tel: 49-721-625370 - Dútslân - München
Tel: 49-89-627-144-0
Fax: 49-89-627-144-44 - Dútslân - Rosenheim
Tel: 49-8031-354-560 - Itaalje - Milaan
Tel: 39-0331-742611
Fax: 39-0331-466781 - Itaalje - Padua
Tel: 39-049-7625286 - Nederlân – Drunen
Tel: 31-416-690399
Fax: 31-416-690340 - Noarwegen - Trondheim
Tel: 47-7288-4388 - Poalen - Warsjau
Tel: 48-22-3325737 - Roemenië - Boekarest
Tel: 40-21-407-87-50 - Spanje - Madrid
Tel: 34-91-708-08-90
Fax: 34-91-708-08-91 - Sweden - Göteborg
Tel: 46-31-704-60-40 - Sweden - Stockholm
Tel: 46-8-5090-4654 - UK - Wokingham
Tel: 44-118-921-5800
Fax: 44-118-921-5820
Noat:
Dizze seksje fan hantlieding foar famyljereferinsje is bedoeld om te tsjinjen as oanfolling op apparaatgegevensblêden. Ofhinklik fan it apparaat fariant, kin dizze hânlieding seksje net jilde foar alle dsPIC33 / PIC24 apparaten. Kontrolearje asjebleaft de notysje oan it begjin fan it haadstik "Flash Program Memory" yn it hjoeddeistige apparaatgegevensblêd om te kontrolearjen oft dit dokumint it apparaat stipet dat jo brûke.
Apparaatgegevensblêden en seksjes foar famyljereferinsjehânlieding binne beskikber foar download fan 'e Microchip Worldwide Webside op: http://www.microchip.com.
Dokuminten / Resources
![]() |
MICROCHIP PIC24 Flash Programming [pdf] Brûkersgids PIC24 Flash Programming, PIC24, Flash Programming, Programming |
![]() |
MICROCHIP PIC24 Flash Programming [pdf] Brûkersgids PIC24 Flash Programming, PIC24, Flash Programming |






