Innehållsförteckning:
- Steg 1: Ta bort nätkabeln och ta bort 9V -batteriet
- Steg 2: Anslut bygeln
- Steg 3: Slå på RPi
- Steg 4: Installera Avrdude
- Steg 5: Redigera Avrdude Config File
- Steg 6: Ladda ner eller kopiera.hex Flash -filen till /home /pi
- Steg 7: Kontrollera att Avrdude kan prata med ATMEGA48V-10PU
- Steg 8: Flasha.hex-filen till ATMEGA48V-10PU
- Steg 9: Enkel felsökning om blixten misslyckades
Video: Hur man använder en Raspberry Pi: s GPIO-stift och Avrdude till Bit-bang-program DIMP 2 eller DA PIMP 2: 9 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:37
Det här är steg-för-steg-instruktioner om hur du använder en Raspberry Pi och det fria open-source-kommandot avrdude för att bit-bang-programmera en DIMP 2 eller DA PIMP 2. Jag antar att du är bekant med din Raspberry Pi och LINUX kommandorad. Du behöver inte vara bekant med programmering av AVR -chip, men det hjälper om något går fel eftersom du kan läsa avrdude -utdata och ha en aning om vad du ska göra.
Denna procedur bör ta cirka 1 timme första gången och 5 till 10 minuter varje gång efter.
Du kommer behöva:
1) En Raspberry Pi med GPIO -stift och strömförsörjning. Jag använder en Raspberry Pi Zero W med GPIO -stift lödda på. Operativsystemet bör vara Raspberry Pi OS (tidigare Raspbian). Jag använder Raspbian Lite (Stretch), som är lite gammalt. Dessa kommandon bör fortfarande fungera på den senaste versionen av Raspberry Pi OS.
Framöver kommer jag att hänvisa till Raspberry Pi som "RPi".
2) Kopplingstrådar mellan kvinnor och kvinnor. Få en av var och en av dessa färger: röd, svart, blå, gul, grön, lila. Jag använder brun istället för lila.
3) En DIMP 2 eller DA PIMP 2 med tillvalet 10-polig ICSP-header lödd i. Jag använder en DIMP 2 här, men instruktionerna är desamma för DA PIMP 2.
4) Internetåtkomst för RPi så att du kan installera det fria kommandot avrdude med öppen källkod.
5) En kopia av.hex flash -filen för din DIMP 2 eller DA PIMP 2. Du kan bygga.hex -filen själv från rå källkod, men jag kommer inte att visa dig hur du gör det här.
6) Något sätt att logga in på RPi-använd antingen en nätverksanslutning eller direkt konsolåtkomst. Du måste kunna köra kommandon på den.
Steg 1: Ta bort nätkabeln och ta bort 9V -batteriet
Kontrollera först om nätkabeln är ansluten till DIMP 2 eller DA PIMP 2 och ansluten till nätet. I så fall FARA: FARA FÖR LETHAL STÖD. Använd gummihandskar och stäng sedan av huvudvippströmbrytaren på DIMP 2 eller DA PIMP 2. Dra sedan ut nätsladden från nätströmmen och koppla bort nätsladden från DIMP 2 eller DA PIMP 2. Du kan ta av gummihandskarna när nätkabeln har tagits bort.
Ta sedan bort 9V -batteriet. RPi kommer att leverera ström till DIMP 2 genom de röda (Vcc) och svarta (GND) ledningarna. Vrid skjutreglaget på DIMP 2 eller DA PIMP 2 till avstängd för säkerhets skull.
Steg 2: Anslut bygeln
När RPi inte är påslagen, börja ansluta bygeln. Framöver finns GPIO -stiften på Raspberry Pi och ICSP -stiften finns på DIMP 2 (rubrik J3) eller DA PIMP 2 (rubrik J1).
Se diagrammet som jag kullar ihop och bilderna om du går vilse.
RPi -delen av diagrammet är från pinout.xyz.
ATMEGA48V-10PU-delen av diagrammet är copyright 2016 Atmel Corp.
Jag gör anspråk på rättvis användning av dessa ritningar på grund av de betydande, transformativa tilläggen.
Svart går från GPIO -stift 6 till ICSP -stift 10. Detta är GND (mark)
Gult går från GPIO -stift 12 till ICSP -stift 9. Detta är MISO.
Grönt går från GPIO pin 16 till ICSP pin 1. Detta är MOSI.
Blått går från GPIO -stift 18 till ICSP -stift 7. Detta är SCK eller SCLK (SClock)
Lila (brun på mina bilder) går från GPIO -stift 32 till ICSP -stift 5. Detta är ÅTERSTÄLL.
Rött går från GPIO pin 4 till ICSP pin 2. Detta är Vcc (5V Power)
Steg 3: Slå på RPi
Nu, fortsätt och slå på RPi. Voltmeterdelen av DIMP 2 eller DA PIMP 2 borde också starta, men du vet inte det genom att titta på displayen. Om du är osäker, mät spänningen med den röda sonden vid stift 20 på ATMEGA48V-10PU och den svarta sonden vid stift 4, 6 eller 8 på ICSP-huvudet. Det ska vara runt 5VDC.
Steg 4: Installera Avrdude
Mina instruktioner visar bara kommandorads kommandon. Om du har ett GUI igång, vill du öppna en terminal för att köra dessa kommandoradskommandon.
Logga in som standardanvändar -pi. Standardlösenordet är hallon
Installera avrdude -kommandot genom att skriva följande vid terminalens kommandotolk:
sudo apt-get install avrdude
Steg 5: Redigera Avrdude Config File
Redigera avrdude -konfigurationsfilen genom att skriva:
sudo nano /etc/avrdude.conf
Lägg till dessa rader i mitten av filen där de andra programmeringsdefinitionerna finns. Det jag gjorde är att kopiera programmeringssektionen precis ovanför den för id = "linuxgpio", sedan klistra in den precis nedanför (på rad 1274) och sedan redigera den nya sektionen.
programmerare
id = "pi_1"; desc = "Använd Linux sysfs -gränssnittet för att bitbang GPIO -linjer"; type = "linuxgpio"; återställ = 12; sck = 24; mosi = 23; miso = 18;;
Spara sedan filen genom att trycka på: Ctrl-O
Och avsluta sedan nanoredigeraren genom att trycka på: Ctrl-X
Steg 6: Ladda ner eller kopiera.hex Flash -filen till /home /pi
Kopiera.hex flash -filen till RPi. Jag antar att du vet hur du gör detta. TIPS: Använd kommandot wget, curl, git eller scp för att få ner filen från webben till RPi.
DIMP 2: s.hex -fil finns här, tillsammans med källkoden:
github.com/dchang0/dimp2
En anpassad version av DA PIMP 2: s.hex -fil finns här. Jag har inte testat detta!
github.com/jcwren/DaPimp2
Om ovanstående version av DA PIMP 2: s.hex -fil inte fungerar, finns Mikey Sklars ursprungliga DA PIMP 2 -källkod här. Du måste själv sammanställa den till en fungerande.hex -fil. Jag täcker inte det i dessa instruktioner eftersom det kommer att bli en lång (men inte svår) handledning. Jag har framgångsrikt programmerat flera fungerande DA PIMP 2 -enheter med denna källkod:
drive.google.com/open?id=0Bx5Als-UeiZbSUdH…
Eller så kan du gå till huvudsidan DA PIMP 2 här och klicka på länken till källkoden.
mikeysklar.blogspot.com/p/da-pimp-battery-…
Sätt.hex -filen på denna sökväg och filnamn på RPi …
För DIMP 2:
/home/pi/dimp2.hex
För DA PIMP 2:
/home/pi/da_pimp2.hex
Steg 7: Kontrollera att Avrdude kan prata med ATMEGA48V-10PU
Kör avrdude-kommandot för att se till att det kan prata med ATMEGA48V-10PU-chipet på DIMP 2 eller DA PIMP 2.
cd /home /pi
sudo avrdude -c pi_1 -p m48 -v
Du får ungefär en sida med utdata. Se på slutet. Om du får ett svar som detta kan du fortsätta.
avrdude: AVR -enhet initierad och redo att acceptera instruktioner
Läsning | #################################################### | 100% 0,00s
Om inte, är det något som är fel och du bör ta reda på det. Mest troligt är det en felkoppling, men ett annat vanligt klagomål jag har sett är att ATMEGA48V-10PU-chipet är en falsk. Det verkar som att många av dem som säljs på Amazon eller ebay är förfalskningar. De som säljs av Mouser eller Digikey och andra auktoriserade distributörer är äkta.
Steg 8: Flasha.hex-filen till ATMEGA48V-10PU
Kör det här kommandot för att programmera chipet …
För DIMP 2:
cd /home /pi
sudo avrdude -c pi_1 -p m48 -U flash: w: dimp2.hex
För DA PIMP 2:
cd /home /pi
sudo avrdude -c pi_1 -p m48 -U flash: w: da_pimp2.hex
Du får ungefär en sida med utdata. Leta efter dessa rader:
avrdude: skrivande blixt (1528 byte):
Skrivning | #################################################### | 100% 0,79s
avrdude: verifierar …
avrdude: 1528 byte med flash verifierad avrdude: safemode: Säkringar OK (E: FF, H: DF, L: 62)
Om du kommit så långt bör du se LED -displayen som visar nollor för spänningen. Om du ser nollorna är du klar! Om inte, gå vidare till nästa steg.
Om du ser nollorna stänger du graciöst av din RPi med det här kommandot:
sudo avstängning -h nu
När strömlampan på RPi släcks (DIMP 2 eller DA PIMP 2 lyser fortfarande) kan du koppla bort strömförsörjningen från RPi. Koppla sedan bort bygeln mellan RPi och DIMP 2 eller DA PIMP 2.
Steg 9: Enkel felsökning om blixten misslyckades
Om du inte ser nollor på skärmen på DIMP 2 eller DA PIMP 2 är det dags att felsöka.
Återigen, kontrollera din ledning först.
Kontrollera sedan säkringstillstånden som visas av avrdude. Det är möjligt att ditt chip kom med säkringarna inställda på andra värden än fabriksinställningarna. Chipet kan behöva återställas, vilket kräver en helt annan hårdvaruenhet. Detta är ett problem med många av de falska ATMEGA48V-10PU-chipsen som säljs på ebay-det är gamla chips som har dragits från kasserad hårdvara och säkringarna har ställts in och säljaren störde inte att återställa säkringarna.
Ibland är chipet inte ens en ATMEGA48V-10PU. Det kan vara ett annat chip som är märkt. Vanligtvis kan du berätta dessa förfalskningar genom att titta noga på markeringarna på toppen och botten av chipet. Det är klokare att få din ATMEGA48V-10PU genom en pålitlig leverantör som Mouser eller Digikey.
Rekommenderad:
Raspberry PI 3 - Aktivera seriell kommunikation till TtyAMA0 till BCM GPIO 14 och GPIO 15: 9 steg
Raspberry PI 3 - Aktivera seriell kommunikation till TtyAMA0 till BCM GPIO 14 och GPIO 15: Jag hade nyligen intresse av att aktivera UART0 på min Raspberry Pi (3b) så att jag kunde ansluta den direkt till en RS -232 signalnivåenhet med en standard 9 -nål d-sub-kontakt utan att behöva gå via en USB till RS-232-adapter. En del av mitt intresse
Hur man skapar och infogar en tabell och lägger till ytterligare kolumner och/eller rader till den tabellen i Microsoft Office Word 2007: 11 steg
Hur man skapar och infogar en tabell och lägger till ytterligare kolumner och/eller rader till den tabellen i Microsoft Office Word 2007: Har du någonsin haft mycket data du arbetar med och tänkt för dig själv … " hur kan jag göra allt av dessa data ser bättre ut och blir lättare att förstå? " Om så är fallet kan en tabell i Microsoft Office Word 2007 vara ditt svar
Hur man skapar en Linux -boot -enhet (och hur man använder den): 10 steg
Hur man skapar en Linux Boot Drive (och hur man använder den): Detta är en enkel introduktion om hur man kommer igång med Linux, särskilt Ubuntu
Hur man använder Neopixel Ws2812 LED eller LED STRIP eller Led Ring med Arduino: 4 steg
Hur man använder Neopixel Ws2812 LED eller LED STRIP eller Led Ring With Arduino: Hej killar eftersom Neopixel led Strip är mycket populära och det kallas också som ws2812 led strip också. De är mycket populära eftersom vi i dessa ledremsor kan ta upp varje led separat, vilket betyder att om du vill att få lysdioder ska lysa i en färg,
Hur man använder Mac Terminal och hur man använder viktiga funktioner: 4 steg
Så här använder du Mac Terminal och hur du använder viktiga funktioner: Vi visar dig hur du öppnar MAC Terminal. Vi kommer också att visa dig några funktioner i terminalen, till exempel ifconfig, ändra kataloger, komma åt filer och arp. Ifconfig låter dig kontrollera din IP -adress och din MAC -annons