MICROCHIP PIC24 Flash Programmering Användarhandbok

MICROCHIP-PIC24-Flash-Programming-FEA

MIKROCHIP-LOGO

MICROCHIP PIC24 Flash-programmering

MICROCHIP-PIC24-Flash-Programming-PRO

Produktinformation

Flash programmering
Enhetsfamiljerna dsPIC33/PIC24 har ett internt programmerbart Flash-programminne för exekvering av användarkod. Det finns upp till tre metoder för att programmera detta minne:

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

Tabellinstruktioner tillhandahåller metoden för att överföra data mellan Flash-programmets minnesutrymme och dataminnesutrymmet för dsPIC33/PIC24-enheter. TBLRDL-instruktionen används för att läsa från bitar[15:0] av programminnesutrymme. TBLWTL-instruktionen används för att skriva till bitar[15:0] av Flash-programminnesutrymme. TBLRDL och TBLWTL kan komma åt Flash-programminnet i Word-läge eller Byte-läge.

Förutom Flash-programminnesadressen specificerar tabellinstruktionen också ett W-register (eller en W Register-pekare till en minnesplats), det vill säga källan till Flash-programminnesdata som ska skrivas, eller destinationen för ett Flash-program minnesläsning.

Det här avsnittet beskriver tekniken för programmering av Flash-programminne. Enhetsfamiljerna dsPIC33/PIC24 har ett internt programmerbart Flash-programminne för exekvering av användarkod. Det finns upp till tre metoder för att programmera detta minne:

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

