Sari la conținut
ELFORUM - Forumul electronistilor

Cum programez Atmel cu MPLAB si PICKIT ?


Vizitator

Postări Recomandate

Salut, Am incercat si eu sa conectez PICKIT2 la un AVR prin intermediul BASCOM-ului. Dar nu am reusit. Daca stie cineva sa-mi explice cum se seteaza cele doua programe, com0com si PIC2AVRISP, ca sa mearga cu BASCOM, il rog sa ne explice la toti aici.Daca se poate cu ceva "print-screen-uri". Multumesc anticipat.Ovidiu.

Link spre comentariu
  • Răspunsuri 54
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • nico_2010

    6

  • Liviu M

    5

  • one

    5

  • vldc

    2

Top autori în acest subiect

Imagini postate

Când am instalat mi-am notat pentru mine paşii, ca să nu pierd timpul descoperind roata de fiecare dată.

1. Install com0com without creating any com ports pair2. Start - All Programs - com0com - Setup Command Prompt3. Type at the promt command>	list	busynames COM?*4. Choose 2 free ports numbers x and y and type at the promt command>	install PortName=COMx PortName=COMy5. When autodetect hardware ask (twice), check	No, not this time	Install the software automatically (Recomended)6. Type at the promt command>	list7. Start PK2AVRISP.exe and KEEP THIS WINDOW OPEN8. Choose one of the ports created before9. In AVR Studio 4 go to	Connect -> Add STK500
În română, cu câteva explicaţii adăugate, ar suna cam aşa:

1. Instalează com0com FĂRĂ să creezi o pereche de porturi (debifezi)2. In Windows, dai Start - All Programs - com0com - Setup Command Prompt3. În fererastra care s-a deschis la punctul 2 scrie următoarele comenzi:	list(ar trebui să nu listeze nimic, doar promptul "command>")	busynames COM?*(asta iţi dă o listă cu toate porturile deja ocupate, tu trebuie să alegi la punctul 4 două porturi care NU sunt listate aici)4. Alege 2 porturi COMx si COMy care sunt libere (nelistate, să zicem COM3 şi COM4) şi scrie comanda:	install PortName=COM3 PortName=COM45. Dacă totul a mers bine Windows-ul va detecta noile porturi COM3 şi COM4 proaspăt create şi va începe automat instalarea driver-elor. Când se deschide automat fereastra de Windows care cere driver-ul, dă-i pentru fiecare port nou creat	"No, not this time"	"Install the software automatically (Recomended)"6. După instalarea driver-elor, pentru verificare, în fererastra care s-a deschis la punctul 2 scrie următoarele comenzi:	list	busynames COM?*(ar trebui să vezi, printre altele, şi porturile nou create, în exemplul nostru COM3 şi COM4)Dacă totul e în regulă, poţi închide fereastra com0com. Instalarea com0com s-a terminat.7. Dublu click (start) pe PK2AVRISP.exe şi ŢINE FEREASTRA "PK2AVRISP" DESCHISĂ TOT TIMPUL CÂT LUCREZI CU PICKIT-ul8. In fereastra PK2AVRISP alege COM4.Mai departe, cum se setează BASCOM.Deschide BASCOM şi mergi la Options - Programmer şi alegi STK500 native driver, apoi COM3, apoi OK.Odată făcute setările se foloseşte aşa:-Porneşti PK2AVRISP.exe, alegi COM4 şi laşi fereastra deschisă.-Porneşti BASCOM, scrii programul, îl compilezi (cu F7) şi apoi scrii microcontrolerul (cu F4)
Mai multe explicaţii, corespondenţa pinilor (ca să îţi faci cablul adaptor PICkit 2 -> AVR), programul PK2AVRISP.exe şi link-ul de unde să iei com0com le găseşti la http://pickit2.isgreat.org/, doar că sunt în engleză.

 

Mi-ar lua prea mult timp să fac un tutorial cu poze. Dacă nu îţi iese, spune la ce punct ai rămas şi ce erori dă.

La mine merge pe Windows XP SP3 atât cu BASCOM 1.11.9.8 căt şi cu AVR Studio 4.

 

Cu AVR Studio 5 nu am reuşit să-l fac să meargă, dă următoarea eroare:

http://i39.tinypic.com/25z44ed.jpg

Dacă ştie cineva cum să facă AVR Studio 5 să meargă cu PICkit 2, ar fi de mare folos.

Link spre comentariu

Salut si multumesc de raspuns.Am facut exact ce mi-ai zis.LED-ul "busy" de la PICKIT2 Clona clipeste incontinuu iar mesajele pe care mi le da BASCOM indica eroare de conectare. Am incercat pe un Atmega 164 care merge pe USBASP. Conexiunile la mufa le-am verificat de doua ori sa ma conving ca nu am gresit. Ce poate fi? Orice sfat e bine-venit. Multumesc.

post-14595-139829417307_thumb.png

post-14595-139829417308_thumb.png

post-14595-13982941731_thumb.png

post-14595-139829417314_thumb.png

Link spre comentariu

Din poza 1 reiese ca s-a instalat com0com iar porturile virtuale com3 si com4 au fost create.

com0com nu este altceva decât un cablu virtual pentru perechea de porturi nou creată, com3-com4. Asta înseamnă că tot ce se trimite pe com3 ajunge la com4 şi invers.

 

Ca să verifici dacă funcţionează com0com, deschide două ferestre de tip Terminal (deschizi accelaşi program de două ori). Eu folosesc de obicei Tera Term dar ar trebui să meargă testat cu orice program similar cum ar fi Realterm, Docklight sau chiar cu cel inclus în Windows, numit Hyper Terminal.

 

Conectezi un Tera Term la com3 şi celălalt Tera Term la com4. Literele scrise de la tastatură în fereastra unuia trebuie să apară în fereastra celuilalt şi invers. Dacă se întâmplă aşa înseamnă ca bridge-ul intre com3 şi com4 funcţionează. Închide cele două programe Terminal.

 

----------------------------

 

În poza 2 se vede că PK2AVRISP recunoaşte un PICkit cu firmware v2.32.0, exact aşa arată şi la mine. Singura diferenţă este că al meu e fabricat de Microchip, nu e clonă. Sper că schema este aceeaşi ca la programatorul original, teoretic ar trebui să meargă.

 

Ca să verifici puţin şi PK2AVRISP fă aşa:

- deconectezi microcontrolerul

- cu cablul USB băgat în PICkit2, porneşti PK2AVRISP, alegi com4

- când apeşi butoanele VDD ON şi VDD OFF se aprinde şi se stinge LED-ul Target. Busy rămâne stins.

- cu PK2AVRISP pornit, porneşte şi PICkit 2 v2.61, adică softul de la Microchip.

- în PICkit 2 v2.61 setează VDD PICkit 2 la 5.0V

- când bifezi/debifezi On trebuie să se aprindă/stingă LED-ul Target. Masurând cu un voltmetru trebuie să ai aproape 5V pe pinul 2 (Vdd Target) atunci când LED-ul Target e aprins.

- după verificarea celor 5V lasă-l setat la 5.0V, nu la mai puţin (sper că şi ATMEGA164 al tău merge tot la 5V), cu On şi /MCLR nebifat

 

PICkit 2 v2.61 poţi să-l închizi dacă vrei, nu contează, dar e foarte important să NU închizi PK2AVRISP pentru că fluxul de date e în felul următor:

-BASCOM-ul comunică pe com3

-com0com preia tot ce vine de la com3 şi dă mai departe la com4

-ce vine de la com4 intră în PK2AVRISP

-PK2AVRISP primeşte ce vine pe com4, decodifică şi transformă totul în comenzi inteligibile pentru PICkit2, comenzi pe care le trimite pe USB către programator

----------------------------

 

La poza 3 setările mele in tab-ul Programmer din fereastra BASCOM-AVR Options nu au nimic bifat. În rest corespund. Debifează Program After Compile, Auto Flash şi AutoVerify pe urmă dă-i OK. Poţi să le pui la loc după ce terminăm depanarea.

 

Inainte de a face probe, mai rămâne de stabilit de unde se alimentează microcontrolerul în timpul programării. La mine alimentarea se face din VDD (pin 2) de la PICkit2 iar montajul consumă foarte puţin. Mai e important şi să nu ai în montaj consumatori care să şunteze sau să strice forma semnalelor pe pinii MOSI, MISO, CLK, RESET, scrie pe undeva prin datasheet care sunt recomandările.

 

Observ acum că in pagina http://pickit2.isgreat.org/ sunt nişte rezistenţe de 10k ?!? prin care atăt pinul PC6 cât şi PB2 ?!? sunt legaţi la pinul 1 de la PICkit2. La mine NU există nicio rezistenţă iar legăturile sunt în felul urmator:

- PIN 1 de la PICkit2 merge direct la PIN-ul numit RESET in microcontroler

- PIN 2 de la PICkit2 merge direct la PIN-ul numit VCC in microcontroler

- PIN 3 de la PICkit2 merge direct la PIN-ul numit GND in microcontroler

