MICROCHIP PIC24 Flash-programmering brukerveiledning

MICROCHIP-PIC24-Flash-Programming-FEA

MIKROKIP-LOGO

MICROCHIP PIC24 Flash-programmering

MICROCHIP-PIC24-Flash-Programming-PRO

Produktinformasjon

Flash programmering
dsPIC33/PIC24-familiene av enheter har et internt programmerbart Flash-programminne for kjøring av brukerkode. Det er opptil tre metoder for å programmere dette minnet:

  • Tabell Instruksjon Drift
  • In-Circuit Serial Programmering (ICSP)
  • In-Application Programming (IAP)

Tabellinstruksjoner viser metoden for å overføre data mellom Flash-programminnet og dataminnet til dsPIC33/PIC24-enheter. TBLRDL-instruksjonen brukes til å lese fra biter [15:0] av programminneplass. TBLWTL-instruksjonen brukes til å skrive til biter [15:0] av Flash-programminneplass. TBLRDL og TBLWTL kan få tilgang til Flash-programminne i Word-modus eller Byte-modus.

I tillegg til Flash-programminneadressen spesifiserer tabellinstruksjonen også et W-register (eller en W Register-peker til en minneplassering), det vil si kilden til Flash-programminnedataene som skal skrives, eller destinasjonen for et Flash-program minnelest.

Denne delen beskriver teknikken for programmering av Flash-programminne. dsPIC33/PIC24-familiene av enheter har et internt programmerbart Flash-programminne for utføring av brukerkode. Det er opptil tre metoder for å programmere dette minnet:

  • Run-Time Self-Programming (RTSP)
  • In-Circuit Serial Programming™ (ICSP™)
  • Enhanced In-Circuit Serial Programmering (EICSP)

RTSP utføres av applikasjonsprogramvaren under kjøring, mens ICSP og EICSP utføres fra en ekstern programmerer ved hjelp av en seriell dataforbindelse til enheten. ICSP og EICSP tillater mye raskere programmeringstid enn RTSP. RTSP-teknikker er beskrevet i avsnitt 4.0 "Run-Time Self-Programming (RTSP)". ICSP- og EICSP-protokollene er definert i programmeringsspesifikasjonsdokumentene for de respektive enhetene, som kan lastes ned fra mikrobrikken webnettstedet (http://www.microchip.com). Ved programmering på C-språket er flere innebygde funksjoner tilgjengelige som letter Flash-programmering. Se "MPLAB® XC16 C Compiler User's Guide" (DS50002071) for detaljer om innebygde funksjoner.

Produktbruksinstruksjoner

Følg disse trinnene for å programmere Flash-programminnet:

  1. Se enhetens datablad for å sjekke om familiereferansehåndboken støtter enheten du bruker.
  2. Last ned enhetens datablad og familiereferansehåndboken fra Microchip Worldwide Webnettsted på: http://www.microchip.com.
  3. Velg en av de tre metodene for å programmere minnet (Tabell Instruction Operation, In-Circuit Serial Programming (ICSP), In-Application Programming (IAP)).
  4. Hvis du bruker Table Instruction Operation, bruk TBLRDL-instruksjonen for å lese fra biter[15:0] av programminneplass og TBLWTL-instruksjonen for å skrive til biter[15:0] Flash-programminneplass.
  5. Sørg for å spesifisere et W-register (eller en W Register-peker til en minneplassering) som kilden til Flash-programminnedataene som skal skrives, eller destinasjonen for en Flash-programminnelesing.

For ytterligere informasjon og detaljer om programmering av Flash-programminnet, se dsPIC33/PIC24 Family Reference Manual.

TABELL INSTRUKSJON BETJENING

Tabellinstruksjonene gir metoden for overføring av data mellom Flash-programminnet og dataminnet til dsPIC33/PIC24-enheter. Denne delen gir et sammendrag av tabellinstruksjonene som brukes under programmering av Flash-programminnet. Det er fire grunnleggende tabellinstruksjoner:

  • TBLRDL: Tabell Lest Lav
  • TBLRDH: Tabell Les Høy
  • TBLWTL: Tabell Skriv lav
  • TBLWTH: Tabell Skriv høy

TBLRDL-instruksjonen brukes til å lese fra biter [15:0] av programminneplass. TBLWTL-instruksjonen brukes til å skrive til biter [15:0] av Flash-programminneplass. TBLRDL og TBLWTL kan få tilgang til Flash-programminne i Word-modus eller Byte-modus.

TBLRDH- og TBLWTH-instruksjonene brukes til å lese eller skrive til biter [23:16] av programminneplass. TBLRDH og TBLWTH kan få tilgang til Flash-programminne i Word- eller Byte-modus. Fordi Flash-programminnet bare er 24 bit bredt, kan TBLRDH- og TBLWTH-instruksjonene adressere en øvre byte av Flash-programminnet som ikke eksisterer. Denne byten kalles "fantombyten". Enhver lesing av fantombyten vil returnere 0x00. En skriving til fantombyten har ingen effekt. 24-bits Flash-programminnet kan betraktes som to side-ved-side 16-bits mellomrom, med hver plass som deler samme adresseområde. Derfor får TBLRDL- og TBLWTL-instruksjonene tilgang til "lav" programminneplass (PM[15:0]). TBLRDH- og TBLWTH-instruksjonene får tilgang til den "høye" programminneplassen (PM[31:16]). Eventuelle lesinger eller skrivinger til PM[31:24] vil få tilgang til fantombyten (uimplementert). Når noen av tabellinstruksjonene brukes i bytemodus, vil den minste signifikante biten (LSb) til tabelladressen bli brukt som bytevalgbiten. LSb bestemmer hvilken byte i høy eller lav programminneplass som aksesseres.

Figur 2-1 illustrerer hvordan Flash-programminnet adresseres ved å bruke tabellinstruksjonene. En 24-bits programminneadresse dannes ved å bruke biter [7:0] av TBLPAG-registeret og den effektive adressen (EA) fra et W-register spesifisert i tabellinstruksjonen. 24-biters programteller (PC) er illustrert i figur 2-1 for referanse. De øverste 23 bitene av EA brukes til å velge minneplasseringen for Flash-programmet.

For bytemodustabellinstruksjonene brukes LSb til W-registeret EA for å velge hvilken byte av 16-bits Flash-programminneordet som er adressert; '1' velger biter[15:8] og '0' velger biter[7:0]. LSb til W-registeret EA ignoreres for en tabellinstruksjon i Word-modus. I tillegg til Flash-programminneadressen spesifiserer tabellinstruksjonen også et W-register (eller en W Register-peker til en minneplassering), det vil si kilden til Flash-programminnedataene som skal skrives, eller destinasjonen for et Flash-program minnelest. For en tabellskriveoperasjon i bytemodus ignoreres biter[15:8] i kildearbeidsregisteret.MICROCHIP-PIC24-Flash-Programmering- (1)

Bruk av tabelllesinstruksjoner
Tabelllesing krever to trinn:

  1. Adressepekeren settes opp ved hjelp av TBLPAG-registeret og et av W-registrene.
  2. Flash-programminnets innhold på adressestedet kan leses.

 

  1. LES ORD MODUS
    Koden vist i eksample 2-1 og EksampLe 2-2 viser hvordan du leser et ord i Flash-programminnet ved å bruke tabellinstruksjonene i Word-modus.MICROCHIP-PIC24-Flash-Programmering- (2) MICROCHIP-PIC24-Flash-Programmering- (3)
  2. LES BYTE-MODUS
    Koden vist i eksampLe 2-3 viser post-increment-operatoren på lesingen av den lave byten, som får adressen i arbeidsregisteret til å øke med én. Dette setter EA[0] til en '1' for tilgang til den midterste byten i den tredje skriveinstruksjonen. Den siste post-inkrementet setter W0 tilbake til en jevn adresse, og peker til neste Flash-programminneplassering.MICROCHIP-PIC24-Flash-Programmering- (4)
  3. BORD SKRIVE LÅSER
    Tabellskriveinstruksjoner skriver ikke direkte til det ikke-flyktige programminnet. I stedet laster tabellskriveinstruksjonene skrivelåser som lagrer skrivedataene. NVM-adresseregistrene skal lastes med den første adressen der låste data skal skrives. Når alle skrivelåsene er lastet inn, startes den faktiske minneprogrammeringsoperasjonen ved å utføre en spesiell sekvens av instruksjoner. Under programmering overfører maskinvaren dataene i skrivelåsene til Flash-minnet. Skrivelåsene starter alltid på adressen 0xFA0000, og strekker seg gjennom 0xFA0002 for ordprogrammering, eller gjennom 0xFA00FE for enheter som har radprogrammering.

Note: Antall skrivelåser varierer fra enhet til enhet. Se kapittelet "Flash Program Memory" i det spesifikke enhetsdatabladet for antall tilgjengelige skrivelåser.

KONTROLLREGISTER

Flere spesialfunksjonsregistre (SFR) brukes til å programmere slette- og skriveoperasjoner for Flash-programminnet: NVMCON, NVMKEY og NVM-adresseregistrene, NVMADR og NVMADRU.

NVMCON Register
NVMCON-registeret er det primære kontrollregisteret for Flash og programmer/slette operasjoner. Dette registeret velger om en slette- eller programoperasjon skal utføres og kan starte programmet eller slettesyklusen. NVMCON-registeret vises i register 3-1. Den nedre byten til NVMCON konfigurerer typen NVM-operasjon som skal utføres.

NVMKEY Register
NVMKEY-registeret (se Register 3-4) er et skrivebeskyttet register som brukes til å forhindre utilsiktet skriving av NVMCON som kan ødelegge Flash-minnet. Når den er låst opp, tillates skriving til NVMCON for én instruksjonssyklus der WR-biten kan settes til å påkalle en slette- eller programmeringsrutine. Gitt tidskravene, er det nødvendig å deaktivere avbrudd.
Utfør følgende trinn for å starte en slette- eller programmeringssekvens:

  1. Deaktiver avbrudd.
  2. Skriv 0x55 til NVMKEY.
  3. Skriv 0xAA til NVMKEY.
  4. Start programmeringsskrivesyklusen ved å stille inn WR-biten (NVMCON[15]).
  5. Utfør to NOP-instruksjoner.
  6. Gjenopprett avbrudd.

MICROCHIP-PIC24-Flash-Programmering- (5)

DEAKTIVERER AVBRUDD
Deaktivering av avbrudd er nødvendig for alle Flash-operasjoner for å sikre et vellykket resultat. Hvis det oppstår et avbrudd under NVMKEY-opplåsingssekvensen, kan det blokkere skrivingen til WR-biten. NVMKEY-opplåsingssekvensen må utføres uten avbrudd, som diskutert i avsnitt 3.2 "NVMKEY-register".

Avbrudd kan deaktiveres på én av to metoder, ved å deaktivere Global Interrupt Enable (GIE-bit), eller ved å bruke DISI-instruksjonen. DISI-instruksjonen anbefales ikke siden den bare deaktiverer avbrudd for prioritet 6 eller lavere; Derfor bør Global Interrupt Enable-metoden brukes.

CPU-skriving til GIE tar to instruksjonssykluser før de påvirker kodeflyten. To NOP-instruksjoner er nødvendig etterpå, eller kan erstattes med andre nyttige arbeidsinstruksjoner, for eksempel lasting av NVMKEY; dette gjelder både for innstilte og klare operasjoner. Det bør utvises forsiktighet ved reaktivering av avbrudd, slik at den NVM-målrettede rutinen ikke tillater avbrudd når en tidligere kalt funksjon har deaktivert dem av andre årsaker. For å løse dette i Assembly kan en stack push og pop brukes for å beholde tilstanden til GIE-biten. I C kan en variabel i RAM brukes til å lagre INTCON2 før du sletter GIE. Bruk følgende sekvens for å deaktivere avbrudd:

  1. Skyv INTCON2 på stabelen.
  2. Fjern GIE-biten.
  3. To NOP-er eller skriver til NVMKEY.
  4. Start programmeringssyklusen ved å stille inn WR-biten (NVMCON[15]).
  5. Gjenopprett GIE-tilstand ved POP av INTCON2.MICROCHIP-PIC24-Flash-Programmering- (6)

NVM-adresseregistre
De to NVM-adresseregistrene, NVMADRU og NVMADR, danner 24-biters EA for den valgte raden eller ordet for programmeringsoperasjoner når de er sammenkoblet. NVMADRU-registeret brukes til å holde de øvre åtte bitene av EA, og NVMADR-registeret brukes til å holde de nedre 16 bitene av EA. Noen enheter kan referere til de samme registrene som NVMADRL og NVMADRH. NVM-adresseregistrene skal alltid peke på en dobbel instruksjonsordgrense når du utfører en dobbel instruksjonsordprogrammeringsoperasjon, en radgrense når du utfører en radprogrammeringsoperasjon eller en sidegrense når du utfører en sidesletteoperasjon.

Register 3-1: NVMCON: Flash-minnekontrollregisterMICROCHIP-PIC24-Flash-Programmering- (7) MICROCHIP-PIC24-Flash-Programmering- (8)

Note

  1. Denne biten kan bare tilbakestilles (dvs. slettes) på en Power-on Reset (POR).
  2. Når du går ut av hvilemodus, er det en oppstartsforsinkelse (TVREG) før Flash-programminnet blir operativt. Se kapittelet "Elektriske egenskaper" i det spesifikke databladet for enheten for mer informasjon.
  3. Alle andre kombinasjoner av NVMOP[3:0] er uimplementerte.
  4. Denne funksjonaliteten er ikke tilgjengelig på alle enheter. Se kapittelet "Flash Program Memory" i det spesifikke enhetsdatabladet for tilgjengelige operasjoner.
  5. Å gå inn i en strømsparingsmodus etter å ha utført en PWRSAV-instruksjon er betinget av fullføring av alle ventende NVM-operasjoner.
  6. Denne biten er bare tilgjengelig på enheter som støtter RAM bufret radprogrammering. Se det enhetsspesifikke databladet for tilgjengelighet.

MICROCHIP-PIC24-Flash-Programmering- (9)

Note

  1. Denne biten kan bare tilbakestilles (dvs. slettes) på en Power-on Reset (POR).
  2. Når du går ut av hvilemodus, er det en oppstartsforsinkelse (TVREG) før Flash-programminnet blir operativt. Se kapittelet "Elektriske egenskaper" i det spesifikke databladet for enheten for mer informasjon.
  3. Alle andre kombinasjoner av NVMOP[3:0] er uimplementerte.
  4. Denne funksjonaliteten er ikke tilgjengelig på alle enheter. Se kapittelet "Flash Program Memory" i det spesifikke enhetsdatabladet for tilgjengelige operasjoner.
  5. Å gå inn i en strømsparingsmodus etter å ha utført en PWRSAV-instruksjon er betinget av fullføring av alle ventende NVM-operasjoner.
  6. Denne biten er bare tilgjengelig på enheter som støtter RAM bufret radprogrammering. Se det enhetsspesifikke databladet for tilgjengelighet.

Register 3-2: NVMADRU: Ikke-flyktig minne Øvre adresseregister

MICROCHIP-PIC24-Flash-Programmering- (10)

Register 3-3: NVMADR: Ikke-flyktig minneadresseregister

MICROCHIP-PIC24-Flash-Programmering- (11)

Register 3-4: NVMKEY: Ikke-flyktig minnenøkkelregister

MICROCHIP-PIC24-Flash-Programmering- (12)

SELVPROGRAMMERING AV KJØRETID (RTSP)

RTSP lar brukerapplikasjonen endre innholdet i Flash-programminnet. RTSP oppnås ved å bruke TBLRD (tabelllesing) og TBLWT (tabellskriving), TBLPAG-registeret og NVM-kontrollregistrene. Med RTSP kan brukerapplikasjonen slette en enkelt side med Flash-minne og programmere enten to instruksjonsord eller opptil 128 instruksjonsord på enkelte enheter.

RTSP-drift
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.

Note: Det anbefales at TBLPAG-registeret lagres før endring og gjenopprettes etter bruk.

FORSIKTIGHET
På noen enheter lagres konfigurasjonsbitene på den siste siden av programmet Flash-brukerminne i en seksjon kalt "Flash-konfigurasjonsbytes". Ved å utføre en sidesletteoperasjon på den siste siden i programminnet med disse enhetene, slettes Flash-konfigurasjonsbytene, som muliggjør kodebeskyttelse. Derfor bør brukere ikke utføre sidesletteoperasjoner på den siste siden i programminnet. Dette er ikke et problem når konfigurasjonsbitene er lagret i konfigurasjonsminnet i en seksjon kalt "Enhetskonfigurasjonsregistre". Se Programminnekart i kapittelet "Minneorganisasjon" i det spesifikke enhetsdataarket for å finne ut hvor konfigurasjonsbitene er plassert.

Flash-programmeringsoperasjoner
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.

Note

  1. Hvis en POR- eller BOR-hendelse oppstår mens en RTSP-sletting eller programmeringsoperasjon pågår, avbrytes RTSP-operasjonen umiddelbart. Brukeren bør utføre RTSP-operasjonen på nytt etter at enheten kommer ut av Reset.
  2. Hvis en EXTR-, SWR-, WDTO-, TRAPR-, CM- eller IOPUWR-tilbakestillingshendelse oppstår mens en RTSP-sletting eller programmeringsoperasjon pågår, tilbakestilles enheten først etter at RTSP-operasjonen er fullført.

RTSP-PROGRAMMERINGSALGORITME
Denne delen beskriver RTSP-programmering, som består av tre hovedprosesser.

Opprette et RAM-bilde av datasiden som skal endres
Utfør disse to trinnene for å lage et RAM-bilde av datasiden som skal endres:

  1. Les siden til Flash-programminnet og lagre den i data-RAM som et data-"bilde". RAM-bildet må leses fra en sideadressegrense.
  2. Endre RAM-databildet etter behov.

Erasing Flash Program Memory
Etter å ha fullført trinn 1 og 2 ovenfor, utfør følgende fire trinn for å slette Flash-programminnesiden:

  1. Sett NVMOP[3:0]-bitene (NVMCON[3:0]) for å slette siden i Flash-programminnet som ble lest fra trinn 1.
  2. Skriv startadressen til siden som skal slettes inn i NVMADRU- og NMVADR-registrene.
  3. Med avbrudd deaktivert:
    • a) Skriv nøkkelsekvensen til NVMKEY-registeret for å aktivere innstilling av WR-biten (NVMCON[15]).
    • b) Sett WR-biten; dette vil starte slettesyklusen.
    • c) Utfør to NOP-instruksjoner.
  4. WR-biten slettes når slettesyklusen er fullført.