RTSP utförs av applikationsmjukvaran under exekvering, medan ICSP och EICSP utförs från en extern programmerare med hjälp av en seriell dataanslutning till enheten. ICSP och EICSP tillåter mycket snabbare programmeringstid än RTSP. RTSP-tekniker beskrivs i avsnitt 4.0 "Run-Time Self-Programming (RTSP)". ICSP- och EICSP-protokollen definieras i programmeringsspecifikationsdokumenten för respektive enheter, som kan laddas ner från mikrochippet webwebbplats (http://www.microchip.com). Vid programmering på C-språket finns flera inbyggda funktioner tillgängliga som underlättar Flash-programmering. Se "MPLAB® XC16 C Compiler User's Guide" (DS50002071) för detaljer om inbyggda funktioner.

Produktanvändningsinstruktioner

För att programmera Flash-programminnet, följ dessa steg:

  1. Se enhetens datablad för att kontrollera om avsnittet med familjens referensmanual stöder den enhet du använder.
  2. Ladda ner enhetens datablad och familjereferenshandboken från Microchip Worldwide Webwebbplats på: http://www.microchip.com.
  3. Välj en av de tre metoderna för att programmera minnet (Table Instruction Operation, In-Circuit Serial Programmering (ICSP), In-Application Programming (IAP)).
  4. Om du använder Table Instruction Operation, använd TBLRDL-instruktionen för att läsa från bitar[15:0] av programminnesutrymme och TBLWTL-instruktionen för att skriva till bitar[15:0] av Flash-programminnesutrymme.
  5. Se till att ange ett W-register (eller en W Register-pekare till en minnesplats) som källan till Flash-programminnesdata som ska skrivas, eller destinationen för ett Flash-programminne som ska läsas.

För ytterligare information och detaljer om programmering av Flash-programminnet, se dsPIC33/PIC24 Family Reference Manual.

TABELL INSTRUKTION ANVÄNDNING

Tabellinstruktionerna tillhandahåller metoden för överföring av data mellan Flash-programmets minnesutrymme och dataminnesutrymmet för dsPIC33/PIC24-enheter. Det här avsnittet ger en sammanfattning av tabellinstruktionerna som används under programmering av Flash-programminnet. Det finns fyra grundläggande tabellinstruktioner:

  • TBLRDL: Tabell läs låg
  • TBLRDH: Tabell Läs hög
  • TBLWTL: Tabell Skriv låg
  • TBLWTH: Tabell Skriv hög

TBLRDL-instruktionen används för att läsa från bitar[15:0] av programminnesutrymme. TBLWTL-instruktionen används för att skriva till bitar[15:0] av Flash-programminnesutrymme. TBLRDL och TBLWTL kan komma åt Flash-programminnet i Word-läge eller Byte-läge.

Instruktionerna TBLRDH och TBLWTH används för att läsa eller skriva till bitar [23:16] av programminnesutrymme. TBLRDH och TBLWTH kan komma åt Flash-programminnet i Word- eller Byte-läge. Eftersom Flash-programminnet bara är 24 bitar brett, kan TBLRDH- och TBLWTH-instruktionerna adressera en övre byte av Flash-programminne som inte finns. Denna byte kallas "fantombyte". All läsning av fantombyten kommer att returnera 0x00. En skrivning till fantombyten har ingen effekt. 24-bitars Flash-programminnet kan betraktas som två sida vid sida 16-bitars utrymmen, där varje utrymme delar samma adressområde. Därför kommer TBLRDL- och TBLWTL-instruktionerna åt det "låga" programminnesutrymmet (PM[15:0]). TBLRDH- och TBLWTH-instruktionerna får åtkomst till det "höga" programminnesutrymmet (PM[31:16]). Alla läsningar eller skrivningar till PM[31:24] kommer att komma åt fantombyten (oimplementerad). När någon av tabellinstruktionerna används i byteläge, kommer den minst signifikanta biten (LSb) i tabelladressen att användas som bytevalsbit. LSb bestämmer vilken byte i det höga eller låga programminnesutrymmet som nås.

Figur 2-1 visar hur Flash-programminnet adresseras med hjälp av tabellinstruktionerna. En 24-bitars programminnesadress bildas med hjälp av bitar[7:0] av TBLPAG-registret och den effektiva adressen (EA) från ett W-register som specificeras i tabellinstruktionen. 24-bitars programräknare (PC) illustreras i figur 2-1 som referens. De övre 23 bitarna av EA används för att välja minnesplatsen för Flash-program.

För tabellinstruktionerna för bytemod används LSb i W-registret EA för att välja vilken byte av 16-bitars Flash-programminnesordet som adresseras; '1' väljer bitar[15:8] och '0' väljer bitar[7:0]. LSb för W-registret EA ignoreras för en tabellinstruktion i Word-läge. Förutom Flash-programminnesadressen specificerar tabellinstruktionen också ett W-register (eller en W Register-pekare till en minnesplats), det vill säga källan till Flash-programminnesdata som ska skrivas, eller destinationen för ett Flash-program minnesläsning. För en tabellskrivningsoperation i byteläge ignoreras bitar[15:8] i källarbetsregistret.MICROCHIP-PIC24-Flash-Programming- (1)

Använda tabell Läs instruktioner
Tabellläsning kräver två steg:

  1. Adresspekaren ställs in med hjälp av TBLPAG-registret och ett av W-registren.
  2. Flash-programminnets innehåll på adressplatsen kan läsas.

 

  1. LÄS ORD-LÄGE
    Koden som visas i example 2-1 och Exampavsnitt 2-2 visar hur man läser ett ord i Flash-programminnet med hjälp av tabellinstruktionerna i Word-läge.MICROCHIP-PIC24-Flash-Programming- (2) MICROCHIP-PIC24-Flash-Programming- (3)
  2. LÄS BYTE-LÄGE
    Koden som visas i exampavsnitt 2-3 visar efterökningsoperatorn vid läsningen av den låga byten, vilket gör att adressen i arbetsregistret ökar med ett. Detta sätter EA[0] till en '1' för åtkomst till mittbyten i den tredje skrivinstruktionen. Det sista efterökningen sätter W0 tillbaka till en jämn adress, som pekar på nästa Flash-programminnesplats.MICROCHIP-PIC24-Flash-Programming- (4)
  3. BORD SKRIV LÅSAR
    Tabellskrivinstruktioner skriver inte direkt till det icke-flyktiga programminnet. Istället laddar tabellens skrivinstruktioner skrivspärrar som lagrar skrivdata. NVM-adressregistren måste laddas med den första adressen där låst data ska skrivas. När alla skrivspärrarna har laddats, startas den faktiska minnesprogrammeringsoperationen genom att exekvera en speciell sekvens av instruktioner. Under programmering överför hårdvaran data i skrivspärrarna till Flash-minnet. Skrivspärrarna börjar alltid på adressen 0xFA0000 och sträcker sig genom 0xFA0002 för ordprogrammering, eller genom 0xFA00FE för enheter som har radprogrammering.

Notera: Antalet skrivspärrar varierar beroende på enhet. Se kapitlet "Flash Program Memory" i det specifika enhetens datablad för antalet tillgängliga skrivspärrar.

KONTROLLREGISTER

Flera specialfunktionsregister (SFR) används för att programmera flash-programminnets radering och skrivoperationer: NVMCON, NVMKEY och NVM-adressregistren, NVMADR och NVMADRU.

NVMCON Register
NVMCON-registret är det primära kontrollregistret för Flash och programmering/radering. Detta register väljer om en raderings- eller programoperation ska utföras och kan starta programmet eller raderingscykeln. NVMCON-registret visas i register 3-1. Den nedre byten av NVMCON konfigurerar typen av NVM-operation som kommer att utföras.

NVMKEY Register
NVMKEY-registret (se Register 3-4) är ett skrivskyddat register som används för att förhindra oavsiktliga skrivningar av NVMCON som kan skada Flash-minnet. När den väl är upplåst tillåts skrivning till NVMCON för en instruktionscykel där WR-biten kan ställas in för att anropa en raderings- eller programmeringsrutin. Med tanke på tidskraven krävs inaktivering av avbrott.
Utför följande steg för att starta en raderings- eller programmeringssekvens:

  1. Inaktivera avbrott.
  2. Skriv 0x55 till NVMKEY.
  3. Skriv 0xAA till NVMKEY.
  4. Starta programmeringsskrivcykeln genom att ställa in WR-biten (NVMCON[15]).
  5. Utför två NOP-instruktioner.
  6. Återställ avbrott.

MICROCHIP-PIC24-Flash-Programming- (5)

INAKTIVERA AVBROTT
Inaktivering av avbrott krävs för alla Flash-operationer för att säkerställa ett framgångsrikt resultat. Om ett avbrott inträffar under NVMKEY-upplåsningssekvensen kan det blockera skrivningen till WR-biten. NVMKEY-upplåsningssekvensen måste exekveras utan avbrott, som diskuteras i avsnitt 3.2 "NVMKEY Register".

Avbrott kan inaktiveras på en av två metoder, genom att inaktivera Global Interrupt Enable (GIE-bit) eller genom att använda DISI-instruktionen. DISI-instruktionen rekommenderas inte eftersom den endast inaktiverar avbrott för prioritet 6 eller lägre; Därför bör metoden Global Interrupt Enable användas.

CPU-skrivningar till GIE tar två instruktionscykler innan det påverkar kodflödet. Två NOP-instruktioner behövs efteråt, eller kan ersättas med andra användbara arbetsinstruktioner, som att ladda NVMKEY; detta är tillämpligt på både fastställda och tydliga operationer. Försiktighet bör iakttas när du återaktiverar avbrott så att den NVM-riktade rutinen inte tillåter avbrott när en tidigare anropad funktion har inaktiverat dem av andra skäl. För att ta itu med detta i Assembly kan en stack push och pop användas för att behålla GIE-bitens tillstånd. I C kan en variabel i RAM användas för att lagra INTCON2 innan GIE rensas. Använd följande sekvens för att inaktivera avbrott:

  1. Tryck INTCON2 på stapeln.
  2. Rensa GIE-biten.
  3. Två NOP:er eller skriver till NVMKEY.
  4. Starta programmeringscykeln genom att ställa in WR-biten (NVMCON[15]).
  5. Återställ GIE-tillstånd med POP av INTCON2.MICROCHIP-PIC24-Flash-Programming- (6)

NVM-adressregister
De två NVM-adressregistren, NVMADRU och NVMADR, när de är sammanlänkade, bildar 24-bitars EA för den valda raden eller ordet för programmeringsoperationer. NVMADRU-registret används för att hålla de övre åtta bitarna av EA, och NVMADR-registret används för att hålla de nedre 16 bitarna av EA. Vissa enheter kan referera till samma register som NVMADRL och NVMADRH. NVM-adressregistren ska alltid peka på en dubbel instruktionsordgräns när man utför en dubbelinstruktionsordprogrammeringsoperation, en radgräns när man utför en radprogrammeringsoperation eller en sidgräns när man utför en sidraderingsoperation.

Register 3-1: NVMCON: Flash Memory Control RegisterMICROCHIP-PIC24-Flash-Programming- (7) MICROCHIP-PIC24-Flash-Programming- (8)

Notera

  1. Denna bit kan endast återställas (dvs. nollställas) vid en Power-on Reset (POR).
  2. När du lämnar viloläget finns det en startfördröjning (TVREG) innan Flash-programminnet tas i bruk. Se kapitlet "Elektriska egenskaper" i det specifika enhetens datablad för mer information.
  3. Alla andra kombinationer av NVMOP[3:0] är oimplementerade.
  4. Denna funktion är inte tillgänglig på alla enheter. Se kapitlet "Flash Program Memory" i det specifika enhetens datablad för tillgängliga funktioner.
  5. Inträde i ett energisparläge efter exekvering av en PWRSAV-instruktion är beroende av slutförandet av alla pågående NVM-operationer.
  6. Denna bit är endast tillgänglig på enheter som stöder RAM-buffrad radprogrammering. Se det enhetsspecifika databladet för tillgänglighet.

MICROCHIP-PIC24-Flash-Programming- (9)

Notera

  1. Denna bit kan endast återställas (dvs. nollställas) vid en Power-on Reset (POR).
  2. När du lämnar viloläget finns det en startfördröjning (TVREG) innan Flash-programminnet tas i bruk. Se kapitlet "Elektriska egenskaper" i det specifika enhetens datablad för mer information.
  3. Alla andra kombinationer av NVMOP[3:0] är oimplementerade.
  4. Denna funktion är inte tillgänglig på alla enheter. Se kapitlet "Flash Program Memory" i det specifika enhetens datablad för tillgängliga funktioner.
  5. Inträde i ett energisparläge efter exekvering av en PWRSAV-instruktion är beroende av slutförandet av alla pågående NVM-operationer.
  6. Denna bit är endast tillgänglig på enheter som stöder RAM-buffrad radprogrammering. Se det enhetsspecifika databladet för tillgänglighet.

Register 3-2: NVMADRU: Icke-flyktigt minne övre adressregister

MICROCHIP-PIC24-Flash-Programming- (10)

Register 3-3: NVMADR: Icke-flyktigt minnesadressregister

MICROCHIP-PIC24-Flash-Programming- (11)

Register 3-4: NVMKEY: Beständigt minnesnyckelregister

MICROCHIP-PIC24-Flash-Programming- (12)

SJÄLVPROGRAMMERING FÖR KÖRNING (RTSP)

RTSP tillåter användarapplikationen att ändra innehållet i Flash-programminnet. RTSP åstadkommes med användning av instruktionerna TBLRD (tabellläsning) och TBLWT (tabellskrivning), TBLPAG-registret och NVM-kontrollregistren. Med RTSP kan användarapplikationen radera en enda sida i Flash-minnet och programmera antingen två instruktionsord eller upp till 128 instruktionsord på vissa enheter.

RTSP-drift
dsPIC33/PIC24 Flash-programminnesmatrisen är organiserad i raderingssidor som kan innehålla upp till 1024 instruktioner. Alternativet med dubbelordsprogrammering är tillgängligt i alla enheter i dsPIC33/PIC24-familjerna. Dessutom har vissa enheter radprogrammeringsfunktion, vilket möjliggör programmering av upp till 128 instruktionsord åt gången. Programmerings- och raderingsoperationer sker alltid på jämna dubbelprogrammeringsord, rad- eller sidgränser. Se kapitlet "Flash-programminne" i det specifika enhetens datablad för tillgänglighet och storlekar på en programmeringsrad, samt sidstorleken för er.asing. Flash-programminnet implementerar buffertar, kallade skrivlås, som kan innehålla upp till 128 instruktioner med programmeringsdata beroende på enhet. Innan den faktiska programmeringsoperationen måste skrivdata laddas in i skrivlåsen. Grundsekvensen för RTSP är att ställa in tabellpekaren, TBLPAG-registret och sedan utföra en serie TBLWT-instruktioner för att ladda skrivlåsen. Programmering utförs genom att ställa in kontrollbitarna i NVMCON-registret. Antalet TBLWTL- och TBLWTH-instruktioner som behövs för att ladda skrivlåsen är lika med antalet programord som ska skrivas.

Notera: Det rekommenderas att TBLPAG-registret sparas före modifiering och återställs efter användning.

FÖRSIKTIGHET
På vissa enheter lagras konfigurationsbitarna på den sista sidan i programmets Flash-användarminne i en sektion som kallas "Flash Configuration Bytes". Med dessa enheter raderas Flash Configuration-byte om du utför en sidraderingsoperation på sista sidan i programminnet, vilket möjliggör kodskydd. Därför bör användare inte utföra sidraderingsåtgärder på den sista sidan i programminnet. Detta är inget problem när konfigurationsbitarna lagras i konfigurationsminnesutrymmet i en sektion som kallas "Device Configuration Registers". Se Program Memory Map i kapitlet "Memory Organization" i det specifika enhetens datablad för att avgöra var konfigurationsbitarna finns.

Flash-programmeringsoperationer
En programmerings- eller raderingsoperation är nödvändig för programmering eller radering.asinDet interna Flash-programminnet är i RTSP-läge. Programmerings- eller raderingsoperationen tidsbestäms automatiskt av enheten (se enhetens specifika datablad för tidsinformation). Genom att ställa in WR-biten (NVMCON[15]) startar operationen. WR-biten raderas automatiskt när operationen är klar. CPU:n stannar tills programmeringsoperationen är klar. CPU:n kommer inte att utföra några instruktioner eller svara på avbrott under denna tid. Om några avbrott inträffar under programmeringscykeln kommer de att förbli vilande tills cykeln är klar. Vissa dsPIC33/PIC24-enheter kan ha extra Flash-programminne (se kapitlet "Minnesorganisation" i enhetens specifika datablad för mer information), vilket möjliggör instruktioner utan CPU-stopp medan användar-Flash-programminnet raderas och/eller programmeras. Omvänt kan extra Flash-programminne programmeras utan CPU-stopp, så länge kod exekveras från användar-Flash-programminnet. NVM-avbrottet kan användas för att indikera att programmeringsoperationen är klar.

Notera

  1. Om en POR- eller BOR-händelse inträffar medan en RTSP-radering eller programmeringsoperation pågår, avbryts RTSP-operationen omedelbart. Användaren bör utföra RTSP-operationen igen efter att enheten kommer ur Reset.
  2. Om en EXTR-, SWR-, WDTO-, TRAPR-, CM- eller IOPUWR-återställningshändelse inträffar medan en RTSP-radering eller programmeringsoperation pågår, kommer enheten att återställas först efter att RTSP-operationen är klar.

RTSP-PROGRAMMERINGSALGORITM
Det här avsnittet beskriver RTSP-programmering, som består av tre huvudprocesser.

Skapa en RAM-bild av datasidan som ska ändras
Utför dessa två steg för att skapa en RAM-bild av datasidan som ska ändras:

  1. Läs sidan av Flash-programminnet och lagra den i data-RAM som en "databild". RAM-bilden måste läsas med början från en sidadressgräns.
  2. Ändra RAM-databilden efter behov.

Erasing Flash-programminne
När du har slutfört steg 1 och 2 ovan, utför följande fyra steg för att radera Flash-programminnessidan:

  1. Ställ in NVMOP[3:0]-bitarna (NVMCON[3:0]) för att radera sidan i Flash-programminnet som lästs från steg 1.
  2. Skriv startadressen för sidan som ska raderas i NVMADRU- och NMVADR-registren.
  3. Med avbrott inaktiverade:
    • a) Skriv nyckelsekvensen till NVMKEY-registret för att möjliggöra inställning av WR-biten (NVMCON[15]).
    • b) Ställ in WR-biten; detta startar raderingscykeln.
    • c) Utför två NOP-instruktioner.
  4. WR-biten rensas när raderingscykeln är klar.