- PIN 4 de la PICkit2 merge direct la PIN-ul numit MISO in microcontroler

- PIN 5 de la PICkit2 merge direct la PIN-ul numit SCK in microcontroler

- PIN 6 de la PICkit2 merge direct la PIN-ul numit MOSI in microcontroler

 

Dacă alimentezi extern montajul atunci PIN 2 de la PICkit2 nu se mai leagă deloc la PIN-ul numit VCC in microcontroler.

 

In timpul programării, la mine se aprind atăt LED-ul Target cât şi Busy.

 

----------------------------

 

Am ajuns la ultima probă.

-Se ia un program .bas, se compilează şi apoi se apasă F4. Până aici LED-urile Target şi Busy rămân stinse.

Posted Image

 

-Se deschide meniul Chip -> Identify din fereastra programatorului STK500. LED-urile Target şi Busy se aprind 1-2 secunde şi în textbox-ul Chip apare denumirea integratului iar în dreptul lui Flash size si EEPROM size apar cifrele corespunzătoare modelului de integrat.

Posted Image

 

-Mai departe ar trebui să se poată scrie, citi şi verifica. Mai întâi încearcă-le pe rând, de mână.

 

 

Faptul că la tine clipeşte Busy mă face să cred că setările com0com şi com3 com4 funcţionează.

Dacă tot nu merge, ultima probă ar fi să pui microcontrolerul într-un soclu, fără niciun montaj, legat direct la PICkit2.

Link spre comentariu
  • 4 ani mai târziu...
Vizitator dimmache

Migrez de la Microchip. Am inteles ca se poate cumva programa Atmel cu PICKIT.

 

Problema este ca eu folosesc PICKIT doar cu MPLAB.

 

Cum as putea programa un Atmel. Un Attiny45.

Link spre comentariu
Vizitator dimmache

Nu prea e nimeni interesat de o astfel de discutii. Probabil mai toti au programatoare Atmel.

 

Eu sunt incepator si ar fi trebuit sa imi spuneti cum sa leg firele spre Attiny

Link spre comentariu

Pai o varianta ar fi sa vorbesti cu baietii de la uChip sa iti dea sursele compilatorului lor, il rescrii si probabil atunci o sa mearga si cu ce atmel doresti.

Ah... am uitat, cred ca nu o sa le primesti devreme ce nu lucrezi la ei.

Link spre comentariu

Migrez de la Microchip. Am inteles ca se poate cumva programa Atmel cu PICKIT.

 

Problema este ca eu folosesc PICKIT doar cu MPLAB.

 

Cum as putea programa un Atmel. Un Attiny45.

Nu merge, fiecare cu "mamica" lui. :26

Link spre comentariu

Atmel este Microchip de ceva vreme. Asa ca nu faci decat sa te invarti in jurul cozii :).Nu mai bine cumperi un Usbasp de pe Internet? Cred ca costa mai putin decat ceea ce vrei tu sa faci.LE: PK2AVRISP, Google stie ceva.

Link spre comentariu
Vizitator dimmache

Ma surprinde putin raspunsul vostru.

Deoarece pe NET este destul de mult despre Atmel cu Pickit2.

Numai ca am spus ca salvez timp mergand pe ceva care voua v-a mers.

 

Dar sa o luam de la capat--

https://hackaday.io/project/7061-microchips-pickit-2-as-an-atmel-stk500-programmer

 

Imi va lua ceva timp pana citesc si testez.

 

aici----

http://technostuff.blogspot.ro/2014/10/using-pickit2-programmer-to-program.html

scrie de

 

avrdude ca si cum ai spune avr fraiere, am crezut initial ca e o gluma, dar observ ca nu.

Link spre comentariu

Pentru 20-25 de lei cat e un usbasp...chiar merita batai de cap inutile? Pe langa asta ce te faci de definitiile chipurilor? De protocoalele de comunicare cu MCU-ul si sau alte hw-uri?

Eu zic sa iei frumos un USBASP, AVR Studio sau Bascom AVR si sa nu irosesti timpul cu o astfel de improvizatie care poate rezulta in a strica  mai multe IC-uri decat sa programezi!!!!!

Link spre comentariu

Ma surprinde putin raspunsul vostru.

Deoarece pe NET este destul de mult despre Atmel cu Pickit2.

Numai ca am spus ca salvez timp mergand pe ceva care voua v-a mers.

 

Salvezi mai mult timp alegand varianta de USBasp si unul din softurile mentionate deja, inclusiv avr"fraiere" (asta sigur merge, fara experimente - unele triste si mancatoare de nervi).

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări