INHOUDSOPGAWE:

Hoe om 'n Raspberry Pi se GPIO-penne en Avrdude te gebruik om DIMP 2 of DA PIMP 2 van Bit-bang te program: 9 stappe
Hoe om 'n Raspberry Pi se GPIO-penne en Avrdude te gebruik om DIMP 2 of DA PIMP 2 van Bit-bang te program: 9 stappe

Video: Hoe om 'n Raspberry Pi se GPIO-penne en Avrdude te gebruik om DIMP 2 of DA PIMP 2 van Bit-bang te program: 9 stappe

Video: Hoe om 'n Raspberry Pi se GPIO-penne en Avrdude te gebruik om DIMP 2 of DA PIMP 2 van Bit-bang te program: 9 stappe
Video: Master GPIO with Raspberry Pi Pico & MicroPython - Uncover the Secrets! 2024, Julie
Anonim
Hoe om 'n Raspberry Pi se GPIO-penne en Avrdude te gebruik vir Bit-bang-program DIMP 2 of DA PIMP 2
Hoe om 'n Raspberry Pi se GPIO-penne en Avrdude te gebruik vir Bit-bang-program DIMP 2 of DA PIMP 2

Dit is stap-vir-stap instruksies oor hoe u 'n Raspberry Pi en die gratis open-source opdrag avrdude kan gebruik om 'n DIMP 2 of DA PIMP 2. 'n bietjie te programmeer. Ek neem aan dat u vertroud is met u Raspberry Pi en die LINUX bevelreël. U hoef nie bekend te wees met AVR -chipprogrammering nie, maar dit help as iets verkeerd loop, want u kan die uitset van avrdude lees en 'n idee hê van wat u moet doen.

Hierdie prosedure behoort die eerste keer ongeveer 1 uur te duur en elke keer daarna 5 tot 10 minute.

Jy sal nodig hê:

1) 'n Framboos Pi met GPIO -penne en kragtoevoer. Ek gebruik 'n Raspberry Pi Zero W met GPIO -penne gesoldeer. Die bedryfstelsel moet Raspberry Pi OS (voorheen Raspbian) wees. Ek gebruik Raspbian Lite (Stretch), wat nogal oud is. Hierdie opdragte behoort nog steeds te werk op die nuutste weergawe van Raspberry Pi OS.

In die toekoms sal ek na die Raspberry Pi verwys as "RPi."

2) Trui van vrou tot vrou. Kry een van elk van hierdie kleure: rooi, swart, blou, geel, groen, pers. Ek gebruik bruin in plaas van pers.

3) 'n DIMP 2 of DA PIMP 2 met die opsionele 10-pins ICSP-kopstuk wat gesoldeer is. Ek gebruik 'n DIMP 2 hier, maar die instruksies is dieselfde vir die DA PIMP 2.

4) Internettoegang vir die RPi, sodat u die gratis open-source opdrag avrdude kan installeer.

5) 'n Afskrif van die.hex -flitslêer vir u DIMP 2 of DA PIMP 2. U kan die.hex -lêer self uit die rou bronkode bou, maar ek sal u nie hier wys hoe u dit moet doen nie.

6) Een of ander manier om by die RPi aan te meld-gebruik óf 'n netwerkverbinding óf direkte toegang tot die konsole. U moet opdragte daarop kan uitvoer.

Stap 1: Verwyder die wisselstroomkabel en verwyder die 9V -battery

Kyk eers of die wisselstroomkabel aan die DIMP 2 of DA PIMP 2 gekoppel is en aan die wisselstroomnet gekoppel is. As dit die geval is, GEVAAR: GEVAAR VEILIGE SKOK. Dra rubberhandskoene en skakel dan die hoofknoppie van die DIMP 2 of DA PIMP 2. Trek die wisselstroomkabel uit die wisselstroomnet en trek die wisselstroomkabel uit die DIMP 2 of DA PIMP 2. trek die rubberhandskoene af sodra die wisselstroomkabel verwyder is.

Verwyder dan die 9V -battery. Die RPi sal deur die rooi (Vcc) en swart (GND) drade aan die DIMP 2 krag voorsien word. Skakel die skuifknoppie op die DIMP 2 of DA PIMP 2 in as dit gebeur.

Stap 2: Verbind die draaddrade