Programmera Flash-minnessidan
Nästa del av processen är att programmera Flash-minnessidan. Flashminnessidan programmeras med hjälp av data från bilden som skapades i steg 1. Data överförs till skrivspärrarna i steg om antingen dubbla instruktionsord eller rader. Alla enheter har dubbla instruktioner för ordprogrammering. (Se kapitlet "Flash Program Memory" i det specifika enhetens datablad för att avgöra om och vilken typ av radprogrammering som är tillgänglig.) Efter att skrivspärrarna har laddats initieras programmeringsoperationen, som överför data från skrivspärrar i Flash-minnet. Detta upprepas tills hela sidan har programmerats. Upprepa följande tre steg, börja med det första instruktionsordet på Flash-sidan och inkrementera i steg med antingen dubbla programord eller instruktionsrader, tills hela sidan har programmerats:

  1. Ladda skrivspärrarna:
    • a) Ställ in TBLPAG-registret så att det pekar på platsen för skrivspärrarna.
    • b) Ladda önskat antal spärrar med hjälp av par av TBLWTL- och TBLWTH-instruktioner:
    • För dubbelordsprogrammering krävs två par TBLWTL- och TBLWTH-instruktioner
    • För radprogrammering krävs ett par TBLWTL- och TBLWTH-instruktioner för varje instruktionsordradelement
  2. Starta programmeringsoperationen:
    • a) Ställ in NVMOP[3:0]-bitarna (NVMCON[3:0]) för att programmera antingen dubbla instruktionsord eller en instruktionsrad, beroende på vad som är lämpligt.
      b) Skriv den första adressen för antingen det dubbla instruktionsordet eller instruktionsraden som ska programmeras in i NVMADRU- och NVMADR-registren.
      c) Med avbrott inaktiverade:
      • Skriv tangentsekvensen till NVMKEY-registret för att möjliggöra inställning av WR-biten (NVMCON[15])
      • Ställ in WR-biten; detta startar raderingscykeln
      • Utför två NOP-instruktioner
  3. WR-biten rensas när programmeringscykeln är klar.

Upprepa hela processen efter behov för att programmera önskad mängd Flash-programminne.

Notera

  1. Användaren bör komma ihåg att minsta mängd Flash-programminne som kan raderas med RTSP är en enkel raderad sida. Därför är det viktigt att en bild av dessa platser lagras i allmänt RAM-minne innan en raderingscykel initieras.
  2. En rad eller ett ord i Flash-programminnet bör inte programmeras mer än två gånger innan det raderas.
  3. På enheter med konfigurationsbytes lagrade på den sista sidan i Flash, rensas konfigurationsbyte om du utför en sidraderingsåtgärd på sista sidan i programminnet, vilket möjliggör kodskydd. På dessa enheter bör den sista sidan i Flash-minnet inte raderas.

ERASING EN SIDA MED FLASH
Kodsekvensen som visas i exampavsnitt 4-1 kan användas för att radera en sida i Flash-programminnet. NVMCON-registret är konfigurerat att radera en sida i programminnet. NVMADR- och NMVADRU-registren laddas med startadressen för sidan som ska raderas. Programminnet måste raderas vid en "jämn" adressgräns. Se kapitlet "Flash Program Memory" i det specifika enhetens datablad för att bestämma storleken på Flash-sidan.
Raderingsoperationen initieras genom att skriva en speciell upplåsning, eller nyckelsekvens, till NVMKEY-registret innan WR-biten ställs in (NVMCON[15]). Upplåsningssekvensen måste utföras i exakt ordning, som visas i example 4-1, utan avbrott; därför måste avbrott inaktiveras.
Två NOP-instruktioner ska infogas i koden efter raderingscykeln. På vissa enheter lagras konfigurationsbitarna på sista sidan i programmet Flash. Med dessa enheter raderas Flash-konfigurationsbyten om du utför en sidraderingsoperation på sista sidan i programminnet, vilket möjliggör kodskydd som ett resultat. Användare bör inte utföra sidraderingsåtgärder på den sista sidan i programminnet.MICROCHIP-PIC24-Flash-Programming- (13)MICROCHIP-PIC24-Flash-Programming- (14)

LADDAR SKRIV LÅSAR
Skrivspärrarna används som en lagringsmekanism mellan användarapplikationens tabellskrivningar och den faktiska programmeringssekvensen. Under programmeringsoperationen kommer enheten att överföra data från skrivspärrarna till Flash-minnet. För enheter som stöder radprogrammering, exampavsnitt 4-3 visar sekvensen av instruktioner som kan användas för att ladda 128 skrivspärrar (128 instruktionsord). 128 TBLWTL och 128 TBLWTH instruktioner behövs för att ladda skrivspärrarna för programmering av en rad med Flash-programminne. Se kapitlet "Flash Program Memory" i det specifika enhetens datablad för att fastställa antalet programmeringsspärrar som finns tillgängliga på din enhet. För enheter som inte stöder radprogrammering, exampavsnitt 4-4 visar sekvensen av instruktioner som kan användas för att ladda två skrivspärrar (två instruktionsord). Två TBLWTL- och två TBLWTH-instruktioner behövs för att ladda skrivspärrarna.

Notera

  1. Koden för Load_Write_Latch_Row visas i example 4-3 och koden för Load_Write_Latch_Word visas i example 4-4. Koden i båda dessa examples hänvisas till i efterföljande examples.
  2. Se det specifika enhetens datablad för antalet spärrar.MICROCHIP-PIC24-Flash-Programming- (15)

ENRAD PROGRAMMERING EXAMPLE
NVMCON-registret är konfigurerat att programmera en rad med Flash-programminne. Programoperationen initieras genom att skriva en speciell upplåsning, eller nyckelsekvens, till NVMKEY-registret innan WR-biten ställs in (NVMCON[15]). Upplåsningssekvensen måste utföras utan avbrott och i exakt ordning, som visas i example 4-5. Därför måste avbrott inaktiveras innan du skriver sekvensen.

Notera: Alla enheter har inte radprogrammeringsmöjlighet. Se kapitlet "Flash Program Memory" i det specifika enhetens datablad för att avgöra om detta alternativ är tillgängligt.

Två NOP-instruktioner ska infogas i koden efter programmeringscykeln.MICROCHIP-PIC24-Flash-Programming- (16) MICROCHIP-PIC24-Flash-Programming- (17)

RADPROGRAMMERING MED ANVÄNDNING AV RAM-BUFFEREN
Vissa dsPIC33-enheter tillåter radprogrammering att utföras direkt från ett buffertutrymme i data-RAM, snarare än att gå igenom hållspärrarna för att överföra data med TBLWT-instruktioner. Platsen för RAM-bufferten bestäms av NVMSRCADR-registret/-registren, som laddas med data-RAM-adressen som innehåller det första ord av programdata som ska skrivas.

Innan programoperationen utförs måste buffertutrymmet i RAM-minnet laddas med den datarad som ska programmeras. RAM-minnet kan laddas i antingen ett komprimerat (packat) eller okomprimerat format. Komprimerad lagring använder ett dataord för att lagra de mest signifikanta byten (MSB) av två intilliggande programdataord. Det okomprimerade formatet använder två dataord för varje programdataord, där den övre byten av vartannat ord är 00h. Komprimerat format använder cirka 3/4 av utrymmet i data-RAM jämfört med det okomprimerade formatet. Okomprimerat format, å andra sidan, efterliknar strukturen hos 24-bitars programdataord, komplett med den övre fantombyten. Dataformatet väljs av RPDF-biten (NVMCON[9]). Dessa två format visas i figur 4-1.

När RAM-bufferten har laddats laddas Flash-adresspekarna, NVMADR och NVMADRU, med 24-bitars startadressen för Flash-raden som ska skrivas. Liksom vid programmering av skrivspärrarna, initieras processen genom att skriva NVM-upplåsningssekvensen, följt av inställning av WR-biten. När den väl har initierats, laddar enheten automatiskt de högra spärrarna och ökar NVM-adressregistren tills alla byte har programmerats. Example 4-7 visar ett exampdelen av processen. Om NVMSRCADR är satt till ett värde så att ett dataunderkörningsfelstillstånd inträffar, kommer URERR-biten (NVMCON[8]) att ställas in för att indikera tillståndet.
Enheter som implementerar RAM-buffertradprogrammering implementerar också en eller två skrivspärrar. Dessa laddas med hjälp av TBLWT-instruktionerna och används för att utföra ordprogrammeringsoperationer.MICROCHIP-PIC24-Flash-Programming- (18)

ORDPROGRAMMERING
NVMCON-registret är konfigurerat att programmera två instruktionsord i Flash-programminnet. Programoperationen initieras genom att skriva en speciell upplåsning, eller nyckelsekvens, till NVMKEY-registret innan WR-biten ställs in (NVMCON[15]). Upplåsningssekvensen måste utföras i exakt ordning, som visas i example 4-8, utan avbrott. Därför bör avbrott inaktiveras innan du skriver sekvensen.
Två NOP-instruktioner ska infogas i koden efter programmeringscykeln.MICROCHIP-PIC24-Flash-Programming- (19) MICROCHIP-PIC24-Flash-Programming- (20)

Skriva till enhetskonfigurationsregister
På vissa enheter lagras konfigurationsbitarna i konfigurationsminnet i en sektion som kallas "Device Configuration Registers". På andra enheter lagras konfigurationsbitarna på den sista sidan i programmets Flash-användarminne i en sektion som kallas "Flash Configuration Bytes". Med dessa enheter raderas Flash Configuration-byte om du utför en sidraderingsoperation på sista sidan i programminnet, vilket möjliggör kodskydd. Därför bör användare inte utföra sidraderingsåtgärder på den sista sidan i programminnet. Se Program Memory Map i kapitlet "Memory Organization" i det specifika enhetens datablad för att avgöra var konfigurationsbitarna finns.

När konfigurationsbitarna lagras i konfigurationsminnesutrymmet kan RTSP användas för att skriva till enhetens konfigurationsregister, och RTSP tillåter att varje konfigurationsregister kan skrivas om individuellt utan att först utföra en raderingscykel. Försiktighet måste iakttas när du skriver konfigurationsregistren eftersom de styr kritiska enhetsdriftparametrar, såsom systemklockkällan, PLL och WDT-aktivering.

Proceduren för att programmera ett enhetskonfigurationsregister liknar proceduren för programmering av Flash-programminne, förutom att endast TBLWTL-instruktioner krävs. Detta beror på att de övre åtta bitarna i varje enhetskonfigurationsregister är oanvända. Dessutom måste bit 23 i tabellskrivadressen ställas in för att komma åt konfigurationsregistren. Se "Device Configuration" (DS70000618) i "dsPIC33/PIC24 Family Reference Manual" och kapitlet "Special Features" i det specifika enhetsdatabladet för en fullständig beskrivning av enhetens konfigurationsregister.

Notera

  1. Att skriva till enhetskonfigurationsregister är inte tillgängligt på alla enheter. Se kapitlet "Specialegenskaper" i det specifika enhetsdatabladet för att bestämma de lägen som är tillgängliga enligt definitionen av enhetsspecifika NVMOP[3:0]-bitar.
  2. När du utför RTSP på enhetens konfigurationsregister måste enheten fungera med den interna FRC-oscillatorn (utan PLL). Om enheten arbetar från en annan klockkälla måste en klockomkoppling till den interna FRC-oscillatorn (NOSC[2:0] = 000) utföras innan RTSP-operation utförs i enhetens konfigurationsregister.
  3. Om de primära oscillatorlägesvalbitarna (POSCMD[1:0]) i Oscillatorkonfigurationsregistret (FOSC) omprogrammeras till ett nytt värde, måste användaren se till att klockomkopplingslägesbitarna (FCKSM[1:0]) i FOSC-registret har ett initialt programmerat värde på '0', innan denna RTSP-operation utförs.

KONFIGURATION REGISTRERA SKRIV ALGORITM
Det allmänna förfarandet är som följer:

  1. Skriv det nya konfigurationsvärdet till Table Write-låset med en TBLWTL-instruktion.
  2. Konfigurera NVMCON för en konfigurationsregisterskrivning (NVMCON = 0x4000).
  3. Skriv adressen till konfigurationsregistret som ska programmeras in i NVMADRU- och NVMADR-registren.
  4. Inaktivera avbrott, om aktiverat.
  5. Skriv nyckelsekvensen till NVMKEY-registret.
  6. Starta skrivsekvensen genom att ställa in WR-biten (NVMCON[15]).
  7. Återaktivera avbrott om det behövs.

Exampavsnitt 4-10 visar kodsekvensen som kan användas för att modifiera ett enhetskonfigurationsregister.MICROCHIP-PIC24-Flash-Programming- (21)

REGISTRERA KARTA

En sammanfattning av de register som är associerade med Flash-programmering finns i Tabell 5-1.MICROCHIP-PIC24-Flash-Programming- (22)

RELATERADE ANVÄNDNINGSANMÄRKNINGAR

Det här avsnittet listar programanteckningar som är relaterade till detta avsnitt i handboken. Dessa applikationsanteckningar kanske inte är skrivna specifikt för produktfamiljerna dsPIC33/PIC24, men koncepten är relevanta och kan användas med modifieringar och eventuella begränsningar. De aktuella applikationsanmärkningarna relaterade till Flash-programmering är:

Notera: Vänligen besök mikrochippet webwebbplats (www.microchip.com) för ytterligare applikationsanmärkningar och kod examples för enhetsfamiljerna dsPIC33/PIC24.

REVISIONSHISTORIA

Revision A (augusti 2009)
Detta är den första släppta versionen av detta dokument.

Revision B (februari 2011)
Denna revision innehåller följande uppdateringar:

  • Examples:
    • Tog bort example 5-3 och Example 5-4
    • Uppdaterat example 4-1, example 4-5 och Example 4-10
    • Alla referenser till #WR uppdaterades till #15 i example 4-1, example 4-5 och Example 4-8
    • Uppdaterade följande i Example 4-3:
  • Uppdaterade titeln "Ordprogrammering" till "Ladda skrivspärrar för radprogrammering"
  • Alla referenser till #ram_image uppdaterades till #0xFA
    • Lade till example 4-4
    • Uppdaterade titeln i Example 4-8
  • Anmärkningar:
    • Lade till två anteckningar i avsnitt 4.2 "Flash-programmeringsoperationer"
    • Uppdaterade anteckningen i avsnitt 4.5.2 "Laddar skrivspärrar"
    • Lade till tre anteckningar i avsnitt 4.6 "Skriva till enhetskonfigurationsregister"
    • Tillagd not 1 i tabell 5-1
  • register:
    • Uppdaterade bitvärdena för NVMOP[3:0]: NVM Operation Välj bitar i registret Flash Memory Control (NVMCON) (se Register 3-1)
  • Avsnitt:
    • Borttagna avsnitt 5.2.1.4 "Skrivordsläge" och 5.2.1.5 "Skrivbyteläge"
    • Uppdaterat avsnitt 3.0 "Kontrollregister"
    • Uppdaterade följande i avsnitt 4.5.5 "Ordprogrammering":
  • Ändrade avsnittstiteln "Programmera ett ord i flashminne" till "Word Programmering"
  • Uppdaterade första stycket
  • Ändrade termerna "ett ord" till "ett par ord" i andra stycket
    • Lade till ett nytt steg 1 till avsnitt 4.6.1 "Konfigurationsregisterskrivalgoritm"
  • Tabeller:
    • Uppdaterad tabell 5-1
  • Några referenser till programminne uppdaterades till Flash-programminne
  • Andra mindre uppdateringar såsom språk- och formateringsuppdateringar införlivades i hela dokumentet

Revision C (juni 2011)
Denna revision innehåller följande uppdateringar:

  • Examples:
    • Uppdaterat example 4-1
    • Uppdaterat example 4-8
  • Anmärkningar:
    • Lade till en anteckning i avsnitt 4.1 "RTSP Operation"
    • Tillagd anmärkning 3 i avsnitt 4.2 "Flash-programmeringsoperationer"
    • Tillagd not 3 i avsnitt 4.2.1 "RTSP-programmeringsalgoritm"
    • Lade till en anmärkning i avsnitt 4.5.1 “Erasing En sida med flashminne
    • Lade till anmärkning 2 i avsnitt 4.5.2 "Laddar skrivspärrar"
  • register:
    • Uppdaterade bitbeskrivningen för bitarna 15-0 i det icke-flyktiga minnesadressregistret (se register 3-3)
  • Avsnitt:
    • Uppdaterat avsnitt 4.1 "RTSP Operation"
    • Uppdaterat avsnitt 4.5.5 "Ordprogrammering"
  • Andra mindre uppdateringar såsom språk- och formateringsuppdateringar införlivades i hela dokumentet

Revision D (december 2011)
Denna revision innehåller följande uppdateringar:

  • Uppdaterat avsnitt 2.1.3 "Tabellskrivspärrar"
  • Uppdaterat avsnitt 3.2 "NVMKEY Register"
  • Uppdaterade anteckningarna i NVMCON: Flash Memory Control Register (se Register 3-1)
  • Omfattande uppdateringar gjordes i avsnitt 4.0 "Run-Time Self-Programming (RTSP)"
  • Andra mindre uppdateringar såsom språk- och formateringsuppdateringar införlivades i hela dokumentet

Revision E (oktober 2018)
Denna revision innehåller följande uppdateringar:

  • Lade till example 2-2, example 4-2, example 4-6 och Example 4-9
  • Tillagt avsnitt 4.5.4 "Radprogrammering med RAM-bufferten"
  • Uppdaterad Avsnitt 1.0 "Introduktion", Avsnitt 3.3 "NVM-adressregister", Avsnitt 4.0 "Run-Time Self-Programming (RTSP)" och Avsnitt 4.5.3 "Single Row Programmering Ex.ampde"
  • Uppdaterat register 3-1
  • Uppdaterat example 4-7
  • Uppdaterad tabell 5-1

Revision F (november 2021)
Lade till avsnitt 3.2.1 "Inaktivera avbrott".
Uppdaterat example 3-1, example 4-1, example 4-2, example 4-5, example 4-6, example 4-7, example 4-8, example 4-9 och Example 4-10.
Uppdaterad Avsnitt 3.2 "NVMKEY Register", Avsnitt 4.5.1 "Erasing En sida Flash”, Avsnitt 4.5.3 “Programmering med en rad, exempelample” och avsnitt 4.6.1 “Konfigurationsregisterskrivalgoritm”.

Observera följande detaljer om kodskyddsfunktionen på Microchip-produkter:

  • Microchip-produkter uppfyller specifikationerna i deras specifika Microchip-datablad.
  • Microchip anser att dess familj av produkter är säkra när de används på avsett sätt, inom driftsspecifikationer och under normala förhållanden.
  • Microchip värdesätter och skyddar aggressivt dess immateriella rättigheter. Försök att bryta mot kodskyddsfunktionerna i Microchip-produkten är strängt förbjudna och kan bryta mot Digital Millennium Copyright Act.
  • Varken Microchip eller någon annan halvledartillverkare kan garantera säkerheten för sin kod. Kodskydd betyder inte att vi garanterar att produkten är "okrossbar". Kodskyddet utvecklas ständigt. Microchip har åtagit sig att kontinuerligt förbättra kodskyddsfunktionerna i våra produkter

Denna publikation och informationen häri får endast användas med Microchip-produkter, inklusive för att designa, testa och integrera Microchip-produkter med din applikation. Användning av denna information på något annat sätt bryter mot dessa villkor. Information om enhetsapplikationer tillhandahålls endast för din bekvämlighet och kan ersättas av uppdateringar. Det är ditt ansvar att se till att din ansökan uppfyller dina specifikationer. Kontakta ditt lokala Microchip-försäljningskontor för ytterligare support eller få ytterligare support på https://www.microchip.com/en-us/support/design-help/client-supportservices.

DENNA INFORMATION TILLHANDAHÅLLS AV MICROCHIP "I BEFINTLIGT SKICK". MICROCHIP GÖR INGA REPRESSENTATIONER ELLER GARANTIER AV NÅGOT SLAG, VARKEN UTTRYCKLIGA ELLER UNDERFÖRSTÅDDA, SKRIFTLIGA ELLER MUNTLIGA, LAGSTADIGADE ELLER ANNAT SÄTT, RELATERADE TILL INFORMATIONEN INKLUSIVE MEN INTE BEGRÄNSADE TILL NÅGON UNDERFÖRSTÅDDA GARANTIER, OCH ANSVARLIGA GARANTIER ULAR SYFTE ELLER GARANTIER RELATERADE TILL DESS SKICK, KVALITET ELLER PRESTANDA. UNDER INGA OMSTÄNDIGHETER KOMMER MICROCHIP ANSVARIGT FÖR NÅGON INDIREKTA, SÄRSKILDA, STRAFFANDE, OAVSIKTLIGA ELLER FÖLJDLIG FÖRLUST, SKADA, KOSTNAD ELLER KOSTNADER AV NÅGOT SLAG SOM HELST SAMMANFATTAS TILL INFORMATIONEN ELLER DESS ANVÄNDNING, OAVSETT OAVSETT OAVSETT MÖJLIGHETEN ELLER SKADOR ÄR FÖRUTSÅBARA. I FULLSTÄNDIG UTSTRÄCKNING SOM TILLÅTS AV LAGEN KOMMER MICROCHIPS TOTALA ANSVAR PÅ ALLA ANSVAR PÅ NÅGOT SÄTT relaterade till INFORMATIONEN ELLER DESS ANVÄNDNING INTE ÖVERSKRIVA BELÖPET AV AVGIFTER, OM NÅGRA, SOM DU HAR BETALAT DIREKT FÖR INFORMATIONOCHIPEN.

Användning av Microchip-enheter i livsuppehållande och/eller säkerhetsapplikationer sker helt och hållet på köparens risk, och köparen samtycker till att försvara, gottgöra och hålla Microchip ofarligt från alla skador, anspråk, processer eller utgifter som härrör från sådan användning. Inga licenser överförs, vare sig underförstått eller på annat sätt, under några Microchips immateriella rättigheter om inte annat anges.

För information om Microchips kvalitetsledningssystem, besök www.microchip.com/quality.

Varumärken

Mikrochipets namn och logotyp, Microchip-logotypen, Adaptec, AnyRate, AVR, AVR-logotypen, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStylus, maXTouch, MediaLB, megaAVR, Microsemi, Microsemi logotyp, MOST, MOST logotyp, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32 logotyp, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST Logo, SuperFlash , Symmetricom, SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron och XMEGA är registrerade varumärken som tillhör Microchip Technology Incorporated i USA och andra länder. 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 logotyp, Quiet- Wire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime, WinPath och ZL är registrerade varumärken som tillhör 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 Certified logotyp, 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 och ZENA är varumärken som tillhör Microchip Technology Incorporated i USA och andra länder.

SQTP är ett servicemärke som tillhör Microchip Technology Incorporated i USA
Adaptec-logotypen, Frequency on Demand, Silicon Storage Technology, Symmcom och Trusted Time är registrerade varumärken som tillhör Microchip Technology Inc. i andra länder.
GestIC är ett registrerat varumärke som tillhör Microchip Technology Germany II GmbH & Co. KG, ett dotterbolag till Microchip Technology Inc., i andra länder.
Alla andra varumärken som nämns här tillhör sina respektive företag.
© 2009-2021, Microchip Technology Incorporated och dess dotterbolag.
Alla rättigheter reserverade.
ISBN: 978-1-5224-9314-3

Världsomspännande försäljning och service

AMERIKA

  • Företagskontor
    2355 West Chandler Blvd.
    Chandler, AZ 85224-6199
    Tel: 480-792-7200
    Fax: 480-792-7277
    Teknisk support: http://www.microchip.com/
    stöd Web Adress: 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

ASIEN/Stillahavsområdet

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

EUROPA

  • Österrike – Wels
    Tel: 43-7242-2244-39
    Fax: 43-7242-2244-393
  • Danmark – Köpenhamn
    Tel: 45-4485-5910
    Fax: 45-4485-2829
  • Finland – Esbo
    Tel: 358-9-4520-820
  • Frankrike – Paris
    Tel: 33-1-69-53-63-20
    Fax: 33-1-69-30-90-79
  • Tyskland – Garching
    Tel: 49-8931-9700
  • Tyskland – Haan
    Tel: 49-2129-3766400
  • Tyskland – Heilbronn
    Tel: 49-7131-72400
  • Tyskland – Karlsruhe
    Tel: 49-721-625370
  • Tyskland – München
    Tel: 49-89-627-144-0
    Fax: 49-89-627-144-44
  • Tyskland – Rosenheim
    Tel: 49-8031-354-560
  • Italien – Milano
    Tel: 39-0331-742611
    Fax: 39-0331-466781
  • Italien – Padova
    Tel: 39-049-7625286
  • Nederländerna – Drunen
    Tel: 31-416-690399
    Fax: 31-416-690340
  • Norge – Trondheim
    Tel: 47-7288-4388
  • Polen – Warszawa
    Tel: 48-22-3325737
  • Rumänien – Bukarest
    Tel: 40-21-407-87-50
  • Spanien - Madrid
    Tel: 34-91-708-08-90
    Fax: 34-91-708-08-91
  • Sverige – Göteborg
    Tel: 46-31-704-60-40
  • Sverige – Stockholm
    Tel: 46-8-5090-4654
  • Storbritannien – Wokingham
    Tel: 44-118-921-5800
    Fax: 44-118-921-5820

Notera:

Det här avsnittet med familjereferenshandbok är tänkt att fungera som ett komplement till enhetens datablad. Beroende på enhetsvariant kanske det här avsnittet med manualen inte gäller alla dsPIC33/PIC24-enheter. Se noteringen i början av kapitlet "Flash Program Memory" i det aktuella enhetens datablad för att kontrollera om detta dokument stöder den enhet du använder.
Enhetsdatablad och avsnitt med familjereferensmanualer finns tillgängliga för nedladdning från Microchip Worldwide Webwebbplats på: http://www.microchip.com.

Dokument/resurser

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

Referenser

Ställa en fråga

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

Ställa en fråga

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