Jump to content
ELFORUM - Forumul electronistilor

Cum programez Atmel cu MPLAB si PICKIT ?


Guest
 Share

Recommended Posts

Am un programator pe USB pt PIC-uri, PICkit 2. E facut chiar de Microchip. Pana acum a mers foarte bine.

 

Mi-ar fi placut sa pot folosi acelasi programator, PICkit 2, si pentru AVR-urile de la Atmel, in special cele din seria ATmega.

 

L-am torturat pe Gogu vreo 2 ore si mi-a turnat numai prostii...

 

A experimentat/vazut/auzit cineva de vreun soft si/sau metoda prin care sa poata fi folosit programatorul PICkit 2 pentru programarea AVR-urilor ?

 

L-am torturat pe Gogu vreo 2 ore si mi-a turnat numai prostii... :smt102

Link to comment
Share on other sites

  • Replies 54
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Dar decat sa te complici sa adaptezi e schemna aia simpla de stk200 pe portul LPT. Integratul e un buffer costa cam 1.5 RON un rezistor un condensator si o mufa tata LPT cred ca pana in 3lei e totul. Singurul dezavantaj e alimentare externa.Dar daca folosesti un Atmel care functioneaza si la 3.3Volti merge perfect fara alimentare.Schema mai jos

Link to comment
Share on other sites

  • 1 month later...

Am un programator pe USB pt PIC-uri, PICkit 2. E facut chiar de Microchip. Pana acum a mers foarte bine.

 

Mi-ar fi placut sa pot folosi acelasi programator, PICkit 2, si pentru AVR-urile de la Atmel, in special cele din seria ATmega.

 

L-am torturat pe Gogu vreo 2 ore si mi-a turnat numai prostii...

 

A experimentat/vazut/auzit cineva de vreun soft si/sau metoda prin care sa poata fi folosit programatorul PICkit 2 pentru programarea AVR-urilor ?

 

L-am torturat pe Gogu vreo 2 ore si mi-a turnat numai prostii... :smt102

Putin probabil sa gasesti ceva... in primul rand ca instructiunile si felul scrierii mcu-ului sunt total diferite in cele doua cazuri,protocoalele se subintelege ca sunt diferite! Avr-urile se programeaza pe 4 "fire" iar picurile pe 3 "fire" unul fiind read/writesi in general sunt putini cei care lucreaza pe ambele mcu... majoritatea au ales ORI avr ORI pic !!! Pe pagina http://costy35.3x.ro/attiny13.htm vei gasi un programator simplu pe paralela care functioneaza bine si nu are decat doua rezistente,uitate pe pagina pentru detalii.
Link to comment
Share on other sites

Avr-urile se programeaza pe 4 "fire" iar picurile pe 3 "fire" Daca te uiti pe schema PICkit2, vezi ca e un pin(ultimul) nefolosit la conectorul de programare care se poate folosi in alte scopuri :d Nu stiu cum se programeaza AVR-urile dar cred ca e posibil sa le programezi cu PICkit2, daca stii sa-i modifici softul,. Oricum, nu e o chestie usoara...

Link to comment
Share on other sites

  • 3 years later...

Eu as da foc pick kitului daca ar mege programate atmeluri cu el urasc tot ce poarta sigla Microchip pe el nici macar sa nu aud asa ca tare mult m-as bucura sa nu mearga. Ar fi chiar fraieri sa foloseasca acelasi protocol astfel pierzand foarte multi bani pe partea de programatoare.

Link to comment
Share on other sites

Am reusit sa programez atmega32 cu picki2 folosind metoda din link.Multumesc

ai scris un hex de 20-30KB ? cat dureaza ?eu am programat cu succes un attiny26L, dar mi-a creat impresia ca la flashuri mai mari voi cam avea de asteptat, la 2K nu e problema.
Link to comment
Share on other sites

  • 2 months later...

Foarte ingenioasa solutia, multumesc costy35 ca ai facut-o cunoscuta. Dau o bere!

:101

 

Cu prima ocazie cand am timp de teste pun rezultatrele aici..

Link to comment
Share on other sites

  • 2 weeks later...

Am reusit sa programez ATMega8 cu Pickit2 . Dar merge doar pe Windows XP. Si merge foarte bine, nu am avut probleme. Am testat cu 2 controller-e ATMega8(altele nu am).Am incercat si pe Vista x64 si nu merge corect programarea memoriei flash(cred). Problema pare a fi din driver-ul de USB din Vista.Practic chipul este vazut, pot citi si scrie bitii de configurare(fuse), pot sterge memoria(blank) flash si eepron, pot citi si scrie eeprom-ul fara probleme, pot scrie flash-ul dar imi da eroare la verificare. Nu stiu daca este din cauza citirii sau a scrierii. Cert este ca imi da mereu eroare la aceeasi adresa (0x18). Am facut cateva zeci de incercari , poate chiar sute , am folosit pentru scriere avrdude (ultima versiune, 5.10 parca, impreuna cu SinaProg), CodeVision , AVRStudio si toate mi-au dat eroare. Din aceste sute de incercari a functionat corect scrierea doar de vreo 3-4 ori insa nu am reusit sa-mi dau seama de ce a mers si care au fost conditiile. Daca cineva a reusit sa scrie pe Vista x64 il rog sa posteze aici solutia ...Din cate am citit pe net se pare ca aceasta problema exista si pe Win7 x64 (eu nu am testat).

Link to comment
Share on other sites

Guest keller946

Din cate am citit pe net se pare ca aceasta problema exista si pe Win7 x64 (eu nu am testat).

Din păcate nu merge pe x64 pentru că nu sunt încă driverele dezvoltate corespunzător. Încearca pe o platforma x32, Cred că o să meargă.
Link to comment
Share on other sites

Din ce am citit pe net se pare ca anumite functionalitati (existente in XP) ale USB-ului nu mai sunt suportate pe Vista si Win 7 indiferent de numarul de biti pe care ruleaza. Banuiesc ca solutia ar fi ca aplicatia care face translatia comenzilor AVR in cele pentru PICKit sa fie modificata pentru a putea functiona corect sub Vista. Am mai gasit posturi pe alte forumuri in care toti acuza acelasi mod defectuos ce apare la scrierea microcontroller-ului. Poate cine stie, se indura autorul aplicatiei sa o modifice sa functioneze cum trebuie si pe Vista.

Link to comment
Share on other sites

  • 1 month later...

Foarte ingenioasa solutia, multumesc costy35 ca ai facut-o cunoscuta. Dau o bere!

:101

 

Cu prima ocazie cand am timp de teste pun rezultatrele aici..

Scuze, vroiam sa spun:

Foarte ingenioasa solutia, multumesc kcsoft ca ai facut-o cunoscuta.

 

Am incercat PICkit 2 cu ATtiny13 si a mers dar cu unele observatii:

 

-in BASCOM-AVR v1.11.9.1 merge fara probleme cu programatorul setat ca STK500 sau STK500 extended. Recomand setarea pe STK500 extended pentru ca se deschide o fereastra separata in care se face programarea si poti vedea rezultatul. La STK500 simplu se deschide doar o fereastra (promt de MS-DOS) care se inchide automat dupa programare si nu prea apuci sa vezi daca operatia s-a incheiat cu succes.

 

-in AVR Studio v4.18.716 si AVR-GCC v3.0.0.240 la inceput nu a mers nici pe STK500 nici pe AVRISP. Scria ceva dar la verificare zicea ca a gasit altceva decat ar fi trebuit la diferite adrese. :sparge:

Mi-a luat o zi de bajbaiala tot schimband versiuni de softuri si drivere pana sa ma prind ce se intampla:

In AVR Studio setarile implicite (niste bife in fereastra de programare) duc la urmatoarea secventa de programare:

1. Erase Chip

2. Program

3. Read

4. Verify

Observatia mea este ca daca secventele 1-4 de mai sus se fac una dupa alta, fara pauza, atunci microcontroller-ul e scris cu erori. Daca execut mai intai doar secventa 1, fac pauza si apoi secventa 2...4 totul merge impecabil.. Ca un workaround, ca sa programez cu un singur click (ma rog, 2 click-uri) am facut urmatoarele setari. Mai intai se face conectarea la programator ca fiind AVRISP sau STK500. Merge cu oricare. In fereastra care se deschide se seteaza urmatoarele:

1. In tab-ul Program se debifeaza casuta Erase device before flash programming

2. In tab-ul Auto se scot toate bifele si se bifeaza doar 3 casute: -Erase device, -Check signature si -Enable fuse warnings

3. Mai departe minimizam (nu inchidem) fereastra numita STK500 with top module...

Pentru a programa se apasa din toolbar mai intai butonul Start Auto Programming si apoi butonul Write Flash Memory Using Current Settings. Cu setarile de mai sus prima apasare face doar stergerea iar a doua apasare face scrierea si verificarea. Ideea este sa se faca pauza intre stergere si programare. Daca se fac imediat una dupa alta nu merge. Timpul intre apasarea celor 2 butoane e o pauza suficient de lunga ca totul sa mearga OK. Probabil cateva zeci/sute de milisecunde sunt suficiente.

 

Am impresia ca autorul este chiar kcsoft. Daca am dreptate il rog sa bage in PK2AVRISP.exe un delay care sa vina automat dupa orice comanda Erase Device sau sa gaseasca un alt fix. Probabil din aceeasi cauza face figuri si pe unele procesoare cu mai multe core-uri, cum au patit cativa. PC-ul meu e un AMD Athlon 2000+ cu win XP Pro si SP3.

 

Foarte utila si ingenioasa metoda de a programa ATMEL-uri folosind un PICkit2, de mult imi doream asa ceva, multumesc celui care a implementat-o.

Link to comment
Share on other sites

  • 1 year later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share




×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.Terms of Use si Guidelines