Programmere Flash-minnesiden
Den neste delen av prosessen er å programmere Flash-minnesiden. Flash-minnesiden programmeres ved hjelp av dataene fra bildet opprettet i trinn 1. Dataene overføres til skrivelåsene i trinn med enten doble instruksjonsord eller rader. Alle enheter har dobbel instruksjonsordprogrammeringsevne. (Se kapittelet "Flash Program Memory" i det spesifikke enhetsdatabladet for å finne ut om og hvilken type radprogrammering som er tilgjengelig.) Etter at skrivelåsene er lastet inn, startes programmeringsoperasjonen, som overfører dataene fra skrivelåser i Flash-minnet. Dette gjentas til hele siden er programmert. Gjenta de følgende tre trinnene, start med det første instruksjonsordet på Flash-siden og øk trinnvis med enten doble programord eller instruksjonsrader, til hele siden er programmert:

  1. Last inn skrivelåsene:
    • a) Sett TBLPAG-registeret til å peke på plasseringen av skrivelåsene.
    • b) Last inn ønsket antall låser ved å bruke par med TBLWTL- og TBLWTH-instruksjoner:
    • For programmering med to ord kreves to par TBLWTL- og TBLWTH-instruksjoner
    • For radprogrammering kreves et par TBLWTL- og TBLWTH-instruksjoner for hvert instruksjonsordradelement
  2. Start programmeringsoperasjonen:
    • a) Sett NVMOP[3:0]-bitene (NVMCON[3:0]) til å programmere enten doble instruksjonsord eller en instruksjonsrad, etter behov.
      b) Skriv den første adressen til enten det doble instruksjonsordet eller instruksjonsraden som skal programmeres inn i NVMADRU- og NVMADR-registrene.
      c) Med avbrudd deaktivert:
      • Skriv nøkkelsekvensen til NVMKEY-registeret for å aktivere innstilling av WR-biten (NVMCON[15])
      • Still inn WR-biten; dette vil starte slettesyklusen
      • Utfør to NOP-instruksjoner
  3. WR-biten slettes når programmeringssyklusen er fullført.

Gjenta hele prosessen etter behov for å programmere ønsket mengde Flash-programminne.

Note

  1. Brukeren bør huske at minimumsmengden av Flash-programminne som kan slettes med RTSP er en enkelt slettet side. Derfor er det viktig at et bilde av disse plasseringene lagres i generell RAM før en slettesyklus startes.
  2. En rad eller et ord i Flash-programminnet bør ikke programmeres mer enn to ganger før det slettes.
  3. På enheter med konfigurasjonsbyte lagret på siste side i Flash, sletter en sidesletteoperasjon på siste side i programminnet konfigurasjonsbytene, som aktiverer kodebeskyttelse. På disse enhetene skal den siste siden i Flash-minnet ikke slettes.

ERASING ONE PAGE OF FLASH
Kodesekvensen vist i Eksample 4-1 kan brukes til å slette en side av Flash-programminnet. NVMCON-registeret er konfigurert til å slette én side med programminne. NVMADR- og NMVADRU-registrene lastes med startadressen til siden som skal slettes. Programminnet må slettes ved en "partall" adressegrense. Se kapittelet "Flash Program Memory" i det spesifikke enhetsdatabladet for å bestemme størrelsen på Flash-siden.
Sletteoperasjonen initieres ved å skrive en spesiell opplåsing, eller nøkkelsekvens, til NVMKEY-registeret før innstilling av WR-biten (NVMCON[15]). Opplåsingssekvensen må utføres i nøyaktig rekkefølge, som vist i eksample 4-1, uten avbrudd; derfor må avbrudd deaktiveres.
To NOP-instruksjoner bør settes inn i koden etter slettesyklusen. På enkelte enheter lagres konfigurasjonsbitene på den siste siden i programmet Flash. Med disse enhetene, vil en sidesletteoperasjon på den siste siden i programminnet slette Flash-konfigurasjonsbytene, noe som muliggjør kodebeskyttelse som et resultat. Brukere bør ikke utføre sidesletteoperasjoner på den siste siden i programminnet.MICROCHIP-PIC24-Flash-Programmering- (13)MICROCHIP-PIC24-Flash-Programmering- (14)

LADER SKRIVE LÅSER
Skrivelåsene brukes som en lagringsmekanisme mellom brukerapplikasjonen Table Writes og den faktiske programmeringssekvensen. Under programmeringsoperasjonen vil enheten overføre data fra skrivelåsene til Flash-minnet. For enheter som støtter radprogrammering, eksampLe 4-3 viser sekvensen av instruksjoner som kan brukes til å laste 128 skrivelåser (128 instruksjonsord). 128 TBLWTL og 128 TBLWTH instruksjoner er nødvendig for å laste skrivelåsene for programmering av en rad med Flash-programminne. Se kapittelet "Flash Program Memory" i det spesifikke enhetsdatabladet for å finne ut hvor mange programmeringslåser som er tilgjengelige på enheten. For enheter som ikke støtter radprogrammering, eksampLe 4-4 viser sekvensen av instruksjoner som kan brukes til å laste to skrivelåser (to instruksjonsord). To TBLWTL- og to TBLWTH-instruksjoner er nødvendig for å laste skrivelåsene.

Note

  1. Koden for Load_Write_Latch_Row vises i eksample 4-3 og koden for Load_Write_Latch_Word vises i eksample 4-4. Koden i begge disse eksamples refereres til i etterfølgende eksamples.
  2. Se det spesifikke enhetsdatabladet for antall låser.MICROCHIP-PIC24-Flash-Programmering- (15)

ENKELRAD PROGRAMMERING EKSAMPLE
NVMCON-registeret er konfigurert til å programmere én rad med Flash-programminne. Programoperasjonen initieres ved å skrive en spesiell opplåsing, eller nøkkelsekvens, til NVMKEY-registeret før innstilling av WR-biten (NVMCON[15]). Opplåsingssekvensen må utføres uten avbrudd, og i nøyaktig rekkefølge, som vist i eksample 4-5. Derfor må avbrudd deaktiveres før sekvensen skrives.

Note: Ikke alle enheter har radprogrammeringsevne. Se kapittelet "Flash Program Memory" i det spesifikke enhetsdatabladet for å finne ut om dette alternativet er tilgjengelig.

To NOP-instruksjoner skal settes inn i koden etter programmeringssyklusen.MICROCHIP-PIC24-Flash-Programmering- (16) MICROCHIP-PIC24-Flash-Programmering- (17)

RADPROGRAMMERING VED BRUK AV RAM-BUFFEREN
Utvalgte dsPIC33-enheter tillater radprogrammering å utføres direkte fra en bufferplass i data-RAM, i stedet for å gå gjennom holdelåsene for å overføre data med TBLWT-instruksjoner. Plasseringen av RAM-bufferen bestemmes av NVMSRCADR-registeret(e), som er lastet med data-RAM-adressen som inneholder det første ord med programdata som skal skrives.

Før du utfører programoperasjonen, må bufferplassen i RAM lastes med raden med data som skal programmeres. RAM kan lastes i enten et komprimert (pakket) eller ukomprimert format. Komprimert lagring bruker ett dataord for å lagre de mest betydningsfulle bytene (MSB) av to tilstøtende programdataord. Det ukomprimerte formatet bruker to dataord for hvert programdataord, med den øvre byten av hvert annet ord 00h. Komprimert format bruker omtrent 3/4 av plassen i data-RAM sammenlignet med det ukomprimerte formatet. Ukomprimert format, på den annen side, etterligner strukturen til 24-biters programdataord, komplett med den øvre fantombyten. Dataformatet velges av RPDF-biten (NVMCON[9]). Disse to formatene er vist i figur 4-1.

Når RAM-bufferen er lastet, lastes Flash-adressepekerne, NVMADR og NVMADRU, med 24-biters startadressen til Flash-raden som skal skrives. Som med programmering av skrivelåsene, startes prosessen ved å skrive NVM-opplåsingssekvensen, etterfulgt av innstilling av WR-biten. Når den er initiert, laster enheten automatisk inn de riktige låsene og øker NVM-adresseregistrene til alle byte er programmert. Eksample 4-7 viser et eksampdelen av prosessen. Hvis NVMSRCADR er satt til en verdi slik at det oppstår en dataunderkjøringsfeiltilstand, vil URERR-biten (NVMCON[8]) settes til å indikere tilstanden.
Enheter som implementerer RAM-bufferradprogrammering implementerer også en eller to skrivelåser. Disse lastes ved hjelp av TBLWT-instruksjonene og brukes til å utføre ordprogrammeringsoperasjoner.MICROCHIP-PIC24-Flash-Programmering- (18)

ORDPROGRAMMERING
NVMCON-registeret er konfigurert til å programmere to instruksjonsord i Flash-programminnet. Programoperasjonen initieres ved å skrive en spesiell opplåsing, eller nøkkelsekvens, til NVMKEY-registeret før innstilling av WR-biten (NVMCON[15]). Opplåsingssekvensen må utføres i nøyaktig rekkefølge, som vist i eksample 4-8, uten avbrudd. Derfor bør avbrudd deaktiveres før sekvensen skrives.
To NOP-instruksjoner skal settes inn i koden etter programmeringssyklusen.MICROCHIP-PIC24-Flash-Programmering- (19) MICROCHIP-PIC24-Flash-Programmering- (20)

Skrive til enhetskonfigurasjonsregistre
På enkelte enheter lagres konfigurasjonsbitene i konfigurasjonsminnet i en seksjon kalt "Device Configuration Registers". På andre enheter lagres konfigurasjonsbitene på den siste siden av programmet Flash-brukerminne i en seksjon kalt "Flash-konfigurasjonsbytes". Ved å utføre en sidesletteoperasjon på den siste siden i programminnet med disse enhetene, slettes Flash-konfigurasjonsbytene, noe som muliggjør kodebeskyttelse. Derfor bør brukere ikke utføre sidesletteoperasjoner på den siste siden i programminnet. Se programminnekartet i kapittelet "Minneorganisasjon" i det spesifikke enhetsdataarket for å finne ut hvor konfigurasjonsbitene er plassert.

Når konfigurasjonsbitene er lagret i konfigurasjonsminnet, kan RTSP brukes til å skrive til enhetens konfigurasjonsregistre, og RTSP lar hvert konfigurasjonsregister skrives om individuelt uten først å utføre en slettesyklus. Forsiktighet må utvises når du skriver konfigurasjonsregistrene siden de kontrollerer kritiske driftsparametere for enheten, slik som systemklokkekilden, PLL og WDT-aktivering.

Prosedyren for å programmere et enhetskonfigurasjonsregister ligner prosedyren for programmering av Flash-programminne, bortsett fra at kun TBLWTL-instruksjoner kreves. Dette er fordi de øvre åtte bitene i hvert enhetskonfigurasjonsregister er ubrukte. Videre må bit 23 av Table Write-adressen settes for å få tilgang til konfigurasjonsregistrene. Se "Enhetskonfigurasjon" (DS70000618) i "dsPIC33/PIC24 Family Reference Manual" og kapittelet "Spesialfunksjoner" i det spesifikke enhetsdatabladet for en fullstendig beskrivelse av enhetskonfigurasjonsregistrene.

Note

  1. Skriving til enhetskonfigurasjonsregistre er ikke tilgjengelig på alle enheter. Se kapittelet "Spesielle funksjoner" i det spesifikke enhetsdatabladet for å finne modusene som er tilgjengelige i henhold til de enhetsspesifikke NVMOP[3:0]-bitenes definisjon.
  2. Mens du utfører RTSP på enhetskonfigurasjonsregistre, må enheten operere ved hjelp av den interne FRC-oscillatoren (uten PLL). Hvis enheten opererer fra en annen klokkekilde, må en klokkesvitsj til den interne FRC-oscillatoren (NOSC[2:0] = 000) utføres før RTSP-operasjon utføres i enhetens konfigurasjonsregistre.
  3. Hvis de primære oscillatormodusvalgbitene (POSCMD[1:0]) i oscillatorkonfigurasjonsregisteret (FOSC) omprogrammeres til en ny verdi, må brukeren sørge for at klokkebyttemodusbitene (FCKSM[1:0]) i FOSC-registeret har en initial programmert verdi på '0' før denne RTSP-operasjonen utføres.

KONFIGURASJONSREGISTER SKRIVEALGORITME
Den generelle prosedyren er som følger:

  1. Skriv den nye konfigurasjonsverdien til Table Write-låsen ved å bruke en TBLWTL-instruksjon.
  2. Konfigurer NVMCON for en konfigurasjonsregisterskriving (NVMCON = 0x4000).
  3. Skriv adressen til konfigurasjonsregisteret som skal programmeres inn i NVMADRU- og NVMADR-registrene.
  4. Deaktiver avbrudd, hvis aktivert.
  5. Skriv nøkkelsekvensen til NVMKEY-registeret.
  6. Start skrivesekvensen ved å stille inn WR-biten (NVMCON[15]).
  7. Aktiver avbrudd på nytt om nødvendig.

Exampdel 4-10 viser kodesekvensen som kan brukes til å endre et enhetskonfigurasjonsregister.MICROCHIP-PIC24-Flash-Programmering- (21)

REGISTRER KART

Et sammendrag av registrene knyttet til Flash-programmering er gitt i Tabell 5-1.MICROCHIP-PIC24-Flash-Programmering- (22)

RELATERTE BRUKSOMRÅDER

Denne delen viser applikasjonsnotater som er relatert til denne delen av håndboken. Disse applikasjonsnotatene er kanskje ikke skrevet spesifikt for dsPIC33/PIC24-produktfamiliene, men konseptene er relevante og kan brukes med modifikasjoner og mulige begrensninger. De gjeldende applikasjonsnotatene knyttet til Flash-programmering er:

Note: Vennligst besøk Microchip webnettstedet (www.microchip.com) for ytterligere applikasjonsmerknader og kode eksamples for dsPIC33/PIC24-familiene av enheter.

REVISJONSHISTORIE

Revisjon A (august 2009)
Dette er den første utgitte versjonen av dette dokumentet.

Revisjon B (februar 2011)
Denne revisjonen inkluderer følgende oppdateringer:

  • Examples:
    • Fjernet eksample 5-3 og Eksample 5-4
    • Oppdatert eksample 4-1, Eksample 4-5 og Eksample 4-10
    • Eventuelle referanser til #WR ble oppdatert til #15 i eksample 4-1, Eksample 4-5 og Eksample 4-8
    • Oppdatert følgende i Eksample 4-3:
  • Oppdaterte tittelen "Ordprogrammering" til "Laster skrivelåser for radprogrammering"
  • Enhver referanse til #ram_image ble oppdatert til #0xFA
    • Lagt til eksample 4-4
    • Oppdaterte tittelen i eksample 4-8
  • Merknader:
    • Lagt til to merknader i avsnitt 4.2 "Flash-programmeringsoperasjoner"
    • Oppdaterte notatet i avsnitt 4.5.2 "Laster skrivelåser"
    • Lagt til tre merknader i avsnitt 4.6 "Skriv til enhetskonfigurasjonsregistre"
    • Lagt til merknad 1 i tabell 5-1
  • registre:
    • Oppdaterte bitverdiene for NVMOP[3:0]: NVM-operasjon Velg biter i NVMCON-registeret (se register 3-1)
  • Seksjoner:
    • Fjernet seksjoner 5.2.1.4 "Skriveordmodus" og 5.2.1.5 "Skrivebytemodus"
    • Oppdatert seksjon 3.0 "Kontrollregistre"
    • Oppdatert følgende i seksjon 4.5.5 "Ordprogrammering":
  • Endret seksjonstittelen "Programmere ett ord i Flash-minne" til "Word Programmering"
  • Oppdatert første avsnitt
  • Endret begrepene «ett ord» til «et par ord» i andre ledd
    • Lagt til et nytt trinn 1 i avsnitt 4.6.1 "Konfigurasjonsregisterskrivealgoritme"
  • Tabeller:
    • Oppdatert Tabell 5-1
  • Noen få referanser til programminne ble oppdatert til Flash-programminne
  • Andre mindre oppdateringer som språk- og formateringsoppdateringer ble inkorporert i hele dokumentet

Revisjon C (juni 2011)
Denne revisjonen inkluderer følgende oppdateringer:

  • Examples:
    • Oppdatert eksample 4-1
    • Oppdatert eksample 4-8
  • Merknader:
    • Lagt til en merknad i avsnitt 4.1 "RTSP-operasjon"
    • Lagt til merknad 3 i avsnitt 4.2 "Flash-programmeringsoperasjoner"
    • Lagt til merknad 3 i avsnitt 4.2.1 "RTSP-programmeringsalgoritme"
    • Added a note in Section 4.5.1 “Erasing One Page of Flash”
    • Lagt til merknad 2 i avsnitt 4.5.2 "Laster skrivelåser"
  • registre:
    • Oppdaterte bitbeskrivelsen for bit 15-0 i registeret for ikke-flyktig minneadresse (se register 3-3)
  • Seksjoner:
    • Oppdatert seksjon 4.1 "RTSP-operasjon"
    • Oppdatert seksjon 4.5.5 "Wordprogrammering"
  • Andre mindre oppdateringer som språk- og formateringsoppdateringer ble inkorporert i hele dokumentet

Revisjon D (desember 2011)
Denne revisjonen inkluderer følgende oppdateringer:

  • Oppdatert seksjon 2.1.3 "Tabellskrivelåser"
  • Oppdatert seksjon 3.2 "NVMKEY Register"
  • Oppdaterte notatene i NVMCON: Flash Memory Control Register (se Register 3-1)
  • Omfattende oppdateringer ble gjort gjennom avsnitt 4.0 "Run-Time Self-Programming (RTSP)"
  • Andre mindre oppdateringer som språk- og formateringsoppdateringer ble inkorporert i hele dokumentet

Revisjon E (oktober 2018)
Denne revisjonen inkluderer følgende oppdateringer:

  • Lagt til eksample 2-2, Eksample 4-2, Eksample 4-6 og Eksample 4-9
  • Lagt til seksjon 4.5.4 "Radprogrammering ved bruk av RAM-bufferen"
  • Oppdatert seksjon 1.0 "Introduksjon", seksjon 3.3 "NVM-adresseregistre", seksjon 4.0 "Run-Time Self-Programming (RTSP)" og seksjon 4.5.3 "Enkelradsprogrammering eks.ampde"
  • Oppdatert register 3-1
  • Oppdatert eksample 4-7
  • Oppdatert Tabell 5-1

Revisjon F (november 2021)
Lagt til avsnitt 3.2.1 "Deaktivere avbrudd".
Oppdatert eksample 3-1, Eksample 4-1, Eksample 4-2, Eksample 4-5, Eksample 4-6, Eksample 4-7, Eksample 4-8, Eksample 4-9 og Eksample 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” og avsnitt 4.6.1 “Konfigurasjonsregisterskrivealgoritme”.

Legg merke til følgende detaljer om kodebeskyttelsesfunksjonen på Microchip-produkter:

  • Microchip-produkter oppfyller spesifikasjonene i deres spesielle Microchip-datablad.
  • Microchip mener at familien av produkter er sikre når de brukes på tiltenkt måte, innenfor driftsspesifikasjoner og under normale forhold.
  • Microchip verdsetter og beskytter aggressivt sine immaterielle rettigheter. Forsøk på å bryte kodebeskyttelsesfunksjonene til Microchip-produktet er strengt forbudt og kan bryte med Digital Millennium Copyright Act.
  • Verken Microchip eller noen annen halvlederprodusent kan garantere sikkerheten til sin kode. Kodebeskyttelse betyr ikke at vi garanterer at produktet er "uknuselig". Kodebeskyttelsen er i stadig utvikling. Microchip er forpliktet til å kontinuerlig forbedre kodebeskyttelsesfunksjonene til produktene våre

Denne publikasjonen og informasjonen heri kan kun brukes med Microchip-produkter, inkludert for å designe, teste og integrere Microchip-produkter med applikasjonen din. Bruk av denne informasjonen på annen måte bryter disse vilkårene. Informasjon om enhetsapplikasjoner er kun gitt for din bekvemmelighet og kan bli erstattet av oppdateringer. Det er ditt ansvar å sørge for at søknaden din oppfyller dine spesifikasjoner. Kontakt ditt lokale Microchip-salgskontor for ytterligere støtte eller få ytterligere støtte på https://www.microchip.com/en-us/support/design-help/client-supportservices.

DENNE INFORMASJONEN LEVERES AV MICROCHIP "SOM DEN ER". MICROCHIP GIR INGEN ERKLÆRINGER ELLER GARANTIER AV NOEN SLAG, VERKEN UTTRYKKELIGE ELLER UNDERFORSTÅEDE, SKRIFTLIG ELLER MUNTLIG, LOVBESTEMMET ELLER ANNEN MÅTE, KNYTTET TIL INFORMASJONEN, INKLUDERT, MEN IKKE BEGRENSET TIL NOEN UNDERFORSTÅTTE GARANTIER, UNDERFORSTÅTTE GARANTIER, ANSVARLIGHET IKULÆRT FORMÅL ELLER GARANTIER RELATET TIL DETS TILSTAND, KVALITET ELLER YTELSE. UNDER INGEN OMSTENDIGHET VIL MICROCHIP VÆRE ANSVARLIG FOR NOEN INDIREKTE, SPESIELLE, STRAFFENDE, TILFELDIGE ELLER FØLGE TAP, SKADE, KOSTNADER ELLER UTGIFTER AV NOEN SLAG SOM HELST KNYTTET TIL INFORMASJONEN ELLER BRUK AV DEN, UANSETT OM DEN ELLER ÅRSAKET. MULIGHETEN ELLER SKADENE ER FORUTSÅBARE. I FULLSTENDELSE LOVEN TILLATER, VIL MICROCHIPS SAMLEDE ANSVAR PÅ ALLE KRAV PÅ NOEN MÅTE KNYTTET TIL INFORMASJONEN ELLER BRUK AV DERES, IKKE OVERSKRE BELØPET, EVENTUELLT SOM DU HAR BETALT DIREKTE TIL MICRATIONOCHIP.

Bruk av Microchip-enheter i livsstøtte- og/eller sikkerhetsapplikasjoner er helt på kjøpers risiko, og kjøperen samtykker i å forsvare, holde Microchip skadesløs fra enhver og alle skader, krav, søksmål eller utgifter som følge av slik bruk. Ingen lisenser overføres, implisitt eller på annen måte, under noen av Microchips immaterielle rettigheter med mindre annet er oppgitt.

For informasjon om Microchips kvalitetsstyringssystemer, vennligst besøk www.microchip.com/quality.

Varemerker

Mikrobrikkenavnet og logoen, Microchip-logoen, Adaptec, AnyRate, AVR, AVR-logoen, 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 og XMEGA er registrerte varemerker for Microchip Technology Incorporated i USA og andre land. 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 og ZL er registrerte varemerker for Microchip Technology Incorporated i USA

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 Programmering, ICSP, INICnet, Intelligent Paralleling, Inter-Chip Connectivity, JitterBlocker, Knob-on-Display, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB-sertifisert 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 og ZENA er varemerker for Microchip Technology Incorporated i USA og andre land.

SQTP er et servicemerke for Microchip Technology Incorporated i USA
Adaptec-logoen, Frequency on Demand, Silicon Storage Technology, Symmcom og Trusted Time er registrerte varemerker for Microchip Technology Inc. i andre land.
GestIC er et registrert varemerke for Microchip Technology Germany II GmbH & Co. KG, et datterselskap av Microchip Technology Inc., i andre land.
Alle andre varemerker nevnt her tilhører deres respektive selskaper.
© 2009-2021, Microchip Technology Incorporated og dets datterselskaper.
Alle rettigheter forbeholdt.
ISBN: 978-1-5224-9314-3

Verdensomspennende salg og service

AMERIKA

  • Bedriftskontor
    2355 West Chandler Blvd.
    Chandler, AZ 85224-6199
    Tlf: 480-792-7200
    Faks: 480-792-7277
    Teknisk støtte: http://www.microchip.com/
    støtte Web Adresse: www.microchip.com
  • Atlanta
    Duluth, GA
    Tlf: 678-957-9614
    Faks: 678-957-1455
  • Austin, TX
    Tlf: 512-257-3370
  • Boston
    Westborough, MA
    Tlf: 774-760-0087
    Faks: 774-760-0088
  • Chicago
    Itasca, IL
    Tlf: 630-285-0071
    Faks: 630-285-0075
  • Dallas
    Addison, TX
    Tlf: 972-818-7423
    Faks: 972-818-2924
  • Detroit
    Novi, MI
    Tlf: 248-848-4000
  • Houston, TX
    Tlf: 281-894-5983
  • Indianapolis
    Noblesville, IN
    Tlf: 317-773-8323
    Faks: 317-773-5453
    Tlf: 317-536-2380
  • Los Angeles
    Mission Viejo, CA
    Tlf: 949-462-9523
    Faks: 949-462-9608
    Tlf: 951-273-7800
  • Raleigh, NC
    Tlf: 919-844-7510
  • New York, NY
    Tlf: 631-435-6000
  • San Jose, CA
    Tlf: 408-735-9110
    Tlf: 408-436-4270
  • Canada – Toronto
    Tlf: 905-695-1980
    Faks: 905-695-2078

ASIA/Stillehavet

  • Australia – Sydney
    Tlf: 61-2-9868-6733
  • Kina – Beijing
    Tlf: 86-10-8569-7000
  • Kina – Chengdu
    Tlf: 86-28-8665-5511
  • Kina – Chongqing
    Tlf: 86-23-8980-9588
  • Kina – Dongguan
    Tlf: 86-769-8702-9880
  • Kina – Guangzhou
    Tlf: 86-20-8755-8029
  • Kina – Hangzhou
    Tlf: 86-571-8792-8115
  • Kina – Hong Kong SAR
    Tlf: 852-2943-5100
  • Kina – Nanjing
    Tlf: 86-25-8473-2460
  • Kina – Qingdao
    Tlf: 86-532-8502-7355
  • Kina – Shanghai
    Tlf: 86-21-3326-8000
  • Kina – Shenyang
    Tlf: 86-24-2334-2829
  • Kina – Shenzhen
    Tlf: 86-755-8864-2200
  • Kina – Suzhou
    Tlf: 86-186-6233-1526
  • Kina – Wuhan
    Tlf: 86-27-5980-5300
  • Kina – Xian
    Tlf: 86-29-8833-7252
  • Kina – Xiamen
    Tlf: 86-592-2388138
  • Kina – Zhuhai
    Tlf: 86-756-3210040
  • India – Bangalore
    Tlf: 91-80-3090-4444
  • India – New Delhi
    Tlf: 91-11-4160-8631
  • India - Pune
    Tlf: 91-20-4121-0141
  • Japan – Osaka
    Tlf: 81-6-6152-7160
  • Japan – Tokyo
    Tlf: 81-3-6880- 3770
  • Korea – Daegu
    Tlf: 82-53-744-4301
  • Korea – Seoul
    Tlf: 82-2-554-7200
  • Malaysia – Kuala Lumpur
    Tlf: 60-3-7651-7906
  • Malaysia – Penang
    Tlf: 60-4-227-8870
  • Filippinene – Manila
    Tlf: 63-2-634-9065
  • Singapore
    Tlf: 65-6334-8870
  • Taiwan – Hsin Chu
    Tlf: 886-3-577-8366
  • Taiwan – Kaohsiung
    Tlf: 886-7-213-7830
  • Taiwan – Taipei
    Tlf: 886-2-2508-8600
  • Thailand – Bangkok
    Tlf: 66-2-694-1351
  • Vietnam – Ho Chi Minh
    Tlf: 84-28-5448-2100

EUROPA

  • Østerrike – Wels
    Tlf: 43-7242-2244-39
    Faks: 43-7242-2244-393
  • Danmark – København
    Tlf: 45-4485-5910
    Faks: 45-4485-2829
  • Finland – Espoo
    Tlf: 358-9-4520-820
  • Frankrike – Paris
    Tlf: 33-1-69-53-63-20
    Faks: 33-1-69-30-90-79
  • Tyskland – Garching
    Tlf: 49-8931-9700
  • Tyskland – Haan
    Tlf: 49-2129-3766400
  • Tyskland – Heilbronn
    Tlf: 49-7131-72400
  • Tyskland – Karlsruhe
    Tlf: 49-721-625370
  • Tyskland – München
    Tlf: 49-89-627-144-0
    Faks: 49-89-627-144-44
  • Tyskland – Rosenheim
    Tlf: 49-8031-354-560
  • Italia – Milano
    Tlf: 39-0331-742611
    Faks: 39-0331-466781
  • Italia – Padova
    Tlf: 39-049-7625286
  • Nederland – Drunen
    Tlf: 31-416-690399
    Faks: 31-416-690340
  • Norge – Trondheim
    Tlf: 47-7288-4388
  • Polen – Warszawa
    Tlf: 48-22-3325737
  • Romania – Bucuresti
    Tlf: 40-21-407-87-50
  • Spania - Madrid
    Tlf: 34-91-708-08-90
    Faks: 34-91-708-08-91
  • Sverige – Gøteberg
    Tlf: 46-31-704-60-40
  • Sverige – Stockholm
    Tlf: 46-8-5090-4654
  • Storbritannia – Wokingham
    Tlf: 44-118-921-5800
    Faks: 44-118-921-5820

Note:

Denne delen av familiereferansehåndboken er ment å tjene som et supplement til enhetens datablad. Avhengig av enhetsvarianten kan det hende at denne bruksanvisningen ikke gjelder for alle dsPIC33/PIC24-enheter. Se merknaden i begynnelsen av kapittelet "Flash Program Memory" i gjeldende enhetsdatablad for å sjekke om dette dokumentet støtter enheten du bruker.
Enhetsdatablad og familiereferansehåndbokseksjoner er tilgjengelige for nedlasting fra Microchip Worldwide Webnettsted på: http://www.microchip.com.

Dokumenter / Ressurser

PDF thumbnailPIC24 Flash-programmering
User Guide · PIC24 Flash Programming, PIC24, Flash Programming, Programming
PDF thumbnailPIC24 Flash-programmering
User Guide · PIC24 Flash Programming, PIC24, Flash Programming

Referanser

Still et spørsmål

Use this section to ask about setup, compatibility, troubleshooting, or anything missing from this manual.

Still et spørsmål

Ask a question about setup, compatibility, troubleshooting, or anything missing from this manual.