MICROCHIP-LOGO

Programare MICROCHIP PIC24 Flash

MICROCHIP-PIC24-Flash-Programming-PRO

Informații despre produs

Programare flash
Familiile de dispozitive dsPIC33/PIC24 au o memorie internă de program Flash programabilă pentru executarea codului utilizatorului. Există până la trei metode de a programa această memorie:

  • Operare cu instrucțiuni de masă
  • Programare în serie în circuit (ICSP)
  • Programare în aplicație (IAP)

Instrucțiunile din tabel oferă metoda de transfer de date între spațiul de memorie al programului Flash și spațiul de memorie de date al dispozitivelor dsPIC33/PIC24. Instrucțiunea TBLRDL este folosită pentru a citi din biții [15:0] din spațiul de memorie al programului. Instrucțiunea TBLWTL este folosită pentru a scrie în biți[15:0] din spațiul de memorie al programului Flash. TBLRDL și TBLWTL pot accesa memoria programului Flash în modul Word sau modul Byte.

Pe lângă adresa de memorie a programului Flash, instrucțiunea de tabel specifică și un registru W (sau un indicator W Register către o locație de memorie), care este sursa datelor din memoria programului Flash care urmează să fie scrise sau destinația unui program Flash. citit de memorie.

Această secțiune descrie tehnica de programare a memoriei programelor Flash. Familiile de dispozitive dsPIC33/ PIC24 au o memorie internă de program Flash programabilă pentru executarea codului utilizatorului. Există până la trei metode de a programa această memorie:

  • Autoprogramare în timp de rulare (RTSP)
  • Programare în serie în circuit (ICSP™)
  • Programare în serie îmbunătățită în circuit (EICSP)

RTSP este realizat de software-ul aplicației în timpul execuției, în timp ce ICSP și EICSP sunt efectuate de la un programator extern folosind o conexiune de date serială la dispozitiv. ICSP și EICSP permit timp de programare mult mai rapid decât RTSP. Tehnicile RTSP sunt descrise în Secțiunea 4.0 „Auto-programare în timp de rulare (RTSP)”. Protocoalele ICSP și EICSP sunt definite în documentele Specificații de programare pentru dispozitivele respective, care pot fi descărcate de pe Microcip. website (http://www.microchip.com). Când programați în limbajul C, sunt disponibile mai multe funcții încorporate care facilitează programarea Flash. Consultați „Ghidul utilizatorului compilatorului MPLAB® XC16 C” (DS50002071) pentru detalii privind funcțiile încorporate.

Instrucțiuni de utilizare a produsului

Pentru a programa memoria programului Flash, urmați acești pași:

  1. Consultați fișa tehnică a dispozitivului pentru a verifica dacă secțiunea manualului de referință pentru familie acceptă dispozitivul pe care îl utilizați.
  2. Descărcați fișa tehnică a dispozitivului și secțiunile manualului de referință pentru familie de pe Microcip Worldwide Website la: http://www.microchip.com.
  3. Alegeți una dintre cele trei metode de programare a memoriei (Operare cu instrucțiuni de masă, Programare în serie în circuit (ICSP), Programare în aplicație (IAP)).
  4. Dacă utilizați operația de instrucțiuni de tabel, utilizați instrucțiunea TBLRDL pentru a citi din biții[15:0] din spațiul de memorie a programului și instrucțiunea TBLWTL pentru a scrie în biții[15:0] din spațiul de memorie al programului Flash.
  5. Asigurați-vă că specificați un registru W (sau un indicator W Register către o locație de memorie) ca sursă a datelor din memoria programului Flash care urmează să fie scrise sau destinația pentru citirea unei memorie a programului Flash.

Pentru mai multe informații și detalii despre programarea memoriei programului Flash, consultați Manualul de referință al familiei dsPIC33/PIC24.

OPERAȚIUNEA DE INSTRUCȚIUNI TABEL

Instrucțiunile din tabel oferă metoda de transfer de date între spațiul de memorie al programului Flash și spațiul de memorie de date al dispozitivelor dsPIC33/PIC24. Această secțiune oferă un rezumat al instrucțiunilor din tabel utilizate în timpul programării memoriei programului Flash. Există patru instrucțiuni de bază pentru tabel:

  • TBLRDL: Tabelul citit scăzut
  • TBLRDH: Tabel Citite ridicat
  • TBLWTL: Tabel Scriere scăzut
  • TBLWTH: Tabel Scrieți înalt

Instrucțiunea TBLRDL este folosită pentru a citi din biții [15:0] din spațiul de memorie al programului. Instrucțiunea TBLWTL este folosită pentru a scrie în biți[15:0] din spațiul de memorie al programului Flash. TBLRDL și TBLWTL pot accesa memoria programului Flash în modul Word sau modul Byte.

Instrucțiunile TBLRDH și TBLWTH sunt folosite pentru a citi sau scrie în biți[23:16] din spațiul de memorie al programului. TBLRDH și TBLWTH pot accesa memoria programului Flash în modul Word sau Byte. Deoarece memoria programului Flash are o lățime de numai 24 de biți, instrucțiunile TBLRDH și TBLWTH pot adresa un octet superior al memoriei programului Flash care nu există. Acest octet se numește „byte fantomă”. Orice citire a octetului fantomă va returna 0x00. O scriere pe octetul fantomă nu are efect. Memoria programului Flash pe 24 de biți poate fi privită ca două spații de 16 biți una lângă alta, fiecare spațiu împărțind același interval de adrese. Prin urmare, instrucțiunile TBLRDL și TBLWTL accesează spațiul de memorie „scăzut” al programului (PM[15:0]). Instrucțiunile TBLRDH și TBLWTH accesează spațiul de memorie al programului „înalt” (PM[31:16]). Orice citire sau scriere către PM[31:24] va accesa octetul fantomă (neimplementat). Când oricare dintre instrucțiunile de tabel sunt utilizate în modul Byte, bitul cel mai puțin semnificativ (LSb) al adresei tabelului va fi folosit ca bit de selectare a octetului. LSb determină ce octet din spațiul de memorie de program mare sau scăzut este accesat.

Figura 2-1 ilustrează modul în care este adresată memoria programului Flash folosind instrucțiunile din tabel. O adresă de memorie de program de 24 de biți este formată folosind biții [7:0] ai registrului TBLPAG și Adresa efectivă (EA) dintr-un registru W specificat în instrucțiunea de tabel. Contorul de programe pe 24 de biți (PC) este ilustrat în Figura 2-1 pentru referință. Cei 23 de biți superiori ai EA sunt utilizați pentru a selecta locația de memorie a programului Flash.

Pentru instrucțiunile tabelului în modul Byte, LSb al registrului W EA este utilizat pentru a selecta ce octet din cuvântul de memorie al programului Flash de 16 biți este adresat; „1” selectează biții[15:8] și „0” selectează biții[7:0]. LSb al registrului W EA este ignorat pentru o instrucțiune de tabel în modul Word. Pe lângă adresa de memorie a programului Flash, instrucțiunea de tabel specifică și un registru W (sau un indicator W Register către o locație de memorie), care este sursa datelor din memoria programului Flash care urmează să fie scrise sau destinația unui program Flash. citit de memorie. Pentru o operație de scriere în tabel în modul Byte, biții[15:8] ai registrului de lucru sursă sunt ignorați.MICROCHIP-PIC24-Programare-Flash- (1)

Utilizarea instrucțiunilor de citire a tabelului
Citirea tabelului necesită doi pași:

  1. Indicatorul de adresă este configurat folosind registrul TBLPAG și unul dintre registrele W.
  2. Conținutul memoriei programului Flash de la locația adresei poate fi citit.

 

  1. MOD CITIRE CUVINTE
    Codul prezentat în Example 2-1 și Examp2-2 arată cum să citiți un cuvânt din memoria programului Flash utilizând instrucțiunile din tabel în modul Word.MICROCHIP-PIC24-Programare-Flash- (2) MICROCHIP-PIC24-Programare-Flash- (3)
  2. MODUL CITIRE BYTE
    Codul prezentat în ExampFileul 2-3 arată operatorul de post-increment la citirea octetului mic, ceea ce face ca adresa din registrul de lucru să crească cu unu. Aceasta setează EA[0] la un „1” pentru accesul la octetul din mijloc în a treia instrucțiune de scriere. Ultimul post-increment setează W0 înapoi la o adresă uniformă, indicând următoarea locație de memorie a programului Flash.MICROCHIP-PIC24-Programare-Flash- (4)
  3. DISTRIBUȚII DE SCRIERE DE MESA
    Instrucțiunile de scriere în tabel nu scriu direct în memoria programului nevolatil. În schimb, instrucțiunile de scriere din tabel încarcă zăvoare de scriere care stochează datele de scriere. Registrele de adrese NVM trebuie să fie încărcate cu prima adresă la care ar trebui să fie scrise datele blocate. Când toate zăvoarele de scriere au fost încărcate, operația de programare a memoriei efectivă este pornită prin executarea unei secvențe speciale de instrucțiuni. În timpul programării, hardware-ul transferă datele din zăvoarele de scriere în memoria Flash. Blocurile de scriere încep întotdeauna la adresa 0xFA0000 și se extind prin 0xFA0002 pentru programarea cuvintelor sau prin 0xFA00FE pentru dispozitivele care au programare în rânduri.

Nota: Numărul de zăvoare de scriere variază în funcție de dispozitiv. Consultați capitolul „Memoria programului flash” din fișa cu date specifice dispozitivului pentru numărul de dispozitive de blocare de scriere disponibile.

REGISTRE DE CONTROL

Mai multe registre cu funcții speciale (SFR) sunt utilizate pentru a programa operațiunile de ștergere și scriere a memoriei programului Flash: NVMCON, NVMKEY și registrele de adrese NVM, NVMADR și NVMADRU.

Registrul NVMCON
Registrul NVMCON este registrul de control principal pentru operațiunile Flash și program/ștergere. Acest registru selectează dacă va fi efectuată o operație de ștergere sau de program și poate începe programul sau ciclul de ștergere. Registrul NVMCON este afișat în Registrul 3-1. Octetul inferior al NVMCON configurează tipul de operație NVM care va fi efectuată.

Înregistrare NVMKEY
Registrul NVMKEY (a se vedea Registrul 3-4) este un registru de numai scriere utilizat pentru a preveni scrierile accidentale ale NVMCON care pot deteriora memoria Flash. Odată deblocat, scrierile către NVMCON sunt permise pentru un ciclu de instrucțiuni în care bitul WR poate fi setat să invoce o rutină de ștergere sau de program. Având în vedere cerințele de sincronizare, este necesară dezactivarea întreruperilor.
Efectuați următorii pași pentru a începe o secvență de ștergere sau de programare:

  1. Dezactivați întreruperile.
  2. Scrieți 0x55 în NVMKEY.
  3. Scrieți 0xAA în NVMKEY.
  4. Începeți ciclul de scriere de programare setând bitul WR (NVMCON[15]).
  5. Executați două instrucțiuni NOP.
  6. Restabiliți întreruperile.

MICROCHIP-PIC24-Programare-Flash- (5)

DEZACTIVAREA ÎNTRERUPERELOR
Dezactivarea întreruperilor este necesară pentru toate operațiunile Flash pentru a asigura un rezultat de succes. Dacă apare o întrerupere în timpul secvenței de deblocare a NVMKEY, aceasta poate bloca scrierea în bitul WR. Secvența de deblocare NVMKEY trebuie să fie executată fără întrerupere, așa cum este discutat în Secțiunea 3.2 „Registrul NVMKEY”.

Întreruperile pot fi dezactivate într-una din două metode, prin dezactivarea Global Interrupt Enable (bit GIE) sau prin utilizarea instrucțiunii DISI. Instrucțiunea DISI nu este recomandată deoarece dezactivează doar întreruperile cu Prioritatea 6 sau mai mică; prin urmare, ar trebui utilizată metoda Global Interrupt Enable.

Scrierile CPU către GIE necesită două cicluri de instrucțiuni înainte de a afecta fluxul de cod. Două instrucțiuni NOP sunt necesare ulterior sau pot fi înlocuite cu orice alte instrucțiuni de lucru utile, cum ar fi încărcarea NVMKEY; acest lucru este aplicabil atât pentru operațiunile setate, cât și pentru cele clare. Trebuie avut grijă când reactivați întreruperile, astfel încât rutina vizată de NVM să nu permită întreruperi atunci când o funcție apelată anterioară le-a dezactivat din alte motive. Pentru a rezolva acest lucru în Assembly, o stivă push și pop pot fi folosite pentru a păstra starea bitului GIE. În C, o variabilă din RAM poate fi folosită pentru a stoca INTCON2 înainte de a șterge GIE. Utilizați următoarea secvență pentru a dezactiva întreruperile:

  1. Împingeți INTCON2 pe stivă.
  2. Ștergeți bitul GIE.
  3. Două NOP-uri sau scrieri către NVMKEY.
  4. Începeți ciclul de programare setând bitul WR (NVMCON[15]).
  5. Restabiliți starea GIE prin POP al INTCON2.MICROCHIP-PIC24-Programare-Flash- (6)

Registre de adrese NVM
Cele două registre de adrese NVM, NVMADRU și NVMADR, atunci când sunt concatenate, formează EA pe 24 de biți a rândului sau cuvântului selectat pentru operațiuni de programare. Registrul NVMADRU este folosit pentru a deține cei opt biți superiori ai EA, iar registrul NVMADR este folosit pentru a deține cei 16 biți inferiori ai EA. Unele dispozitive se pot referi la aceleași registre ca NVMADRL și NVMADRH. Registrele de adresă NVM ar trebui să indice întotdeauna o limită dublă a cuvântului de instrucțiune atunci când se efectuează o operație de programare a cuvântului de instrucțiune dublă, o delimitare a rândului când se efectuează o operație de programare a rândului sau o delimitare a paginii când se efectuează o operație de ștergere a paginii.

Registrul 3-1: NVMCON: Registrul de control al memoriei flashMICROCHIP-PIC24-Programare-Flash- (7) MICROCHIP-PIC24-Programare-Flash- (8)

Nota

  1. Acest bit poate fi resetat (adică, șters) numai la o resetare la pornire (POR).
  2. La ieșirea din modul Repaus, există o întârziere la pornire (TVREG) înainte ca memoria programului Flash să devină operațională. Consultați capitolul „Caracteristici electrice” din fișa tehnică a dispozitivului pentru mai multe informații.
  3. Toate celelalte combinații ale NVMOP[3:0] sunt neimplementate.
  4. Această funcționalitate nu este disponibilă pe toate dispozitivele. Consultați capitolul „Memorie program flash” din fișa cu date specifice dispozitivului pentru operațiunile disponibile.
  5. Intrarea într-un mod de economisire a energiei după executarea unei instrucțiuni PWRSAV este condiționată de finalizarea tuturor operațiunilor NVM în așteptare.
  6. Acest bit este disponibil numai pe dispozitivele care acceptă programarea rândurilor cu memorie tampon RAM. Consultați fișa tehnică specifică dispozitivului pentru disponibilitate.

MICROCHIP-PIC24-Programare-Flash- (9)

Nota

  1. Acest bit poate fi resetat (adică, șters) numai la o resetare la pornire (POR).
  2. La ieșirea din modul Repaus, există o întârziere la pornire (TVREG) înainte ca memoria programului Flash să devină operațională. Consultați capitolul „Caracteristici electrice” din fișa tehnică a dispozitivului pentru mai multe informații.
  3. Toate celelalte combinații ale NVMOP[3:0] sunt neimplementate.
  4. Această funcționalitate nu este disponibilă pe toate dispozitivele. Consultați capitolul „Memorie program flash” din fișa cu date specifice dispozitivului pentru operațiunile disponibile.
  5. Intrarea într-un mod de economisire a energiei după executarea unei instrucțiuni PWRSAV este condiționată de finalizarea tuturor operațiunilor NVM în așteptare.
  6. Acest bit este disponibil numai pe dispozitivele care acceptă programarea rândurilor cu memorie tampon RAM. Consultați fișa tehnică specifică dispozitivului pentru disponibilitate.

Registrul 3-2: NVMADRU: Registrul de adresă superioară a memoriei nevolatile

MICROCHIP-PIC24-Programare-Flash- (10)

Registrul 3-3: NVMADR: Registrul adreselor memoriei nevolatile

MICROCHIP-PIC24-Programare-Flash- (11)

Registrul 3-4: NVMKEY: Registrul cheii de memorie nevolatilă

MICROCHIP-PIC24-Programare-Flash- (12)

AUTOPROGRAMARE RUN TIME (RTSP)

RTSP permite aplicației utilizatorului să modifice conținutul memoriei programului Flash. RTSP se realizează folosind instrucțiunile TBLRD (Table Read) și TBLWT (Table Write), registrul TBLPAG și registrele de control NVM. Cu RTSP, aplicația utilizatorului poate șterge o singură pagină de memorie Flash și poate programa fie două cuvinte de instrucțiuni, fie până la 128 de cuvinte de instrucțiuni pe anumite dispozitive.

Operațiunea RTSP
Matricea de memorie Flash dsPIC33/PIC24 este organizată în pagini de ștergere care pot conține până la 1024 de instrucțiuni. Opțiunea de programare cu două cuvinte este disponibilă pentru toate dispozitivele din familiile dsPIC33/PIC24. În plus, anumite dispozitive au capacitatea de programare în rânduri, ceea ce permite programarea a până la 128 de cuvinte de instrucțiuni simultan. Operațiile de programare și ștergere au loc întotdeauna pe marginile unui cuvânt, rând sau pagină de programare dublă. Consultați capitolul „Memorie program flash” din fișa de date a dispozitivului specific pentru disponibilitatea și dimensiunile unui rând de programare și dimensiunea paginii pentru ștergere. Memoria programului Flash implementează tampoane de stocare, numite latch-uri de scriere, care pot conține până la 128 de instrucțiuni de programare a datelor, în funcție de dispozitiv. Înainte de operația de programare propriu-zisă, datele de scriere trebuie să fie încărcate în zăvoarele de scriere. Secvența de bază pentru RTSP este configurarea indicatorului de tabel, registrul TBLPAG și apoi executarea unei serii de instrucțiuni TBLWT pentru a încărca zăvoarele de scriere. Programarea se realizează prin setarea biților de control în registrul NVMCON. Numărul de instrucțiuni TBLWTL și TBLWTH necesare pentru a încărca zăvoarele de scriere este egal cu numărul de cuvinte de program care trebuie scrise.

Nota: Se recomandă ca registrul TBLPAG să fie salvat înainte de modificare și restaurat după utilizare.

ATENŢIE
Pe unele dispozitive, biții de configurare sunt stocați în ultima pagină a spațiului de memorie al utilizatorului Flash al programului într-o secțiune numită „Octeți de configurare flash”. Cu aceste dispozitive, efectuarea unei operații de ștergere a paginii pe ultima pagină a memoriei programului șterge octeții de configurare Flash, ceea ce permite protecția codului. Prin urmare, utilizatorii nu ar trebui să efectueze operații de ștergere a paginii pe ultima pagină a memoriei programului. Acest lucru nu este o problemă atunci când biții de configurare sunt stocați în spațiul de memorie de configurare într-o secțiune numită „Registre de configurare a dispozitivului”. Consultați Harta memoriei programului din capitolul „Organizarea memoriei” din fișa cu date specifice dispozitivului pentru a determina unde sunt localizați biții de configurare.

Operații de programare flash
Este necesară o operație de program sau ștergere pentru programarea sau ștergerea memoriei interne a programelor Flash în modul RTSP. Operația de programare sau ștergere este cronometrată automat de dispozitiv (consultați fișa tehnică specifică a dispozitivului pentru informații despre sincronizare). Setarea bitului WR (NVMCON[15]) începe operația. Bitul WR este șters automat când operația este terminată. CPU se blochează până la finalizarea operațiunii de programare. CPU nu va executa nicio instrucțiune și nu va răspunde la întreruperi în acest timp. Dacă apar întreruperi în timpul ciclului de programare, acestea vor rămâne în așteptare până la finalizarea ciclului. Unele dispozitive dsPIC33/PIC24 pot furniza memorie de program Flash auxiliară (consultați capitolul „Organizarea memoriei” din fișa de date a dispozitivului specific pentru detalii), care permite executarea instrucțiunilor fără blocări CPU în timp ce memoria programului Flash utilizator este ștearsă și/sau programată. Dimpotrivă, memoria de program Flash auxiliară poate fi programată fără blocări CPU, atâta timp cât codul este executat din memoria programului Flash utilizator. Întreruperea NVM poate fi utilizată pentru a indica faptul că operația de programare este finalizată.

Nota

  1. Dacă un eveniment POR sau BOR are loc în timp ce o operație de ștergere sau programare RTSP este în curs, operațiunea RTSP este întreruptă imediat. Utilizatorul ar trebui să execute din nou operația RTSP după ce dispozitivul iese din Resetare.
  2. Dacă un eveniment de resetare EXTR, SWR, WDTO, TRAPR, CM sau IOPUWR are loc în timp ce o operație de ștergere RTSP sau de programare este în curs, dispozitivul va fi resetat numai după finalizarea operațiunii RTSP.

ALGORITM DE PROGRAMARE RTSP
Această secțiune descrie programarea RTSP, care constă din trei procese majore.

Crearea unei imagini RAM a paginii de date care urmează să fie modificată
Efectuați acești doi pași pentru a crea o imagine RAM a paginii de date care trebuie modificată:

  1. Citiți pagina din memoria programului Flash și stocați-o în memoria RAM de date ca „imagine” de date. Imaginea RAM trebuie citită pornind de la granița unei adrese de pagină.
  2. Modificați imaginea datelor RAM după cum este necesar.

Stergerea memoriei programului flash
După finalizarea pașilor 1 și 2 de mai sus, efectuați următorii patru pași pentru a șterge pagina de memorie a programului Flash:

  1. Setați biții NVMOP[3:0] (NVMCON[3:0]) pentru a șterge pagina din memoria programului Flash citită de la Pasul 1.
  2. Scrieți adresa de pornire a paginii de șters în registrele NVMADRU și NMVADR.
  3. Cu întreruperile dezactivate:
    • a) Scrieți secvența de taste în registrul NVMKEY pentru a activa setarea bitului WR (NVMCON[15]).
    • b) Setați bitul WR; aceasta va începe ciclul de ștergere.
    • c) Executați două instrucțiuni NOP.
  4. Bitul WR este șters când ciclul de ștergere este complet.

Programarea paginii de memorie flash
Următoarea parte a procesului este să programați pagina de memorie Flash. Pagina de memorie flash este programată utilizând datele din imaginea creată la Pasul 1. Datele sunt transferate în blocurile de scriere în trepte fie de cuvinte duble de instrucțiuni, fie de rânduri. Toate dispozitivele au capacitate de programare a cuvintelor cu instrucțiuni duble. (Consultați capitolul „Memorie program flash” din fișa de date a dispozitivului specific pentru a determina dacă și ce tip de programare de rând este disponibilă.) După ce zăvoarele de scriere sunt încărcate, este inițiată operația de programare, care transferă datele din zăvoare de scriere în memoria flash. Acest lucru se repetă până când întreaga pagină a fost programată. Repetați următorii trei pași, începând cu primul cuvânt de instrucțiuni al paginii Flash și incrementând în pași fie cuvinte duble de program, fie rânduri de instrucțiuni, până când întreaga pagină a fost programată:

  1. Încărcați zăvoarele de scriere:
    • a) Setați registrul TBLPAG să indice locația zăvoarelor de scriere.
    • b) Încărcați numărul dorit de zăvoare folosind perechi de instrucțiuni TBLWTL și TBLWTH:
    • Pentru programarea cu două cuvinte, sunt necesare două perechi de instrucțiuni TBLWTL și TBLWTH
    • Pentru programarea rândurilor, sunt necesare o pereche de instrucțiuni TBLWTL și TBLWTH pentru fiecare element de rând de cuvânt de instrucțiune
  2. Inițiază operațiunea de programare:
    • a) Setați biții NVMOP[3:0] (NVMCON[3:0]) pentru a programa fie cuvinte de instrucțiuni duble, fie un rând de instrucțiuni, după caz.
      b) Scrieți prima adresă fie a cuvântului de instrucțiune dublu, fie a rândului de instrucțiuni care urmează să fie programată în registrele NVMADRU și NVMADR.
      c) Cu întreruperile dezactivate:
      • Scrieți secvența de taste în registrul NVMKEY pentru a activa setarea bitului WR (NVMCON[15])
      • Setați bitul WR; aceasta va începe ciclul de ștergere
      • Executați două instrucțiuni NOP
  3. Bitul WR este șters când ciclul de programare este complet.

Repetați întregul proces după cum este necesar pentru a programa cantitatea dorită de memorie de program Flash.

Nota

  1. Utilizatorul ar trebui să rețină că cantitatea minimă de memorie de program Flash care poate fi ștearsă folosind RTSP este o singură pagină ștearsă. Prin urmare, este important ca o imagine a acestor locații să fie stocată în memoria RAM de uz general înainte de a începe un ciclu de ștergere.
  2. Un rând sau un cuvânt din memoria programului Flash nu trebuie programat de mai mult de două ori înainte de a fi șters.
  3. Pe dispozitivele cu octeți de configurare stocați în ultima pagină a Flash, efectuarea unei operații de ștergere a paginii pe ultima pagină a memoriei programului șterge octeții de configurare, ceea ce permite protecția codului. Pe aceste dispozitive, ultima pagină a memoriei Flash nu trebuie ștearsă.

ȘTERGEREA O PAGINĂ DE FLASH
Secvența de cod prezentată în Example 4-1 poate fi folosit pentru a șterge o pagină din memoria programului Flash. Registrul NVMCON este configurat pentru a șterge o pagină din memoria programului. Registrele NVMADR și NMVADRU sunt încărcate cu adresa de pornire a paginii care urmează să fie ștearsă. Memoria programului trebuie ștearsă la o limită a adresei paginii „pare”. Consultați capitolul „Memoria programului Flash” din fișa de date a dispozitivului specific pentru a determina dimensiunea paginii Flash.
Operația de ștergere este inițiată prin scrierea unei deblocări speciale, sau a unei secvențe de taste, în registrul NVMKEY înainte de a seta bitul WR (NVMCON[15]). Secvența de deblocare trebuie să fie executată în ordinea exactă, așa cum se arată în Example 4-1, fără întrerupere; prin urmare, întreruperile trebuie dezactivate.
Două instrucțiuni NOP trebuie introduse în cod după ciclul de ștergere. Pe anumite dispozitive, biții de configurare sunt stocați în ultima pagină a programului Flash. Cu aceste dispozitive, efectuarea unei operații de ștergere a paginii pe ultima pagină a memoriei programului șterge octeții de configurare Flash, permițând astfel protecția codului. Utilizatorii nu trebuie să efectueze operații de ștergere a paginii pe ultima pagină a memoriei programului.MICROCHIP-PIC24-Programare-Flash- (13)MICROCHIP-PIC24-Programare-Flash- (14)

ÎNCĂRCARE LOCURI DE SCRIERE
Blocurile de scriere sunt folosite ca mecanism de stocare între aplicația utilizator Table Writes și secvența de programare reală. În timpul operațiunii de programare, dispozitivul va transfera datele din zăvoarele de scriere în memoria Flash. Pentru dispozitivele care acceptă programarea rândurilor, Examp4-3 arată secvența de instrucțiuni care poate fi folosită pentru a încărca 128 de blocare de scriere (128 de cuvinte de instrucțiuni). Sunt necesare instrucțiuni 128 TBLWTL și 128 TBLWTH pentru a încărca zăvoarele de scriere pentru programarea unui rând de memorie de program Flash. Consultați capitolul „Memorie program flash” din fișa cu date specifice dispozitivului pentru a determina numărul de zăvoare de programare disponibile pe dispozitiv. Pentru dispozitivele care nu acceptă programarea rândurilor, Examp4-4 arată secvența de instrucțiuni care poate fi folosită pentru a încărca două latch-uri de scriere (două cuvinte de instrucțiuni). Sunt necesare două instrucțiuni TBLWTL și două TBLWTH pentru a încărca zăvoarele de scriere.

Nota

  1. Codul pentru Load_Write_Latch_Row este afișat în Examp4-3 și codul pentru Load_Write_Latch_Word este afișat în Example 4-4. Codul din ambele examples este menționat în examples.
  2. Consultați fișa tehnică specifică a dispozitivului pentru numărul de zăvoare.MICROCHIP-PIC24-Programare-Flash- (15)

PROGRAMARE SINGUR RÂND EXAMPLE
Registrul NVMCON este configurat pentru a programa un rând de memorie de program Flash. Operația programului este inițiată prin scrierea unei deblocări speciale, sau a secvenței de taste, în registrul NVMKEY înainte de a seta bitul WR (NVMCON[15]). Secvența de deblocare trebuie să fie executată fără întrerupere și în ordinea exactă, așa cum se arată în Example 4-5. Prin urmare, întreruperile trebuie dezactivate înainte de a scrie secvența.

Nota: Nu toate dispozitivele au capacitate de programare în rânduri. Consultați capitolul „Memorie program flash” din fișa cu date specifice dispozitivului pentru a determina dacă această opțiune este disponibilă.

Două instrucțiuni NOP trebuie introduse în cod după ciclul de programare.MICROCHIP-PIC24-Programare-Flash- (16) MICROCHIP-PIC24-Programare-Flash- (17)

PROGRAMAREA RÂNDULUI FOLOSIND RAM-BUFFERUL
Dispozitivele selectate dsPIC33 permit programarea rândurilor să fie efectuată direct dintr-un spațiu tampon din RAM de date, mai degrabă decât să treacă prin zăvoarele de reținere pentru a transfera date cu instrucțiuni TBLWT. Locația memoriei tampon RAM este determinată de registrul(urile) NVMSRADR, care sunt încărcate cu adresa RAM de date care conține primul cuvânt de date de program care urmează să fie scris.

Înainte de a efectua operarea programului, spațiul tampon din RAM trebuie să fie încărcat cu rândul de date care urmează să fie programat. Memoria RAM poate fi încărcată fie într-un format comprimat (ambalat) sau necomprimat. Stocarea comprimată folosește un cuvânt de date pentru a stoca cei mai semnificativi octeți (MSB) a două cuvinte de date adiacente de program. Formatul necomprimat utilizează două cuvinte de date pentru fiecare cuvânt de date de program, octetul superior al fiecărui cuvânt fiind 00h. Formatul comprimat utilizează aproximativ 3/4 din spațiul RAM de date în comparație cu formatul necomprimat. Formatul necomprimat, pe de altă parte, imită structura cuvântului de date program pe 24 de biți, complet cu octetul fantomă superior. Formatul datelor este selectat de bitul RPDF (NVMCON[9]). Aceste două formate sunt prezentate în Figura 4-1.

Odată ce memoria tampon RAM este încărcată, Flash Address Pointers, NVMADR și NVMADRU, sunt încărcate cu adresa de pornire pe 24 de biți a rândului Flash care urmează să fie scris. Ca și în cazul programării zăvoarelor de scriere, procesul este inițiat prin scrierea secvenței de deblocare a NVM, urmată de setarea bitului WR. Odată inițiat, dispozitivul încarcă automat zăvoarele potrivite și crește registrele de adrese NVM până când toți octeții au fost programați. Example 4-7 arată un example-ul procesului. Dacă NVMSRCADR este setat la o valoare astfel încât să apară o condiție de eroare de subîncărcare a datelor, bitul URERR (NVMCON[8]) va fi setat pentru a indica condiția.
Dispozitivele care implementează programarea rândurilor de buffer RAM implementează, de asemenea, unul sau două blocuri de scriere. Acestea sunt încărcate folosind instrucțiunile TBLWT și sunt folosite pentru a efectua operații de programare a cuvintelor.MICROCHIP-PIC24-Programare-Flash- (18)

PROGRAMARE CUVINTE
Registrul NVMCON este configurat pentru a programa două cuvinte de instrucțiuni din memoria programului Flash. Operațiunea programului este inițiată prin scrierea unei deblocări speciale, sau a secvenței de taste, în registrul NVMKEY înainte de a seta bitul WR (NVMCON[15]). Secvența de deblocare trebuie să fie executată în ordinea exactă, așa cum se arată în Example 4-8, fără întrerupere. Prin urmare, întreruperile ar trebui să fie dezactivate înainte de a scrie secvența.
Două instrucțiuni NOP trebuie introduse în cod după ciclul de programare.MICROCHIP-PIC24-Programare-Flash- (19) MICROCHIP-PIC24-Programare-Flash- (20)

Scrierea în registrele de configurare a dispozitivului
Pe anumite dispozitive, biții de configurare sunt stocați în spațiul de memorie de configurare într-o secțiune numită „Registre de configurare a dispozitivului”. Pe alte dispozitive, biții de configurare sunt stocați în ultima pagină a spațiului de memorie al utilizatorului Flash al programului într-o secțiune numită „Octeți de configurare flash”. Cu aceste dispozitive, efectuarea unei operații de ștergere a paginii pe ultima pagină a memoriei programului șterge octeții de configurare Flash, ceea ce permite protecția codului. Prin urmare, utilizatorii nu ar trebui să efectueze operații de ștergere a paginii pe ultima pagină a memoriei programului. Consultați Harta memoriei programului din capitolul „Organizarea memoriei” din fișa cu date specifice dispozitivului pentru a determina unde sunt localizați biții de configurare.

Când biții de configurare sunt stocați în spațiul de memorie de configurare, RTSP poate fi folosit pentru a scrie în registrele de configurare ale dispozitivului, iar RTSP permite ca fiecare registru de configurare să fie rescris individual fără a efectua mai întâi un ciclu de ștergere. Trebuie avută prudență atunci când scrieți registrele de configurare, deoarece acestea controlează parametrii critici de funcționare a dispozitivului, cum ar fi sursa ceasului sistemului, activarea PLL și WDT.

Procedura de programare a unui dispozitiv Registrul de configurare este similară cu procedura de programare a memoriei programului Flash, cu excepția faptului că sunt necesare numai instrucțiuni TBLWTL. Acest lucru se datorează faptului că cei opt biți superiori din fiecare registru de configurare a dispozitivului sunt neutilizați. Mai mult, bitul 23 al adresei Table Write trebuie setat pentru a accesa registrele de configurare. Consultați „Configurarea dispozitivului” (DS70000618) din „Manualul de referință al familiei dsPIC33/PIC24” și capitolul „Caracteristici speciale” din fișa cu date specifice dispozitivului pentru o descriere completă a registrelor de configurare a dispozitivului.

Nota

  1. Scrierea pe dispozitiv Registrele de configurare nu sunt disponibile pe toate dispozitivele. Consultați capitolul „Funcții speciale” din fișa cu date specifice dispozitivului pentru a determina modurile care sunt disponibile conform definiției biților NVMOP[3:0] specifici dispozitivului.
  2. În timpul efectuării RTSP pe registrele de configurare a dispozitivului, dispozitivul trebuie să funcționeze folosind oscilatorul FRC intern (fără PLL). Dacă dispozitivul funcționează dintr-o sursă de ceas diferită, trebuie efectuată o comutare a ceasului la oscilatorul FRC intern (NOSC[2:0] = 000) înainte de a efectua operarea RTSP în registrele de configurare a dispozitivului.
  3. Dacă biții de selectare a modului oscilatorului primar (POSCMD[1:0]) din registrul de configurare a oscilatorului (FOSC) sunt reprogramați la o nouă valoare, utilizatorul trebuie să se asigure că biții modului de comutare a ceasului (FCKSM[1:0]) în registrul FOSC are o valoare programată inițială de „0”, înainte de efectuarea acestei operațiuni RTSP.

ALGORITM DE SCRIERE REGISTRUL DE CONFIGURARE
Procedura generală este următoarea:

  1. Scrieți noua valoare de configurare în dispozitivul de blocare Table Write utilizând o instrucțiune TBLWTL.
  2. Configurați NVMCON pentru o scriere a registrului de configurare (NVMCON = 0x4000).
  3. Scrieți adresa registrului de configurare care urmează să fie programat în registrele NVMADRU și NVMADR.
  4. Dezactivați întreruperile, dacă sunt activate.
  5. Scrieți secvența de taste în registrul NVMKEY.
  6. Începeți secvența de scriere setând bitul WR (NVMCON[15]).
  7. Reactivați întreruperile, dacă este necesar.

Examp4-10 arată secvența de cod care poate fi utilizată pentru a modifica un registru de configurare a dispozitivului.MICROCHIP-PIC24-Programare-Flash- (21)

HARTĂ DE ÎNREGISTRARE

Un rezumat al registrelor asociate cu Programarea Flash este furnizat în Tabelul 5-1.MICROCHIP-PIC24-Programare-Flash- (22)

NOTE DE APLICARE AFERATE

Această secțiune listează note de aplicație care sunt legate de această secțiune a manualului. Este posibil ca aceste note de aplicare să nu fie scrise special pentru familiile de produse dsPIC33/PIC24, dar conceptele sunt pertinente și pot fi utilizate cu modificări și posibile limitări. Notele actuale privind aplicația referitoare la programarea Flash sunt:

Nota: Vă rugăm să vizitați Microcipul website (www.microchip.com) pentru Note de aplicare suplimentare și codul exampfișiere pentru familiile de dispozitive dsPIC33/PIC24.

ISTORIC REVIZIILOR

Revizia A (august 2009)
Aceasta este versiunea inițială lansată a acestui document.

Revizia B (februarie 2011)
Această revizuire include următoarele actualizări:

  • Examples:
    • Eliminat Example 5-3 și Example 5-4
    • Ex. actualizatample 4-1, Example 4-5 și Example 4-10
    • Orice referințe la #WR au fost actualizate la #15 în Example 4-1, Example 4-5 și Example 4-8
    • Actualizat următoarele în Example 4-3:
  • S-a actualizat titlul „Programare cuvinte” la „Încărcare zăvoare de scriere pentru programarea rândurilor”
  • Orice referință la #ram_image a fost actualizată la #0xFA
    • Adăugat example 4-4
    • S-a actualizat titlul din Example 4-8
  • Note:
    • S-au adăugat două note în Secțiunea 4.2 „Operațiuni de programare flash”
    • S-a actualizat nota din Secțiunea 4.5.2 „Încărcarea zăvoarelor de scriere”
    • S-au adăugat trei note în Secțiunea 4.6 „Scrierea în registrele de configurare a dispozitivului”
    • S-a adăugat Nota 1 în Tabelul 5-1
  • Înregistrări:
    • S-au actualizat valorile de biți pentru NVMOP[3:0]: Selectați biți de operare NVM în registrul de control al memoriei flash (NVMCON) (consultați Registrul 3-1)
  • Secțiuni:
    • S-au eliminat secțiunile 5.2.1.4 „Modul Scriere cuvânt” și 5.2.1.5 „Modul Scriere octet”
    • Secțiunea actualizată 3.0 „Registre de control”
    • Actualizat următoarele în Secțiunea 4.5.5 „Programare de cuvinte”:
  • S-a schimbat titlul secțiunii „Programarea unui cuvânt din memorie flash” în „Programare în cuvinte”
  • Am actualizat primul paragraf
  • S-au schimbat termenii „un cuvânt” în „o pereche de cuvinte” în al doilea paragraf
    • S-a adăugat un nou Pas 1 la Secțiunea 4.6.1 „Algoritmul de scriere a registrului de configurare”
  • tabele:
    • Tabelul 5-1 actualizat
  • Câteva referințe la memoria programului au fost actualizate în memoria programului Flash
  • Alte actualizări minore, cum ar fi actualizările de limbă și formatare, au fost încorporate în document

Revizia C (iunie 2011)
Această revizuire include următoarele actualizări:

  • Examples:
    • Ex. actualizatample 4-1
    • Ex. actualizatample 4-8
  • Note:
    • S-a adăugat o notă în Secțiunea 4.1 „Operarea RTSP”
    • S-a adăugat Nota 3 în Secțiunea 4.2 „Operațiuni de programare flash”
    • S-a adăugat Nota 3 în Secțiunea 4.2.1 „Algoritmul de programare RTSP”
    • S-a adăugat o notă în Secțiunea 4.5.1 „Ștergerea unei pagini de Flash”
    • S-a adăugat Nota 2 în Secțiunea 4.5.2 „Încărcarea zăvoarelor de scriere”
  • Înregistrări:
    • S-a actualizat descrierea biților pentru biții 15-0 din registrul de adrese de memorie nevolatilă (vezi registrul 3-3)
  • Secțiuni:
    • Secțiunea 4.1 actualizată „Operarea RTSP”
    • Secțiunea actualizată 4.5.5 „Programare cuvinte”
  • Alte actualizări minore, cum ar fi actualizările de limbă și formatare, au fost încorporate în document

Revizia D (decembrie 2011)
Această revizuire include următoarele actualizări:

  • Secțiunea actualizată 2.1.3 „Locuri de scriere în tabel”
  • Secțiunea 3.2 actualizată „Registrul NVMKEY”
  • S-au actualizat notele în NVMCON: Registrul de control al memoriei flash (vezi Registrul 3-1)
  • Au fost făcute actualizări ample în secțiunea 4.0 „Auto-programare în timp de rulare (RTSP)”
  • Alte actualizări minore, cum ar fi actualizările de limbă și formatare, au fost încorporate în document

Revizia E (octombrie 2018)
Această revizuire include următoarele actualizări:

  • Adăugat example 2-2, Example 4-2, Example 4-6 și Example 4-9
  • S-a adăugat Secțiunea 4.5.4 „Programarea în rânduri folosind memoria tampon RAM”
  • Actualizate Secțiunea 1.0 „Introducere”, Secțiunea 3.3 „Registre de adrese NVM”, Secțiunea 4.0 „Auto-programare în timp de rulare (RTSP)” și Secțiunea 4.5.3 „Programare pe un singur rând Ex.amp"
  • Registrul actualizat 3-1
  • Ex. actualizatample 4-7
  • Tabelul 5-1 actualizat

Revizia F (noiembrie 2021)
A fost adăugată Secțiunea 3.2.1 „Dezactivarea întreruperilor”.
Ex. actualizatample 3-1, Example 4-1, Example 4-2, Example 4-5, Example 4-6, Example 4-7, Example 4-8, Example 4-9 și Example 4-10.
Actualizată Secțiunea 3.2 „Registrul NVMKEY”, Secțiunea 4.5.1 „Ștergerea unei pagini de Flash”, Secțiunea 4.5.3 „Programare pe un singur rând Example” și Secțiunea 4.6.1 „Algoritm de scriere registru de configurare”.

Rețineți următoarele detalii despre caracteristica de protecție a codului de pe produsele Microcip:

  • Produsele cu microcip îndeplinesc specificațiile conținute în fișa lor specială pentru microcip.
  • Microchip consideră că familia sa de produse este sigură atunci când este utilizată în modul prevăzut, în cadrul specificațiilor de funcționare și în condiții normale.
  • Microcipul apreciază și își protejează în mod agresiv drepturile de proprietate intelectuală. Încercările de încălcare a caracteristicilor de protecție prin cod ale produsului Microchip sunt strict interzise și pot încălca Digital Millennium Copyright Act.
  • Nici Microchip, nici alt producător de semiconductori nu poate garanta securitatea codului său. Protecția prin cod nu înseamnă că garantăm că produsul este „incasibil”. Protecția prin cod este în continuă evoluție. Microchip se angajează să îmbunătățească continuu caracteristicile de protecție prin cod ale produselor noastre

Această publicație și informațiile de aici pot fi utilizate numai cu produsele Microchip, inclusiv pentru a proiecta, testa și integra produsele Microchip cu aplicația dumneavoastră. Utilizarea acestor informații în orice alt mod încalcă acești termeni. Informațiile referitoare la aplicațiile dispozitivului sunt furnizate numai pentru confortul dvs. și pot fi înlocuite de actualizări. Este responsabilitatea dumneavoastră să vă asigurați că aplicația dumneavoastră corespunde specificațiilor dumneavoastră. Contactați biroul local de vânzări Microchip pentru asistență suplimentară sau obțineți asistență suplimentară la https://www.microchip.com/en-us/support/design-help/client-supportservices.

ACESTE INFORMAȚII ESTE FURNIZATE DE MICROCHIP „CA AȘA ESTE”. MICROCHIP NU OFERĂ DECLARAȚII SAU GARANȚII DE NICIUN FEL, EXPRESE SAU IMPLICITE, SCRIS SAU ORALE, STATUTARE SAU DE ALTE ALTE, LEGATE DE INFORMAȚII, INCLUSIV, DAR FĂRĂ A SE LIMITA LA ORICE GARANȚII IMPLICITE DE NEÎNCĂLCARE, GARANTIE ȘI GARANTIE DE COMERCIABILITATE, GARANTIE PENTRU GARANTIE, GARANTIE, GARANTIE ȘI GARANTIE. ATED TO STAREA, CALITATEA SAU PERFORMANȚA SA. MICROCHIP NU VA FI RESPONSABIL ÎN NICIUN CAZ PENTRU PIERDERI INDIRECTE, SPECIALE, PUNITIVE, INCIDENTALE SAU CONSECUȚIONALE, DAUNE, COST SAU CHELTUIELI DE NICIUN FEL LEGATE DE INFORMAȚII SAU DE UTILIZAREA ACESTELOR, ORICARE CAUZATE, CHIAR DACĂ FUN ASPECT. POSIBILITATEA SAU DAUNEI SUNT PREVIZIBILE. ÎN MĂSURA TOTALĂ PERMISĂ DE LEGE, RESPONSABILITATEA TOTALĂ A MICROCHIP PENTRU TOATE RECLAMAȚIILE ÎN ORICE MOD LEGATE DE INFORMAȚII SAU DE UTILIZAREA EI NU VA DEPĂȘI SUMA TAXEI PE CARE LE-AȚI PLATIT DIRECT LA MICROCHIP PENTRU INFORMAȚII, DACĂ CARE ESTE.

Utilizarea dispozitivelor Microcip în aplicații de susținere a vieții și/sau de siguranță este în întregime pe riscul cumpărătorului, iar cumpărătorul este de acord să apere, să despăgubească și să țină inofensiv Microcipul de orice daune, pretenții, procese sau cheltuieli care rezultă dintr-o astfel de utilizare. Nicio licență nu este transmisă, implicit sau în alt mod, în baza niciunui drept de proprietate intelectuală Microchip, cu excepția cazului în care se specifică altfel.

Pentru informații despre sistemele de management al calității Microchip, vă rugăm să vizitați www.microchip.com/quality.

Mărci comerciale

Numele și sigla Microcipului, sigla Microcipului, Adaptec, AnyRate, AVR, sigla AVR, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheckSty, LinkMDs, maXlu maXTouch, MediaLB, megaAVR, Microsemi, sigla Microsemi, sigla MOST, MOST, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, sigla PIC32, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST Logo, SuperFlash , Symmetricom, SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron și XMEGA sunt mărci comerciale înregistrate ale Microchip Technology Incorporated în SUA și în alte țări. 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, logo-ul ProASIC Plus, Quiet- Wire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime, WinPath și ZL sunt mărci comerciale înregistrate ale Microchip Technology Incorporated în SUA

Suprimarea tastelor adiacente, AKS, Analog-for-the-Digital Age, Any Capacitor, AnyIn, AnyOut, Augmented Switching, BlueSky, BodyCom, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM.net, Dynamic Average Matching, DAM , ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, Programare serială în circuit, ICSP, INICnet, Paralela inteligentă, Conectivitate între cipuri, JitterBlocker, Knob-on-Display, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, sigla MPLAB Certified, MPLIB, MPLINK, MultiTRAK, NetDetach, NVM Express, NVMe, Omniscient Code Generation, PICDEM, PICDEM.net, PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REALICE , 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 și ZENA sunt mărci comerciale ale Microchip Technology Incorporated în SUA și în alte țări.

SQTP este o marcă de serviciu a Microchip Technology Incorporated din SUA
Sigla Adaptec, Frequency on Demand, Silicon Storage Technology, Symmcom și Trusted Time sunt mărci comerciale înregistrate ale Microchip Technology Inc. în alte țări.
GestIC este o marcă înregistrată a Microchip Technology Germany II GmbH & Co. KG, o subsidiară a Microchip Technology Inc., în alte țări.
Toate celelalte mărci comerciale menționate aici sunt proprietatea companiilor respective.
© 2009-2021, Microchip Technology Incorporated și filialele sale.
Toate drepturile rezervate.
ISBN: 978-1-5224-9314-3

Vânzări și service la nivel mondial

AMERICII

ASIA/PACIFIC

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

EUROPA

  • Austria – Wels
    Tel: 43-7242-2244-39
    Fax: 43-7242-2244-393
  • Danemarca – Copenhaga
    Tel: 45-4485-5910
    Fax: 45-4485-2829
  • Finlanda – Espoo
    Tel: 358-9-4520-820
  • Franța – Paris
    Tel: 33-1-69-53-63-20
    Fax: 33-1-69-30-90-79
  • Germania – Garching
    Tel: 49-8931-9700
  • Germania – Haan
    Tel: 49-2129-3766400
  • Germania – Heilbronn
    Tel: 49-7131-72400
  • Germania – Karlsruhe
    Tel: 49-721-625370
  • Germania – Munchen
    Tel: 49-89-627-144-0
    Fax: 49-89-627-144-44
  • Germania – Rosenheim
    Tel: 49-8031-354-560
  • Italia – Milano
    Tel: 39-0331-742611
    Fax: 39-0331-466781
  • Italia – Padova
    Tel: 39-049-7625286
  • Olanda – Drunen
    Tel: 31-416-690399
    Fax: 31-416-690340
  • Norvegia – Trondheim
    Tel: 47-7288-4388
  • Polonia – Varșovia
    Tel: 48-22-3325737
  • România – București
    Tel: 40-21-407-87-50
  • Spania – Madrid
    Tel: 34-91-708-08-90
    Fax: 34-91-708-08-91
  • Suedia – Gothenberg
    Tel: 46-31-704-60-40
  • Suedia – Stockholm
    Tel: 46-8-5090-4654
  • Marea Britanie – Wokingham
    Tel: 44-118-921-5800
    Fax: 44-118-921-5820

Nota:

Această secțiune a manualului de referință pentru familie este menită să servească ca o completare a fișelor de date ale dispozitivului. În funcție de varianta dispozitivului, este posibil ca această secțiune a manualului să nu se aplice tuturor dispozitivelor dsPIC33/PIC24. Vă rugăm să consultați nota de la începutul capitolului „Memorie program flash” din fișa curentă a dispozitivului pentru a verifica dacă acest document acceptă dispozitivul pe care îl utilizați.
Fișele tehnice ale dispozitivului și secțiunile manuale de referință pentru familie sunt disponibile pentru descărcare de pe Microcip Worldwide Website la: http://www.microchip.com.

Documente/Resurse

Programare MICROCHIP PIC24 Flash [pdfGhid de utilizare
PIC24 Programare Flash, PIC24, Programare Flash, Programare
Programare MICROCHIP PIC24 Flash [pdfGhid de utilizare
PIC24 Programare Flash, PIC24, Programare Flash

Referințe

Lasă un comentariu

Adresa ta de e-mail nu va fi publicată. Câmpurile obligatorii sunt marcate *