Sluit die jumperdrade aan
Sluit die jumperdrade aan
Sluit die jumperdrade aan
Sluit die jumperdrade aan
Sluit die jumperdrade aan
Sluit die jumperdrade aan
Sluit die jumperdrade aan
Sluit die jumperdrade aan

As die RPi nie aangeskakel is nie, begin die trui se drade aansluit. In die toekoms is die GPIO -penne op die Raspberry Pi en die ICSP -penne op die DIMP 2 (kop J3) of DA PIMP 2 (kop J1).

Verwys na die diagram wat ek saamgevoeg het en die foto's as u verlore is.

Die RPi -gedeelte van die diagram is van pinout.xyz.

Die ATMEGA48V-10PU gedeelte van die diagram is kopiereg 2016 Atmel Corp.

Ek maak aanspraak op billike gebruik van hierdie tekeninge as gevolg van die beduidende, transformerende toevoegings.

Swart gaan van GPIO -pen 6 na ICSP -pen 10. Dit is GND (grond)

Geel gaan van GPIO -pen 12 na ICSP -pen 9. Dit is MISO.

Groen gaan van GPIO -pen 16 na ICSP -pen 1. Dit is MOSI.

Blou gaan van GPIO -pen 18 na ICSP -pen 7. Dit is SCK of SCLK (SClock)

