
MICROCHIP PIC24 Flash-ohjelmointi

Tuotetiedot
Flash-ohjelmointi
dsPIC33/PIC24-laitteissa on sisäinen ohjelmoitava Flash-ohjelmamuisti käyttäjäkoodin suorittamista varten. Tämän muistin ohjelmointiin on kolme tapaa:
- Taulukko Ohje Käyttö
- In-Circuit Serial Programming (ICSP)
- Sovelluksen sisäinen ohjelmointi (IAP)
Taulukon ohjeet tarjoavat tavan siirtää tietoja Flash-ohjelmamuistitilan ja dsPIC33/PIC24-laitteiden tietomuistitilan välillä. TBLRDL-käskyä käytetään ohjelmamuistitilan bittien [15:0] lukemiseen. TBLWTL-käskyä käytetään Flash-ohjelman muistitilan bittien [15:0] kirjoittamiseen. TBLRDL ja TBLWTL voivat käyttää Flash-ohjelmamuistia Word- tai tavutilassa.
Flash-ohjelman muistiosoitteen lisäksi taulukkokäsky määrittää myös W-rekisterin (tai W-rekisteriosoittimen muistipaikkaan), joka on kirjoitettavan Flash-ohjelman muistitietojen lähde tai Flash-ohjelman kohde. muistin lukeminen.
Tässä osassa kuvataan Flash-ohjelmamuistin ohjelmointitekniikka. dsPIC33/PIC24-laitteissa on sisäinen ohjelmoitava Flash-ohjelmamuisti käyttäjäkoodin suorittamista varten. Tämän muistin ohjelmointiin on kolme tapaa:
- Ajonaikainen itseohjelmointi (RTSP)
- In-Circuit Serial Programming™ (ICSP™)
- Enhanced In-Circuit Serial Programming (EICSP)
Sovellusohjelmisto suorittaa RTSP:n suorituksen aikana, kun taas ICSP ja EICSP suoritetaan ulkoisesta ohjelmoijasta käyttämällä sarjadatayhteyttä laitteeseen. ICSP ja EICSP mahdollistavat paljon nopeamman ohjelmointiajan kuin RTSP. RTSP-tekniikat on kuvattu osiossa 4.0 "Ajonaikainen itseohjelmointi (RTSP)". ICSP- ja EICSP-protokollat on määritelty vastaavien laitteiden ohjelmointimäärittelyissä, jotka voidaan ladata Microchipistä. websivusto (http://www.microchip.com). C-kielellä ohjelmoitaessa käytettävissä on useita sisäänrakennettuja toimintoja, jotka helpottavat Flash-ohjelmointia. Katso "MPLAB® XC16 C Compiler User's Guide" (DS50002071) saadaksesi lisätietoja sisäänrakennetuista toiminnoista.
Tuotteen käyttöohjeet
Ohjelmoi Flash-ohjelmamuisti seuraavasti:
- Katso laitteen tietosivusta, tukeeko perhekäsikirjan osio käyttämääsi laitetta.
- Lataa laitteen tietolehti ja perheen viitekäsikirjaosat Microchip Worldwide -sivustolta Websivusto osoitteessa: http://www.microchip.com.
- Valitse yksi kolmesta menetelmästä muistin ohjelmoimiseksi (taulukkokäskytoiminto, piirin sisäinen sarjaohjelmointi (ICSP), sovelluksen sisäinen ohjelmointi (IAP)).
- Jos käytät Table Instruction Operaatiota, käytä TBLRDL-komentoa ohjelmamuistitilan bittien [15:0] lukemiseen ja TBLWTL-käskyä Flash-ohjelmamuistitilan bittien [15:0] kirjoittamiseen.
- Varmista, että määrität W-rekisterin (tai W-rekisteriosoittimen muistipaikkaan) kirjoitettavien Flash-ohjelman muistitietojen lähteeksi tai Flash-ohjelman muistin lukukohdaksi.
Lisätietoja ja yksityiskohtia Flash-ohjelmamuistin ohjelmoinnista on dsPIC33/PIC24 Family Reference Manual -oppaassa.
TAULUKKOOHJE KÄYTTÖ
Taulukon ohjeet tarjoavat menetelmän tiedon siirtämiseksi Flash-ohjelmamuistitilan ja dsPIC33/PIC24-laitteiden tietomuistitilan välillä. Tässä osiossa on yhteenveto Flash-ohjelmamuistin ohjelmoinnin aikana käytetyistä taulukkoohjeista. Taulukon perusohjeita on neljä:
- TBLRDL: Taulukko Lue matala
- TBLRDH: Taulukko Lue korkea
- TBLWTL: Taulukon kirjoitus matala
- TBLWTH: Taulukko Kirjoita korkea
TBLRDL-käskyä käytetään ohjelmamuistitilan bittien [15:0] lukemiseen. TBLWTL-käskyä käytetään Flash-ohjelman muistitilan bittien [15:0] kirjoittamiseen. TBLRDL ja TBLWTL voivat käyttää Flash-ohjelmamuistia Word- tai tavutilassa.
TBLRDH- ja TBLWTH-käskyjä käytetään ohjelmamuistitilan bittien [23:16] lukemiseen tai kirjoittamiseen. TBLRDH ja TBLWTH voivat käyttää Flash-ohjelmamuistia Word- tai Byte-tilassa. Koska Flash-ohjelmamuisti on vain 24 bittiä leveä, TBLRDH- ja TBLWTH-käskyt voivat osoittaa ylemmän tavun Flash-ohjelmamuistista, jota ei ole olemassa. Tätä tavua kutsutaan "fantomitavuksi". Mikä tahansa haamutavun luku palauttaa arvon 0x00. Phantom-tavulle kirjoittamisella ei ole vaikutusta. 24-bittistä Flash-ohjelmamuistia voidaan pitää kahdena vierekkäisenä 16-bittisenä tilana, joista jokaisella on sama osoitealue. Siksi TBLRDL- ja TBLWTL-käskyt pääsevät "vähän" ohjelmamuistitilaan (PM[15:0]). TBLRDH- ja TBLWTH-käskyt käyttävät "korkeaa" ohjelmamuistia (PM[31:16]). Kaikki PM:ään [31:24] luetut tai kirjoittavat pääsevät phantom (toteuttamaton) tavuun. Kun mitä tahansa taulukkokäskyä käytetään tavutilassa, taulukon osoitteen vähiten merkitsevää bittiä (LSb) käytetään tavun valintabittinä. LSb määrittää, mitä tavua suuressa tai matalassa ohjelmamuistitilassa käytetään.
Kuva 2-1 havainnollistaa kuinka Flash-ohjelmamuistia osoitetaan taulukon ohjeiden avulla. 24-bittinen ohjelmamuistiosoite muodostetaan käyttämällä TBLPAG-rekisterin bittejä [7:0] ja tehollista osoitetta (EA) taulukkokäskyssä määritellystä W-rekisteristä. 24-bittinen ohjelmalaskuri (PC) on esitetty kuvassa 2-1 viitteenä. EA:n ylempiä 23 bittiä käytetään Flash-ohjelman muistipaikan valitsemiseen.
Tavumooditaulukon ohjeissa W-rekisterin EA LSb:tä käytetään valitsemaan, mikä tavu 16-bittisen Flash-ohjelman muistisanasta osoitetaan; "1" valitsee bitit [15:8] ja "0" valitsee bitit [7:0]. W-rekisterin EA LSb jätetään huomioimatta Word-tilassa olevan taulukkokäskyn yhteydessä. Flash-ohjelman muistiosoitteen lisäksi taulukkokäsky määrittää myös W-rekisterin (tai W-rekisteriosoittimen muistipaikkaan), joka on kirjoitettavan Flash-ohjelman muistitietojen lähde tai Flash-ohjelman kohde. muistin lukeminen. Taulukon kirjoitustoiminnossa tavutilassa lähteen työrekisterin bitit [15:8] ohitetaan.
Taulukon käyttö Lue ohjeet
Taulukon lukeminen vaatii kaksi vaihetta:
- Osoiteosoitin asetetaan käyttämällä TBLPAG-rekisteriä ja yhtä W-rekistereistä.
- Flash-ohjelman muistin sisältö osoitepaikassa voidaan lukea.
- LUE SANA -TILA
Esimample 2-1 ja esimample 2-2 näyttää kuinka Flash-ohjelmamuistin sana luetaan taulukon ohjeiden avulla Word-tilassa.

- LUKUTAVUTILA
Esimample 2-3 näyttää inkrementin jälkeisen operaattorin alemman tavun lukemisessa, jolloin työrekisterin osoite kasvaa yhdellä. Tämä asettaa EA[0]:n arvoon 1 kolmannen kirjoituskäskyn keskimmäiselle tavulle pääsyä varten. Viimeinen jälkeinen lisäys asettaa W0:n takaisin parilliseen osoitteeseen, joka osoittaa seuraavaan Flash-ohjelman muistipaikkaan.
- PÖYTÄ KIRJOITUSSALVAT
Taulukon kirjoitusohjeet eivät kirjoita suoraan haihtumattomaan ohjelmamuistiin. Sen sijaan taulukon kirjoitusohjeet lataavat kirjoitussalvat, jotka tallentavat kirjoitustiedot. NVM-osoiterekistereihin on ladattava ensimmäinen osoite, johon lukittu data tulee kirjoittaa. Kun kaikki kirjoitussalvat on ladattu, varsinainen muistin ohjelmointitoiminto aloitetaan suorittamalla erityinen komentosarja. Ohjelmoinnin aikana laitteisto siirtää kirjoitussalvojen tiedot Flash-muistiin. Kirjoitussalvat alkavat aina osoitteesta 0xFA0000 ja ulottuvat 0xFA0002:een sanaohjelmointia varten tai 0xFA00FE:hen laitteissa, joissa on riviohjelmointi.
Huomautus: Kirjoitussalvojen määrä vaihtelee laitteittain. Katso laitteen tietosivun luvusta "Flash-ohjelmamuisti" käytettävissä olevien kirjoitussalvojen määrästä.
VALVONTA REKISTERIT
Flash-ohjelman muistin tyhjennys- ja kirjoitustoimintojen ohjelmointiin käytetään useita erityistoimintorekistereitä (SFR): NVMCON, NVMKEY ja NVM-osoiterekisterit NVMADR ja NVMADRU.
NVMCON Rekisteröidy
NVMCON-rekisteri on Flash- ja ohjelmointi-/poistotoimintojen ensisijainen ohjausrekisteri. Tämä rekisteri valitsee, suoritetaanko poisto- tai ohjelmatoiminto, ja voi käynnistää ohjelman tai poistojakson. NVMCON-rekisteri näkyy rekisterissä 3-1. NVMCON:n alempi tavu määrittää suoritettavan NVM-toiminnon tyypin.
NVMKEY Rekisteröidy
NVMKEY-rekisteri (katso rekisteri 3-4) on vain kirjoitusrekisteri, jota käytetään estämään NVMCONin vahingossa tapahtuvat kirjoitukset, jotka voivat vahingoittaa Flash-muistia. Kun lukitus on avattu, kirjoitus NVMCONiin sallitaan yhden käskyjakson ajan, jossa WR-bitti voidaan asettaa kutsumaan poisto- tai ohjelmarutiinia. Ajoitusvaatimukset huomioon ottaen keskeytykset on poistettava käytöstä.
Suorita seuraavat vaiheet aloittaaksesi poisto- tai ohjelmointijakson:
- Poista keskeytykset käytöstä.
- Kirjoita 0x55 NVMKEY:lle.
- Kirjoita 0xAA NVMKEY:lle.
- Aloita ohjelmoinnin kirjoitussykli asettamalla WR-bitti (NVMCON[15]).
- Suorita kaksi NOP-käskyä.
- Palauta keskeytykset.

POISTAMINEN KÄYTTÖÖN
Keskeytykset on poistettava käytöstä kaikissa Flash-toiminnoissa onnistuneen tuloksen varmistamiseksi. Jos keskeytys tapahtuu NVMKEY-lukituksen avaussekvenssin aikana, se voi estää WR-bitin kirjoittamisen. NVMKEY-lukituksen avaussekvenssi on suoritettava keskeytyksettä, kuten kohdassa 3.2 "NVMKEY-rekisteri" on käsitelty.
Keskeytykset voidaan poistaa käytöstä kahdella tavalla, poistamalla Global Interrupt Enable (GIE-bitti) käytöstä tai käyttämällä DISI-käskyä. DISI-ohjetta ei suositella, koska se poistaa käytöstä vain prioriteetin 6 tai sitä alemmat keskeytykset; siksi tulisi käyttää Global Interrupt Enable -menetelmää.
CPU kirjoittaa GIE:hen kaksi käskyjaksoa ennen kuin se vaikuttaa koodinkulkuun. Kaksi NOP-ohjetta tarvitaan jälkikäteen, tai ne voidaan korvata millä tahansa muulla hyödyllisellä työohjeella, kuten NVMKEY:n lataaminen; tämä koskee sekä asetettuja että selkeitä operaatioita. Keskeytyksiä uudelleen otettaessa tulee olla varovainen, jotta NVM-kohdennettu rutiini ei salli keskeytyksiä, kun aiemmin kutsuttu toiminto on poistanut ne käytöstä muista syistä. Tämän korjaamiseksi Assemblyssa voidaan käyttää pinon push- ja pop-toimintoa GIE-bitin tilan säilyttämiseksi. C:ssä RAM:n muuttujaa voidaan käyttää INTCON2:n tallentamiseen ennen GIE:n tyhjentämistä. Poista keskeytykset käytöstä seuraavalla tavalla:
- Työnnä INTCON2 pinoon.
- Tyhjennä GIE-bitti.
- Kaksi NOP:ta tai kirjoitusta NVMKEY:lle.
- Aloita ohjelmointijakso asettamalla WR-bitti (NVMCON[15]).
- Palauta GIE-tila INTCON2:n POP:lla.

NVM-osoiterekisterit
Kaksi NVM-osoiterekisteriä, NVMADRU ja NVMADR, muodostavat ketjutettuna valitun rivin tai sanan 24-bittisen EA:n ohjelmointitoimintoja varten. NVMADRU-rekisteriä käytetään EA:n ylempien kahdeksan bitin säilyttämiseen, ja NVMADR-rekisteriä käytetään EA:n 16 alemman bitin säilyttämiseen. Jotkut laitteet voivat viitata samoihin rekistereihin kuin NVMADRL ja NVMADRH. NVM-osoiterekisterien tulee aina osoittaa kaksoiskäskysanan rajaa suoritettaessa kaksoiskäskysanan ohjelmointitoimintoa, rivin rajaa suoritettaessa riviohjelmointitoimintoa tai sivurajaa suoritettaessa sivun poistotoimintoa.
Rekisteri 3-1: NVMCON: Flash-muistin ohjausrekisteri

Huom
- Tämä bitti voidaan nollata (eli tyhjentää) vain Power-on Resetin (POR) yhteydessä.
- Lepotilasta poistuttaessa on käynnistysviive (TVREG) ennen kuin Flash-ohjelmamuisti alkaa toimia. Katso lisätietoja laitteen tietolehden luvusta "Sähköiset ominaisuudet".
- Kaikki muut NVMOP[3:0]-yhdistelmät ovat toteuttamattomia.
- Tämä toiminto ei ole käytettävissä kaikissa laitteissa. Katso käytettävissä olevat toiminnot laitteen tietosivun luvusta "Flash-ohjelmamuisti".
- Virransäästötilaan siirtyminen PWRSAV-käskyn suorittamisen jälkeen edellyttää kaikkien odottavien NVM-toimintojen suorittamista.
- Tämä bitti on käytettävissä vain laitteissa, jotka tukevat RAM-puskuroitua riviohjelmointia. Katso saatavuus laitekohtaisesta datalehdestä.

Huom
- Tämä bitti voidaan nollata (eli tyhjentää) vain Power-on Resetin (POR) yhteydessä.
- Lepotilasta poistuttaessa on käynnistysviive (TVREG) ennen kuin Flash-ohjelmamuisti alkaa toimia. Katso lisätietoja laitteen tietolehden luvusta "Sähköiset ominaisuudet".
- Kaikki muut NVMOP[3:0]-yhdistelmät ovat toteuttamattomia.
- Tämä toiminto ei ole käytettävissä kaikissa laitteissa. Katso käytettävissä olevat toiminnot laitteen tietosivun luvusta "Flash-ohjelmamuisti".
- Virransäästötilaan siirtyminen PWRSAV-käskyn suorittamisen jälkeen edellyttää kaikkien odottavien NVM-toimintojen suorittamista.
- Tämä bitti on käytettävissä vain laitteissa, jotka tukevat RAM-puskuroitua riviohjelmointia. Katso saatavuus laitekohtaisesta datalehdestä.
Rekisteri 3-2: NVMADRU: Haihtumattoman muistin yläosoiterekisteri

Rekisteri 3-3: NVMADR: Haihtumattoman muistin osoiterekisteri

Rekisteri 3-4: NVMKEY: Haihtumaton muistiavainrekisteri

AJO-AIKAINEN ITSEOHJELMOINTI (RTSP)
RTSP sallii käyttäjäsovelluksen muokata Flash-ohjelman muistin sisältöä. RTSP suoritetaan käyttämällä TBLRD- (taulukon luku) ja TBLWT (taulukon kirjoitus) -käskyjä, TBLPAG-rekisteriä ja NVM-ohjausrekistereitä. RTSP:n avulla käyttäjäsovellus voi tyhjentää yhden sivun Flash-muistista ja ohjelmoida joko kaksi käskysanaa tai jopa 128 käskysanaa tietyissä laitteissa.
RTSP-toiminta
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.
Huomautus: On suositeltavaa, että TBLPAG-rekisteri tallennetaan ennen muokkausta ja palautetaan käytön jälkeen.
VAROITUS
Joissakin laitteissa konfigurointibitit on tallennettu ohjelman Flash-käyttäjämuistitilan viimeiselle sivulle osioon nimeltä "Flash Configuration Bytes". Näillä laitteilla sivunpoistotoiminnon suorittaminen ohjelmamuistin viimeisellä sivulla pyyhkii Flash Configuration -tavut, mikä mahdollistaa koodisuojauksen. Siksi käyttäjien ei pitäisi suorittaa sivun poistotoimintoja ohjelmamuistin viimeisellä sivulla. Tämä ei ole huolenaihe, kun määritysbitit on tallennettu määritysmuistiin osioon nimeltä "Laitekokoonpanorekisterit". Katso ohjelmointimuistikartta tietyn laitteen tietosivun "Muistin organisaatio" -luvusta määrittääksesi, missä konfigurointibitit sijaitsevat.
Flash-ohjelmointitoiminnot
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.
Huom
- Jos POR- tai BOR-tapahtuma tapahtuu, kun RTSP-poisto- tai ohjelmointitoiminto on käynnissä, RTSP-toiminto keskeytyy välittömästi. Käyttäjän tulee suorittaa RTSP-toiminto uudelleen, kun laite on poistunut Reset-tilasta.
- Jos EXTR-, SWR-, WDTO-, TRAPR-, CM- tai IOPUWR-nollaustapahtuma tapahtuu RTSP-poiston tai ohjelmoinnin aikana, laite nollataan vasta, kun RTSP-toiminto on valmis.
RTSP OHJELMOINTI ALGORITMI
Tässä osassa kuvataan RTSP-ohjelmointia, joka koostuu kolmesta pääprosessista.
Muokattavan tietosivun RAM-kuvan luominen
Suorita nämä kaksi vaihetta luodaksesi RAM-kuvan muokattavasta tietosivusta:
- Lue Flash-ohjelmamuistin sivu ja tallenna se data-RAM-muistiin datan "kuvana". RAM-kuva on luettava alkaen sivuosoitteen rajasta.
- Muokkaa RAM-tietokuvaa tarpeen mukaan.
Erasing Flash Program Memory
Kun olet suorittanut yllä olevat vaiheet 1 ja 2, tyhjennä Flash-ohjelman muistisivu suorittamalla seuraavat neljä vaihetta:
- Aseta NVMOP[3:0]-bitit (NVMCON[3:0]) poistaaksesi vaiheesta 1 luetun Flash-ohjelman muistin sivun.
- Kirjoita poistettavan sivun aloitusosoite NVMADRU- ja NMVADR-rekistereihin.
- Kun keskeytykset on poistettu käytöstä:
- a) Kirjoita avainsarja NVMKEY-rekisteriin WR-bitin asettamisen mahdollistamiseksi (NVMCON[15]).
- b) Aseta WR-bitti; tämä käynnistää poistojakson.
- c) Suorita kaksi NOP-käskyä.
- WR-bitti tyhjennetään, kun poistojakso on valmis.
Flash-muistisivun ohjelmointi
Prosessin seuraava osa on Flash-muistisivun ohjelmointi. Flash-muistisivu ohjelmoidaan käyttämällä vaiheessa 1 luodun kuvan dataa. Tiedot siirretään kirjoitussalpoihin joko kaksoiskäskysanojen tai rivien välein. Kaikissa laitteissa on kaksoiskäskysanaohjelmointimahdollisuus. (Katso laitteen tietosivun lukua "Flash-ohjelmamuisti" selvittääksesi, onko ja minkä tyyppistä riviohjelmointia on saatavilla.) Kun kirjoitussalvat on ladattu, ohjelmointitoiminto alkaa, joka siirtää tiedot kirjoittaa salvat Flash-muistiin. Tätä toistetaan, kunnes koko sivu on ohjelmoitu. Toista seuraavat kolme vaihetta alkaen Flash-sivun ensimmäisestä käskysanasta ja lisäämällä joko kaksoisohjelmasanojen tai käskyrivien välein, kunnes koko sivu on ohjelmoitu:
- Lataa kirjoitussalvat:
- a) Aseta TBLPAG-rekisteri osoittamaan kirjoitussalvojen sijaintia.
- b) Lataa haluamasi määrä salpoja käyttämällä TBLWTL- ja TBLWTH-ohjepareja:
- Kaksisanaiseen ohjelmointiin tarvitaan kaksi paria TBLWTL- ja TBLWTH-käskyjä
- Riviohjelmointia varten kullekin käskysanarivielementille tarvitaan TBLWTL- ja TBLWTH-käskypari
- Aloita ohjelmointitoiminto:
- a) Aseta NVMOP[3:0]-bitit (NVMCON[3:0]) ohjelmoimaan joko kaksoiskäskysanoja tai käskyriviä tarpeen mukaan.
b) Kirjoita joko kaksoiskäskysanan tai ohjelmoitavan käskyrivin ensimmäinen osoite NVMADRU- ja NVMADR-rekistereihin.
c) Kun keskeytykset on poistettu käytöstä:
• Kirjoita näppäinsarja NVMKEY-rekisteriin mahdollistaaksesi WR-bitin asettamisen (NVMCON[15])
• Aseta WR-bitti; tämä käynnistää poistojakson
• Suorita kaksi NOP-käskyä
- a) Aseta NVMOP[3:0]-bitit (NVMCON[3:0]) ohjelmoimaan joko kaksoiskäskysanoja tai käskyriviä tarpeen mukaan.
- WR-bitti tyhjennetään, kun ohjelmointijakso on valmis.
Toista koko prosessi tarpeen mukaan ohjelmoidaksesi halutun määrän Flash-ohjelmamuistia.
Huom
- Käyttäjän tulee muistaa, että Flash-ohjelmamuistin vähimmäismäärä, joka voidaan tyhjentää RTSP:llä, on yksi tyhjennetty sivu. Siksi on tärkeää, että kuva näistä paikoista tallennetaan yleiskäyttöiseen RAM-muistiin ennen poistojakson aloittamista.
- Flash-ohjelmamuistissa olevaa riviä tai sanaa ei saa ohjelmoida useammin kuin kahdesti ennen poistamista.
- Laitteissa, joissa Flashin viimeiselle sivulle on tallennettu määritystavuja, sivun poistotoiminnon suorittaminen ohjelmamuistin viimeisellä sivulla tyhjentää määritystavut, mikä mahdollistaa koodisuojauksen. Näissä laitteissa Flash-muistin viimeistä sivua ei pitäisi tyhjentää.
ERASING ONE PAGE OF FLASH
Esimample 4-1 voidaan käyttää sivun tyhjentämiseen Flash-ohjelmamuistista. NVMCON-rekisteri on määritetty tyhjentämään yksi sivu ohjelmamuistista. NVMADR- ja NMVADRU-rekistereihin ladataan poistettavan sivun aloitusosoite. Ohjelmamuisti on tyhjennettävä "parillisen" sivun osoiterajalla. Katso laitteen tietosivun luku "Flash-ohjelmamuisti" määrittääksesi Flash-sivun koon.
Poistotoiminto aloitetaan kirjoittamalla erityinen lukituksen avaus tai avainsarja NVMKEY-rekisteriin ennen WR-bitin asettamista (NVMCON[15]). Avaussekvenssi on suoritettava tarkassa järjestyksessä, kuten esimample 4-1, keskeytyksettä; siksi keskeytykset on poistettava käytöstä.
Kaksi NOP-ohjetta tulee lisätä koodiin poistojakson jälkeen. Tietyissä laitteissa konfigurointibitit on tallennettu Flash-ohjelman viimeiselle sivulle. Näillä laitteilla sivun poistotoiminnon suorittaminen ohjelmamuistin viimeisellä sivulla pyyhkii Flash Configuration -tavut, mikä mahdollistaa koodisuojauksen. Käyttäjien ei tule suorittaa sivun poistotoimintoja ohjelmamuistin viimeisellä sivulla.

LATAA KIRJOITUSLUVAT
Kirjoitussalpoja käytetään tallennusmekanismina käyttäjäsovelluksen Table Writes ja varsinaisen ohjelmointijakson välillä. Ohjelmoinnin aikana laite siirtää tiedot kirjoitussalvoista Flash-muistiin. Riviohjelmointia tukeville laitteille esimample 4-3 näyttää käskyjen sarjan, jolla voidaan ladata 128 kirjoitussalpaa (128 käskysanaa). 128 TBLWTL- ja 128 TBLWTH-käskyä tarvitaan kirjoitussalvojen lataamiseen Flash-ohjelmamuistin rivin ohjelmointia varten. Katso laitteen tietosivun luvusta "Flash-ohjelmamuisti" määrittääksesi laitteessa käytettävissä olevien ohjelmointisalvojen lukumäärän. Laitteille, jotka eivät tue riviohjelmointia, esimample 4-4 näyttää käskyjen sarjan, jolla voidaan ladata kaksi kirjoitussalpaa (kaksi käskysanaa). Kaksi TBLWTL- ja kaksi TBLWTH-käskyä tarvitaan kirjoitussalvojen lataamiseen.
Huom
- Load_Write_Latch_Row-koodi näkyy esimample 4-3 ja Load_Write_Latch_Word-koodi näkyy esimample 4-4. Koodi molemmissa näissä esimamplesiin viitataan seuraavassa examples.
- Katso salvojen lukumäärä laitteen tietosivulta.

YKSIRIVINEN OHJELMOINTI EXAMPLE
NVMCON-rekisteri on määritetty ohjelmoimaan yksi rivi Flash-ohjelmamuistia. Ohjelman toiminta aloitetaan kirjoittamalla NVMKEY-rekisteriin erityinen lukituksen avaus tai avainsekvenssi ennen WR-bitin asettamista (NVMCON[15]). Lukituksen avaussekvenssi on suoritettava keskeytyksettä ja tarkassa järjestyksessä, kuten Esimample 4-5. Siksi keskeytykset on poistettava käytöstä ennen sekvenssin kirjoittamista.
Huomautus: Kaikilla laitteilla ei ole riviohjelmointikykyä. Katso laitteen tietosivun luvusta "Flash-ohjelmamuisti" selvittääksesi, onko tämä vaihtoehto käytettävissä.
Ohjelmointijakson jälkeen koodiin tulee lisätä kaksi NOP-käskyä.

RIVIEN OHJELMOINTI RAM-PUSKURILLA
Tietyt dsPIC33-laitteet sallivat riviohjelmoinnin suorittamisen suoraan data-RAM:n puskuritilasta sen sijaan, että siirrettäisiin tietoja pitosalvojen kautta TBLWT-ohjeiden avulla. RAM-puskurin sijainnin määrittävät NVMSRCADR-rekisterit, joihin ladataan data-RAM-osoite, joka sisältää ensimmäisen kirjoitettavan ohjelmadatan sanan.
Ennen ohjelman suorittamista RAM-muistin puskuritila on ladattava ohjelmoitavalla datarivillä. RAM voidaan ladata joko pakattuna (pakattuna) tai pakkaamattomana. Pakattu tallennus käyttää yhtä datasanaa kahden vierekkäisen ohjelmadatasanan tärkeimpien tavun (MSB) tallentamiseen. Pakkaamaton muoto käyttää kahta datasanaa jokaiselle ohjelman datasanalle, ja jokaisen toisen sanan ylempi tavu on 00h. Pakattu formaatti käyttää noin 3/4 data-RAM-tilasta verrattuna pakkaamattomaan muotoon. Pakkaamaton muoto toisaalta jäljittelee 24-bittisen ohjelmadatasanan rakennetta ylemmän haamutavun kanssa. Tietomuoto valitaan RPDF-bitillä (NVMCON[9]). Nämä kaksi muotoa on esitetty kuvassa 4-1.
Kun RAM-puskuri on ladattu, Flash-osoiteosoittimet, NVMADR ja NVMADRU, ladataan kirjoitettavan Flash-rivin 24-bittisellä aloitusosoitteella. Kuten kirjoitussalvojen ohjelmoinnin yhteydessä, prosessi aloitetaan kirjoittamalla NVM-lukituksen avaussekvenssi, jota seuraa WR-bitin asettaminen. Kun laite on aloitettu, se lataa automaattisesti oikeat salvat ja lisää NVM-osoiterekistereitä, kunnes kaikki tavut on ohjelmoitu. Esimample 4-7 näyttää example prosessista. Jos NVMSRCADR on asetettu sellaiseen arvoon, että tapahtuu datan aliajossa, URERR-bitti (NVMCON[8]) asetetaan ilmaisemaan ehto.
Laitteet, jotka toteuttavat RAM-puskuririvien ohjelmoinnin, toteuttavat myös yhden tai kaksi kirjoitussalpaa. Nämä ladataan TBLWT-ohjeiden avulla ja niitä käytetään sanaohjelmointitoimintojen suorittamiseen.
SANAN OHJELMOINTI
NVMCON-rekisteri on määritetty ohjelmoimaan kaksi Flash-ohjelmamuistin käskysanaa. Ohjelman toiminta aloitetaan kirjoittamalla NVMKEY-rekisteriin erityinen lukituksen avaus tai avainsekvenssi ennen WR-bitin asettamista (NVMCON[15]). Avaussekvenssi on suoritettava tarkassa järjestyksessä, kuten esimample 4-8, keskeytyksettä. Siksi keskeytykset tulee poistaa käytöstä ennen sekvenssin kirjoittamista.
Ohjelmointijakson jälkeen koodiin tulee lisätä kaksi NOP-käskyä.

Kirjoitetaan laitteen kokoonpanorekistereihin
Tietyissä laitteissa konfigurointibitit on tallennettu konfiguraatiomuistiin osioon nimeltä "Device Configuration Registers". Muissa laitteissa konfigurointibitit tallennetaan ohjelman Flash-käyttäjämuistitilan viimeiselle sivulle osioon nimeltä "Flash Configuration Bytes". Näillä laitteilla sivunpoistotoiminnon suorittaminen ohjelmamuistin viimeisellä sivulla pyyhkii Flash Configuration -tavut, mikä mahdollistaa koodisuojauksen. Siksi käyttäjien ei pitäisi suorittaa sivun poistotoimintoja ohjelmamuistin viimeisellä sivulla. Katso ohjelmointimuistikartta tietyn laitteen tietosivun "Muistin organisaatio" -luvusta määrittääksesi, missä konfigurointibitit sijaitsevat.
Kun konfigurointibitit on tallennettu konfigurointimuistitilaan, RTSP:tä voidaan käyttää laitteen konfigurointirekistereihin kirjoittamiseen, ja RTSP mahdollistaa jokaisen konfigurointirekisterin yksilöllisen uudelleenkirjoituksen suorittamatta ensin poistojaksoa. Konfigurointirekistereitä kirjoitettaessa on noudatettava varovaisuutta, koska ne ohjaavat laitteen kriittisiä toimintaparametreja, kuten järjestelmän kellolähdettä, PLL- ja WDT-aktivointia.
Laitteen konfigurointirekisterin ohjelmointimenettely on samanlainen kuin Flash-ohjelmamuistin ohjelmointi, paitsi että tarvitaan vain TBLWTL-käskyjä. Tämä johtuu siitä, että kunkin laitteen konfigurointirekisterin kahdeksan ylempää bittiä ovat käyttämättömiä. Lisäksi Table Write -osoitteen bitti 23 on asetettava päästäkseen konfigurointirekistereihin. Katso laitteen konfigurointirekisterien täydellinen kuvaus kohdasta "Laitekokoonpano" (DS70000618) "dsPIC33/PIC24-perheen käsikirjassa" ja "Erikoisominaisuudet" -luvussa tietyn laitteen tietosivulla.
Huom
- Laitteelle kirjoittaminen Konfigurointirekisterit eivät ole käytettävissä kaikissa laitteissa. Katso laitteen tietosivun luvusta "Erikoisominaisuudet" määrittääksesi tilat, jotka ovat käytettävissä laitekohtaisten NVMOP[3:0]-bittien määritelmän mukaan.
- Suorittaessaan RTSP:tä laitteen konfigurointirekistereissä, laitteen tulee toimia sisäisellä FRC-oskillaattorilla (ilman PLL:ää). Jos laite toimii eri kellolähteestä, kellokytkin sisäiseen FRC-oskillaattoriin (NOSC[2:0] = 000) on suoritettava ennen RTSP-toiminnon suorittamista laitteen konfigurointirekistereissä.
- Jos Primary Oscillator Mode Select -bitit (POSCMD[1:0]) oskillaattorin konfigurointirekisterissä (FOSC) ohjelmoidaan uudelleen uuteen arvoon, käyttäjän on varmistettava, että kellonvaihtotilan bitit (FCKSM[1:0]) FOSC-rekisterillä on ohjelmoitu alkuarvo '0' ennen tämän RTSP-operaation suorittamista.
ASETUKSET REKISTERÖINTI Kirjoitusalgoritmi
Yleinen menettely on seuraava:
- Kirjoita uusi konfiguraatioarvo Table Write -salpaan TBLWTL-käskyn avulla.
- Määritä NVMCON määritysrekisterin kirjoittamista varten (NVMCON = 0x4000).
- Kirjoita ohjelmoitavan konfigurointirekisterin osoite NVMADRU- ja NVMADR-rekistereihin.
- Poista keskeytykset käytöstä, jos se on käytössä.
- Kirjoita avainsarja NVMKEY-rekisteriin.
- Aloita kirjoitussekvenssi asettamalla WR-bitti (NVMCON[15]).
- Ota keskeytykset uudelleen käyttöön tarvittaessa.
Example 4-10 näyttää koodisekvenssin, jota voidaan käyttää laitteen konfigurointirekisterin muokkaamiseen.
REKISTERÖIDY KARTTA
Yhteenveto Flash-ohjelmointiin liittyvistä rekistereistä on taulukossa 5-1.
Tässä osiossa luetellaan sovelluksen huomautukset, jotka liittyvät oppaan tähän osaan. Näitä sovellusohjeita ei ehkä ole kirjoitettu erityisesti dsPIC33/PIC24-tuoteperheille, mutta käsitteet ovat olennaisia ja niitä voidaan käyttää muokkauksin ja mahdollisin rajoituksin. Nykyiset Flash-ohjelmointiin liittyvät sovellushuomautukset ovat:
Huomautus: Käy mikrosirussa websivusto (www.microchip.com) lisäsovellushuomautuksia ja koodia exampdsPIC33/PIC24-laitteiden perheille.
TARKISTUSHISTORIA
Versio A (elokuu 2009)
Tämä on tämän asiakirjan ensimmäinen julkaistu versio.
Versio B (helmikuu 2011)
Tämä versio sisältää seuraavat päivitykset:
- Examples:
- Poistettu Example 5-3 ja esimampklo 5-4
- Päivitetty Example 4-1, esimample 4-5 ja esimampklo 4-10
- Kaikki viittaukset #WR:ään päivitettiin numeroon 15 Example 4-1, esimample 4-5 ja esimampklo 4-8
- Päivitetty seuraavaa Example 4-3:
- Päivitetty otsikko "Word Programming" muotoon "Ladataan kirjoitussalvat riviohjelmointiin"
- Kaikki viittaukset #ram_image päivitettiin arvoon #0xFA
- Lisätty esimampklo 4-4
- Otsikko päivitetty Exampklo 4-8
- Huomautuksia:
- Lisätty kaksi huomautusta kohtaan 4.2 "Flash-ohjelmointitoiminnot"
- Päivitetty huomautus kohdassa 4.5.2 "Kirjoitussalvojen lataaminen"
- Lisätty kolme huomautusta kohtaan 4.6 "Kirjoittaminen laitemääritysrekistereihin"
- Lisätty huomautus 1 taulukkoon 5-1
- rekisterit:
- Päivitetty bittiarvot NVMOP[3:0]:lle: NVM-toiminta Valitse bitit Flash Memory Control (NVMCON) -rekisterissä (katso rekisteri 3-1)
- Osat:
- Poistettu osiot 5.2.1.4 "Write Word Mode" ja 5.2.1.5 "Write Byte Mode"
- Päivitetty osio 3.0 "Valvontarekisterit"
- Päivitetty osiossa 4.5.5 "Word Programming" seuraavaa:
- Muutettiin osion otsikko "Flash-muistin yhden sanan ohjelmointi" muotoon "Word Programming"
- Päivitetty ensimmäinen kappale
- Muutettiin sanat "yksi sana" sanapariksi toisessa kappaleessa
- Lisätty uusi vaihe 1 kohtaan 4.6.1 "Konfigurointirekisterin kirjoitusalgoritmi"
- Taulukot:
- Päivitetty taulukko 5-1
- Muutama viittaus ohjelmamuistiin päivitettiin Flash-ohjelmamuistiin
- Muita pieniä päivityksiä, kuten kieli- ja muotoilupäivityksiä, sisällytettiin koko asiakirjaan
Versio C (kesäkuu 2011)
Tämä versio sisältää seuraavat päivitykset:
- Examples:
- Päivitetty Exampklo 4-1
- Päivitetty Exampklo 4-8
- Huomautuksia:
- Lisätty huomautus kohtaan 4.1 "RTSP-toiminta"
- Lisätty huomautus 3 kohtaan 4.2 "Flash-ohjelmointitoiminnot"
- Lisätty huomautus 3 kohtaan 4.2.1 "RTSP-ohjelmointialgoritmi"
- Added a note in Section 4.5.1 “Erasing One Page of Flash”
- Lisätty huomautus 2 kohtaan 4.5.2 "Kirjoitussalvojen lataaminen"
- rekisterit:
- Päivitetty bittien 15-0 bittien kuvaus Haihtumattoman muistin osoiterekisterissä (katso rekisteri 3-3)
- Osat:
- Päivitetty osio 4.1 "RTSP-toiminta"
- Päivitetty osio 4.5.5 “Sanaohjelmointi”
- Muita pieniä päivityksiä, kuten kieli- ja muotoilupäivityksiä, sisällytettiin koko asiakirjaan
Versio D (joulukuu 2011)
Tämä versio sisältää seuraavat päivitykset:
- Päivitetty osio 2.1.3 "Taulukon kirjoitussalvat"
- Päivitetty osio 3.2 “NVMKEY-rekisteri”
- Päivitetty muistiinpanot NVMCON:ssa: Flash-muistin ohjausrekisteri (katso rekisteri 3-1)
- Kattavia päivityksiä tehtiin osion 4.0 "Ajonaikainen itseohjelmointi (RTSP)" kautta.
- Muita pieniä päivityksiä, kuten kieli- ja muotoilupäivityksiä, sisällytettiin koko asiakirjaan
Versio E (lokakuu 2018)
Tämä versio sisältää seuraavat päivitykset:
- Lisätty esimample 2-2, esimample 4-2, esimample 4-6 ja esimampklo 4-9
- Lisätty osio 4.5.4 "Riviohjelmointi RAM-puskurin avulla"
- Päivitetty osio 1.0 "Esittely", osio 3.3 "NVM-osoiterekisterit", osio 4.0 "ajoaikainen itseohjelmointi (RTSP)" ja osio 4.5.3 "yksirivinen ohjelmointi esim.amp"
- Päivitetty rekisteri 3-1
- Päivitetty Exampklo 4-7
- Päivitetty taulukko 5-1
Versio F (marraskuu 2021)
Lisätty kohta 3.2.1 "Keskeytysten poistaminen käytöstä".
Päivitetty Example 3-1, esimample 4-1, esimample 4-2, esimample 4-5, esimample 4-6, esimample 4-7, esimample 4-8, esimample 4-9 ja esimample 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” ja Kohta 4.6.1 ”Konfigurointirekisterin kirjoitusalgoritmi”.
Huomaa seuraavat Microchip-tuotteiden koodisuojausominaisuuden tiedot:
- Mikrosirutuotteet täyttävät niiden tietyn Microchip Data Sheet -tiedot.
- Microchip uskoo, että sen tuoteperhe on turvallinen, kun sitä käytetään tarkoitetulla tavalla, käyttöspesifikaatioiden mukaisesti ja normaaleissa olosuhteissa.
- Microchip arvostaa ja suojelee aggressiivisesti immateriaalioikeuksiaan. Yritykset rikkoa Microchip-tuotteen koodisuojausominaisuuksia ovat ehdottomasti kiellettyjä ja voivat olla Digital Millennium Copyright Act -lain vastaisia.
- Microchip tai mikään muu puolijohdevalmistaja ei voi taata koodinsa turvallisuutta. Koodisuojaus ei tarkoita, että takaamme tuotteen "rikkoutumattomuuden". Koodisuojaus kehittyy jatkuvasti. Microchip on sitoutunut parantamaan jatkuvasti tuotteidemme koodisuojausominaisuuksia
Tätä julkaisua ja siinä olevia tietoja voidaan käyttää vain Microchip-tuotteiden kanssa, mukaan lukien Microchip-tuotteiden suunnittelu, testaus ja integrointi sovellukseesi. Näiden tietojen käyttö muulla tavoin rikkoo näitä ehtoja. Laitesovelluksia koskevat tiedot tarjotaan vain avuksesi, ja päivitykset voivat korvata ne. Sinun vastuullasi on varmistaa, että hakemuksesi vastaa vaatimuksiasi. Ota yhteyttä paikalliseen Microchip-myyntitoimistoon saadaksesi lisätukea tai hanki lisätukea osoitteessa https://www.microchip.com/en-us/support/design-help/client-supportservices.
NÄMÄ TIEDOT TOIMITTAA MICROSIRU "SELLAISENAAN". MICROSIRU EI ANNA MITÄÄN TIETOIHIN LIITTYVÄT TIETOIHIN LIITTYVÄT TIETOIHIN LIITTYVÄT TIETOIHIN LIITTYVÄT NIMENOMAISET TAI OLUETUT TAKUUT TAI SUULLISIA TAKUITA TAI EI RAJOITETTUJA TAKUITA. SEN KUNTO, LAATU TAI SUORITUSKYKY. MIKROSIRU EI OLE MISSÄÄN TAPAUKSESSA VASTUUSSA MISTÄÄN EPÄSUORISTA, ERITYISISTÄ, RANGAISTUVISTA, SATUNNAISISTA TAI SEURANTAISISTA MENETÖISTÄ, VAHINGOISTA, KUSTANNUKSISTA TAI MISSÄÄN TAPAHTUMAAN LIITTYVISTÄ TIETOIHIN TAI SEN TIETOJEN KÄYTTÖÖN LIITTYVISTÄ KULUISTA. MAHDOLLISUUS TAI VAHINGOT OVAT ENNAKKOILLE. MICROSIRUN KOKONAISVASTUU KAIKISTA TIETOJEN TAI SEN KÄYTTÖÖN LIITTYVIEN VAATIMUSTEN TÄYDELLISESTI LAIN SALLITTAMASSA RAJOISSA EI OLE YLITTÄÄ MAKSUN MAKSUJA, JOTKA MAKSUTAAN MICROCHIPISTA.
Microchip-laitteiden käyttö elämää ylläpitävissä ja/tai turvallisuussovelluksissa on täysin ostajan omalla vastuulla, ja ostaja sitoutuu puolustamaan, korvaamaan ja pitämään Microchipiä vaarattomana kaikilta tällaisesta käytöstä aiheutuvilta vahingoilta, vaatimuksilta, kanteilta tai kuluilta. Microchipin immateriaalioikeuksilla ei välitetä lisenssejä, implisiittisesti tai muuten, ellei toisin mainita.
Lisätietoja Microchipin laadunhallintajärjestelmistä on osoitteessa www.microchip.com/quality.
Tavaramerkit
Mikrosirun nimi ja logo, Microchip-logo, Adaptec, AnyRate, AVR, AVR-logo, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, 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 ja XMEGA ovat Microchip Technology Incorporatedin rekisteröityjä tavaramerkkejä Yhdysvalloissa ja muissa maissa. 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 ja ZL ovat Microchip Technology Incorporatedin rekisteröityjä tavaramerkkejä Yhdysvalloissa.
Viereinen näppäinvaimennus, AKS, analoginen digitaaliaika, mikä tahansa kondensaattori, AnyIn, AnyOut, lisätty kytkentä, BlueSky, BodyCom, CodeGuard, kryptoauthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM, ds, APICDEM, d. , ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, In-Circuit Serial ohjelmointi, ICSP, INICnet, älykäs rinnakkaiskytkentä, sirujen välinen yhteys, jitterBlocker, näytön nuppi, max Crypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB-sertifioitu logo, MPLIB, MPLINK, MultiTRAK, NetDetach, NVM Express, NVMe, kaikkitietävä koodin luominen, PICDEM, PICDEM.net, PICkit, PICtail, PowerSmart, PureSilicon, QQ , 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, USBCCheck VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect ja ZENA ovat Microchip Technology Incorporatedin tavaramerkkejä Yhdysvalloissa ja muissa maissa.
SQTP on Microchip Technology Incorporatedin palvelumerkki Yhdysvalloissa
Adaptec-logo, Frequency on Demand, Silicon Storage Technology, Symmcom ja Trusted Time ovat Microchip Technology Inc:n rekisteröityjä tavaramerkkejä muissa maissa.
GestIC on Microchip Technology Germany II GmbH & Co. KG:n, Microchip Technology Inc:n tytäryhtiön, rekisteröity tavaramerkki muissa maissa.
Kaikki muut tässä mainitut tavaramerkit ovat vastaavien yhtiöiden omaisuutta.
© 2009-2021, Microchip Technology Incorporated ja sen tytäryhtiöt.
Kaikki oikeudet pidätetään.
ISBN: 978-1-5224-9314-3
Maailmanlaajuinen myynti ja palvelu
AMERIKAS
- Yrityksen toimisto
2355 West Chandler Blvd.
Chandler, AZ 85224-6199
Puh: 480-792-7200
Faksi: 480-792-7277
Tekninen tuki: http://www.microchip.com/
tukea Web Osoite: www.microchip.com - Atlanta
Duluth, GA
Puh: 678-957-9614
Faksi: 678-957-1455 - Austin, TX
Puh: 512-257-3370 - Boston
Westborough, MA
Puh: 774-760-0087
Faksi: 774-760-0088 - Chicago
Itasca, IL
Puh: 630-285-0071
Faksi: 630-285-0075 - Dallas
Addison, Teksas
Puh: 972-818-7423
Faksi: 972-818-2924 - Detroit
Novi, MI
Puh: 248-848-4000 - Houston, TX
Puh: 281-894-5983 - Indianapolis
Noblesville, IN
Puh: 317-773-8323
Faksi: 317-773-5453
Puh: 317-536-2380 - Los Angeles
Mission Viejo, CA
Puh: 949-462-9523
Faksi: 949-462-9608
Puh: 951-273-7800 - Raleigh, NC
Puh: 919-844-7510 - New York, NY
Puh: 631-435-6000 - San Jose, CA
Puh: 408-735-9110
Puh: 408-436-4270 - Kanada - Toronto
Puh: 905-695-1980
Faksi: 905-695-2078
AASIA/TYYNENMEREN
- Australia – Sydney
Puh: 61-2-9868-6733 - Kiina – Peking
Puh: 86-10-8569-7000 - Kiina - Chengdu
Puh: 86-28-8665-5511 - Kiina - Chongqing
Puh: 86-23-8980-9588 - Kiina – Dongguan
Puh: 86-769-8702-9880 - Kiina - Guangzhou
Puh: 86-20-8755-8029 - Kiina – Hangzhou
Puh: 86-571-8792-8115 - Kiina – Hongkongin erityishallintoalue
Puh: 852-2943-5100 - Kiina - Nanjing
Puh: 86-25-8473-2460 - Kiina - Qingdao
Puh: 86-532-8502-7355 - Kiina – Shanghai
Puh: 86-21-3326-8000 - Kiina - Shenyang
Puh: 86-24-2334-2829 - Kiina - Shenzhen
Puh: 86-755-8864-2200 - Kiina – Suzhou
Puh: 86-186-6233-1526 - Kiina - Wuhan
Puh: 86-27-5980-5300 - Kiina - Xian
Puh: 86-29-8833-7252 - Kiina - Xiamen
Puh: 86-592-2388138 - Kiina - Zhuhai
Puh: 86-756-3210040 - Intia - Bangalore
Puh: 91-80-3090-4444 - Intia - New Delhi
Puh: 91-11-4160-8631 - Intia - Pune
Puh: 91-20-4121-0141 - Japani - Osaka
Puh: 81-6-6152-7160 - Japani – Tokio
Puh: 81-3-6880-3770 - Korea – Daegu
Puh: 82-53-744-4301 - Korea - Soul
Puh: 82-2-554-7200 - Malesia - Kuala Lumpur
Puh: 60-3-7651-7906 - Malesia – Penang
Puh: 60-4-227-8870 - Filippiinit - Manila
Puh: 63-2-634-9065 - Singapore
Puh: 65-6334-8870 - Taiwan – Hsin Chu
Puh: 886-3-577-8366 - Taiwan – Kaohsiung
Puh: 886-7-213-7830 - Taiwan - Taipei
Puh: 886-2-2508-8600 - Thaimaa - Bangkok
Puh: 66-2-694-1351 - Vietnam - Ho Chi Minh
Puh: 84-28-5448-2100
EUROOPPA
- Itävalta – Wels
Puh: 43-7242-2244-39
Faksi: 43-7242-2244-393 - Tanska - Kööpenhamina
Puh: 45-4485-5910
Faksi: 45-4485-2829 - Suomi – Espoo
Puh: 358-9-4520-820 - Ranska - Pariisi
Puh: 33-1-69-53-63-20
Faksi: 33-1-69-30-90-79 - Saksa – Garching
Puh: 49-8931-9700 - Saksa – Haan
Puh: 49-2129-3766400 - Saksa – Heilbronn
Puh: 49-7131-72400 - Saksa – Karlsruhe
Puh: 49-721-625370 - Saksa - München
Puh: 49-89-627-144-0
Faksi: 49-89-627-144-44 - Saksa - Rosenheim
Puh: 49-8031-354-560 - Italia - Milano
Puh: 39-0331-742611
Faksi: 39-0331-466781 - Italia – Padova
Puh: 39-049-7625286 - Hollanti – Drunen
Puh: 31-416-690399
Faksi: 31-416-690340 - Norja - Trondheim
Puh: 47-7288-4388 - Puola - Varsova
Puh: 48-22-3325737 - Romania – Bukarest
Puh: 40-21-407-87-50 - Espanja - Madrid
Puh: 34-91-708-08-90
Faksi: 34-91-708-08-91 - Ruotsi - Götenberg
Puh: 46-31-704-60-40 - Ruotsi - Tukholma
Puh: 46-8-5090-4654 - Iso-Britannia – Wokingham
Puh: 44-118-921-5800
Faksi: 44-118-921-5820
Huomautus:
Tämä perhekäsikirjaosio on tarkoitettu täydentämään laitetietolehtiä. Laiteversiosta riippuen tämä käsikirjaosio ei välttämättä koske kaikkia dsPIC33/PIC24-laitteita. Katso nykyisen laitteen tietosivun luvun "Flash-ohjelmamuisti" alussa oleva huomautus tarkistaaksesi, tukeeko tämä asiakirja käyttämääsi laitetta.
Laitteen tietosivut ja perheen viitekäsikirjat ovat ladattavissa Microchip Worldwide -sivustolta Websivusto osoitteessa: http://www.microchip.com.
Asiakirjat / Resurssit
![]() | PIC24 Flash-ohjelmointi |
![]() | PIC24 Flash-ohjelmointi |
Viitteet
- Käyttöopasmanual.tools