Pers (bruin in my foto's) gaan van GPIO -pen 32 na ICSP -pen 5. Dit is RESET.

Rooi gaan van GPIO pen 4 na ICSP pen 2. Dit is Vcc (5V Power)

Stap 3: Skakel die RPi aan

Gaan nou voort en skakel die RPi aan. Die voltmeter gedeelte van DIMP 2 of DA PIMP 2 behoort ook aan te skakel, maar u sal dit nie weet as u na die skerm kyk nie. As u twyfel, meet die spanning met die rooi sonde by pen 20 op die ATMEGA48V-10PU en die swart sonde by pen 4, 6 of 8 op die ICSP-kop. Dit moet ongeveer 5VDC wees.

Stap 4: Installeer Avrdude

My instruksies wys slegs opdragreëlopdragte. As u 'n GUI aan die gang het, wil u 'n Terminal oopmaak om hierdie opdragreëlopdragte uit te voer.

Meld aan as die standaard gebruiker pi. Die standaard wagwoord is framboos

Installeer die avrdude -opdrag deur die volgende te tik by die terminale opdragprompt:

sudo apt-get install avrdude

Stap 5: Wysig die Avrdude Config -lêer

Wysig die avrdude config -lêer deur te tik:

sudo nano /etc/avrdude.conf

Voeg hierdie reëls by die middel van die lêer waar die ander programmeerder definisies is. Wat ek gedoen het, is om die programmeerdersgedeelte reg bo dit te kopieer vir id = "linuxgpio", en dit dan regs onder (op reël 1274) te plak, en dan die nuwe afdeling te wysig.

programmeerder

id = "pi_1"; desc = "Gebruik die Linux sysfs -koppelvlak om GPIO -lyne te bitbang"; tipe = "linuxgpio"; herstel = 12; sck = 24; mosi = 23; miso = 18;;

Stoor dan die lêer deur op te druk: Ctrl-O

En verlaat dan die nano-redakteur deur op te druk: Ctrl-X

Stap 6: Laai of kopieer die.hex Flash -lêer na /home /pi

Kopieer die.hex -lêer na die RPi. Ek neem aan dat u weet hoe u dit moet doen. WENK: Gebruik die wget-, krul-, git- of scp -opdrag om die lêer van die internet na die RPi af te laai.

Die.hex -lêer van DIMP 2 is hier, saam met die bronkode:

github.com/dchang0/dimp2

'N Aangepaste weergawe van die.hex -lêer van DA PIMP 2 is hier. Ek het dit nie getoets nie!

github.com/jcwren/DaPimp2

As bogenoemde weergawe van die.hex -lêer van DA PIMP 2 nie werk nie, is die bronkode van die oorspronklike DA PIMP 2 van Mikey Sklar hier. U sal dit self in 'n werkende.hex -lêer moet saamstel. Ek behandel dit nie in hierdie instruksies nie, want dit sal 'n lang (maar nie moeilike) tutoriaal wees nie. Ek het verskeie werkende DA PIMP 2 -eenhede suksesvol geprogrammeer met behulp van hierdie bronkode:

drive.google.com/open?id=0Bx5Als-UeiZbSUdH…

Of u kan hier na die hoof DA PIMP 2 -bladsy gaan en op die skakel na die bronkode klik.

mikeysklar.blogspot.com/p/da-pimp-battery-…

Plaas die.hex -lêer op hierdie pad en lêernaam op die RPi …

Vir die DIMP 2:

/home/pi/dimp2.hex

Vir die DA PIMP 2:

/home/pi/da_pimp2.hex

Stap 7: Verifieer dat Avrdude met die ATMEGA48V-10PU kan praat

Voer die avrdude-opdrag uit om seker te maak dat dit met die ATMEGA48V-10PU-chip op die DIMP 2 of DA PIMP 2 kan praat.

cd /huis /pi

sudo avrdude -c pi_1 -p m48 -v

U kry ongeveer 'n bladsy uitvoer. Kyk na die einde. As u so 'n antwoord kry, kan u voortgaan.

avrdude: AVR -toestel geïnisialiseer en gereed om instruksies te aanvaar

Lees | #################################################### | 100% 0.00s

As dit nie die geval is nie, dan is daar iets verkeerd, en u moet dit uitvind. Heel waarskynlik is dit 'n verkeerde bedrading, maar 'n ander algemene klagte wat ek gesien het, is dat die ATMEGA48V-10PU-skyfie 'n nep is. Dit lyk asof baie van hulle wat op Amazon of eBay verkoop word, vals is. Die wat deur Mouser of Digikey en ander gemagtigde verspreiders verkoop word, is eg.

Stap 8: Flits die.hex-lêer na die ATMEGA48V-10PU

Voer hierdie opdrag uit om die chip te programmeer …

Vir die DIMP 2:

cd /huis /pi

sudo avrdude -c pi_1 -p m48 -U flits: w: dimp2.hex

Vir die DA PIMP 2:

cd /huis /pi

sudo avrdude -c pi_1 -p m48 -U flits: w: da_pimp2.hex

U kry ongeveer 'n bladsy uitvoer. Soek hierdie lyne:

avrdude: skryfflits (1528 grepe):

Skryf | #################################################### | 100% 0,79 sek

avrdude: verifieer …

avrdude: 1528 grepe flits geverifieer avrdude: safemode: Sekerings OK (E: FF, H: DF, L: 62)

As u so ver gekom het, moet u op die LED -skerm nulle vir die spanning sien. As jy die nulle sien, is jy klaar! Indien nie, gaan na die volgende stap.

As u die nulle sien, skakel u RPi grasieus af met hierdie opdrag:

sudo shutdown -h nou

As die kraglig op die RPi afskakel (die DIMP 2 of DA PIMP 2 sal steeds brand), kan u die kragtoevoer van die RPi ontkoppel. Ontkoppel dan die jumperdrade tussen die RPi en die DIMP 2 of DA PIMP 2.

Stap 9: Eenvoudige probleemoplossing as die flits misluk

As u geen nulle op die skerm van u DIMP 2 of DA PIMP 2 sien nie, is dit tyd om op te los.

Kontroleer eers weer u bedrading.

Kontroleer dan die lonttoestande wat deur avrdude aangedui word. Dit is moontlik dat u chip ander sekondes as die fabrieksinstellings gehad het. Die sekuriteite moet moontlik herstel word, wat 'n totaal ander hardeware -toestel benodig. Dit is 'n probleem met baie van die vals ATMEGA48V-10PU-skyfies wat op eBay verkoop word-dit is ou skyfies wat uit die weggooide hardeware gehaal is, en die sekeringe is opgestel, en die verkoper het nie die moeite gedoen om die lonte terug te stel nie.

Soms is die chip nie eens 'n ATMEGA48V-10PU nie. Dit kan 'n ander chip wees wat hermerk word. Gewoonlik kan u hierdie vervalsings vertel deur noukeurig na die merke aan die bokant en onderkant van die skyfie te kyk. Dit is verstandiger om u ATMEGA48V-10PU by 'n betroubare verskaffer soos Mouser of Digikey aan te skaf.

Aanbeveel: