Indholdsfortegnelse:

Sådan bruges en Raspberry Pi's GPIO Pins og Avrdude til Bit-bang-program DIMP 2 eller DA PIMP 2: 9 trin
Sådan bruges en Raspberry Pi's GPIO Pins og Avrdude til Bit-bang-program DIMP 2 eller DA PIMP 2: 9 trin

Video: Sådan bruges en Raspberry Pi's GPIO Pins og Avrdude til Bit-bang-program DIMP 2 eller DA PIMP 2: 9 trin

Video: Sådan bruges en Raspberry Pi's GPIO Pins og Avrdude til Bit-bang-program DIMP 2 eller DA PIMP 2: 9 trin
Video: How to better connect the raspberryPi the way you want #raspberrypi #electronics #elektronik 2024, Juli
Anonim
Sådan bruges en Raspberry Pi's GPIO Pins og Avrdude til Bit-bang-program DIMP 2 eller DA PIMP 2
Sådan bruges en Raspberry Pi's GPIO Pins og Avrdude til Bit-bang-program DIMP 2 eller DA PIMP 2

Dette er trin-for-trin instruktioner om, hvordan du bruger en Raspberry Pi og den gratis open source-kommando avrdude til at bit-bang-programmere en DIMP 2 eller DA PIMP 2. Jeg går ud fra, at du er fortrolig med din Raspberry Pi og LINUX kommandolinje. Du behøver ikke at være fortrolig med AVR -chipprogrammering, men det hjælper, hvis noget går galt, fordi du kan læse output fra avrdude og have en idé om, hvad du skal gøre.

Denne procedure bør tage cirka 1 time første gang og 5 til 10 minutter hver gang efter.

Du får brug for:

1) En Raspberry Pi med GPIO -ben og strømforsyning. Jeg bruger en Raspberry Pi Zero W med GPIO -ben loddet på. OS skal være Raspberry Pi OS (tidligere Raspbian). Jeg bruger Raspbian Lite (Stretch), som er lidt gammel. Disse kommandoer bør stadig fungere på den nyeste version af Raspberry Pi OS.

Fremover vil jeg betegne Raspberry Pi som "RPi".

2) Kvinde-til-hun-jumpertråde. Få en af hver af disse farver: rød, sort, blå, gul, grøn, lilla. Jeg bruger brun i stedet for lilla.

3) En DIMP 2 eller DA PIMP 2 med valgfri 10-ben ICSP header loddet i. Jeg bruger en DIMP 2 her, men instruktionerne er de samme for DA PIMP 2.

4) Internetadgang til RPi, så du kan installere den gratis open source-kommando avrdude.

5) En kopi af.hex flash -filen til din DIMP 2 eller DA PIMP 2. Du kan selv bygge.hex -filen ud fra rå kildekoden, men jeg viser dig ikke, hvordan du gør det her.

6) En eller anden måde at logge ind på RPi-brug enten en netværksforbindelse eller direkte konsoladgang. Du skal være i stand til at køre kommandoer på den.

Trin 1: Fjern netledningen, og fjern 9V -batteriet

Kontroller først, om netledningen er tilsluttet DIMP 2 eller DA PIMP 2 og tilsluttet lysnettet. I så fald FARE: FARE FOR LETHAL STØD. Brug gummihandsker, og sluk derefter for hovedvippekontakten på DIMP 2 eller DA PIMP 2. Tag derefter netledningen ud af lysnettet, og tag netledningen ud af DIMP 2 eller DA PIMP 2. Du kan tage tag gummihandskerne af, når netledningen er fjernet.

Fjern derefter 9V batteriet. RPi får strøm fra DIMP 2 via de røde (Vcc) og sorte (GND) ledninger. Drej skyderen på DIMP 2 eller DA PIMP 2 til at være slukket, for en sikkerheds skyld.

Trin 2: Tilslut jumpertrådene

Tilslut jumpertrådene
Tilslut jumpertrådene
Tilslut jumpertrådene
Tilslut jumpertrådene
Tilslut jumpertrådene
Tilslut jumpertrådene
Tilslut jumpertrådene
Tilslut jumpertrådene

Når RPi'en ikke er tændt, skal du begynde at tilslutte jumperledningerne. Fremadrettet er GPIO -benene på Raspberry Pi, og ICSP -benene er på DIMP 2 (header J3) eller DA PIMP 2 (header J1).

Se diagrammet, jeg brostiller sammen og billederne, hvis du er tabt.

RPi -delen af diagrammet er fra pinout.xyz.

ATMEGA48V-10PU-delen af diagrammet er copyright 2016 Atmel Corp.

Jeg hævder rimelig brug af disse tegninger på grund af de betydelige, transformative tilføjelser.

Sort går fra GPIO pin 6 til ICSP pin 10. Dette er GND (Ground)

Gul går fra GPIO pin 12 til ICSP pin 9. Dette er MISO.

Grønt går fra GPIO pin 16 til ICSP pin 1. Dette er MOSI.

Blå går fra GPIO pin 18 til ICSP pin 7. Dette er SCK eller SCLK (SClock)

Lilla (brun i mine fotos) går fra GPIO pin 32 til ICSP pin 5. Dette er RESET.

Rød går fra GPIO pin 4 til ICSP pin 2. Dette er Vcc (5V Power)

Trin 3: Start RPi'en

Fortsæt nu, og tænd for RPi'en. Voltmeterdelen af DIMP 2 eller DA PIMP 2 burde også starte, men du ved det ikke ved at se på displayet. Hvis du er i tvivl, skal du måle spændingen med den røde sonde ved pin 20 på ATMEGA48V-10PU og den sorte sonde ved pin 4, 6 eller 8 på ICSP-headeren. Det skal være omkring 5VDC.

Trin 4: Installer Avrdude

Mine instruktioner viser kun kommandolinjekommandoer. Hvis du har en GUI kørende, vil du gerne åbne en Terminal for at køre disse kommandolinjekommandoer.

Log ind som standardbruger -pi. Standardadgangskoden er hindbær

Installer avrdude -kommandoen ved at skrive følgende ved terminalkommandoprompten:

sudo apt-get install avrdude

Trin 5: Rediger Avrdude Config File

Rediger avrdude -konfigurationsfilen ved at skrive:

sudo nano /etc/avrdude.conf

Tilføj disse linjer til midten af filen, hvor de andre programmørdefinitioner er. Hvad jeg gjorde, var at kopiere programmeringsafsnittet lige over det til id = "linuxgpio", derefter indsætte det lige nedenfor (på linje 1274) og derefter redigere det nye afsnit.

programmør

id = "pi_1"; desc = "Brug Linux sysfs interface til bitbang GPIO linjer"; type = "linuxgpio"; reset = 12; sck = 24; mosi = 23; miso = 18;;

Gem derefter filen ved at trykke på: Ctrl-O

Og afslut derefter nano-editoren ved at trykke på: Ctrl-X

Trin 6: Download eller kopier.hex Flash -filen til /home /pi

Kopier.hex flash -filen til RPi. Jeg går ud fra, at du ved, hvordan du gør dette. TIP: Brug kommandoen wget, curl, git eller scp til at få filen ned fra nettet til RPi.

DIMP 2's.hex -fil er her sammen med kildekoden:

github.com/dchang0/dimp2

En tilpasset version af DA PIMP 2's.hex -fil er her. Jeg har ikke testet dette!

github.com/jcwren/DaPimp2

Hvis ovenstående version af DA PIMP 2's.hex -fil ikke virker, er Mikey Sklars originale DA PIMP 2's kildekode her. Du bliver nødt til selv at kompilere den til en fungerende.hex -fil. Jeg dækker det ikke i denne vejledning, fordi det vil være en lang (men ikke vanskelig) vejledning. Jeg har med succes programmeret flere fungerende DA PIMP 2 -enheder ved hjælp af denne kildekode:

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

Eller du kan gå til hovedsiden DA PIMP 2 her og klikke på linket til kildekoden.

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

Sæt.hex -filen på denne sti og filnavn på RPi …

For DIMP 2:

/home/pi/dimp2.hex

Til DA PIMP 2:

/home/pi/da_pimp2.hex

Trin 7: Kontroller, at Avrdude kan tale med ATMEGA48V-10PU

Kør avrdude-kommandoen for at sikre, at den kan tale med ATMEGA48V-10PU-chippen på DIMP 2 eller DA PIMP 2.

cd /home /pi

sudo avrdude -c pi_1 -p m48 -v

Du får cirka en side med output. Se til sidst. Hvis du får et svar som dette, kan du fortsætte.

avrdude: AVR -enhed initialiseret og klar til at acceptere instruktioner

Læsning | #################################################### | 100% 0,00s

Hvis ikke, er der noget galt, og du skal finde ud af det. Mest sandsynligt er det en fejlkobling, men en anden almindelig klage, jeg har set, er, at ATMEGA48V-10PU-chippen er en falsk. Det ser ud til, at mange af dem, der sælges på Amazon eller ebay, er forfalskninger. Dem, der sælges af Mouser eller Digikey og andre autoriserede distributører, er ægte.

Trin 8: Flash.hex-filen til ATMEGA48V-10PU

Kør denne kommando for at udføre programmeringen af chippen …

For DIMP 2:

cd /home /pi

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

Til DA PIMP 2:

cd /home /pi

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

Du får cirka en side med output. Se efter disse linjer:

avrdude: skriveflash (1528 bytes):

Skrivning | #################################################### | 100% 0,79s

avrdude: verificerer …

avrdude: 1528 bytes flash verificeret avrdude: safemode: Sikringer OK (E: FF, H: DF, L: 62)

Hvis du er nået så langt, skal du se LED -displayet, der viser nuller for spændingen. Hvis du ser nuller, er du færdig! Hvis ikke, spring til næste trin.

Hvis du ser nullerne, skal du graciøst lukke din RPi med denne kommando:

sudo shutdown -h nu

Når strømindikatoren på RPi'en slukker (DIMP 2 eller DA PIMP 2 vil stadig være tændt), kan du tage strømforsyningen ud af RPi'en. Tag derefter stikket fra jumperkablerne ud mellem RPi og DIMP 2 eller DA PIMP 2.

Trin 9: Enkel fejlfinding Hvis flashen mislykkedes

Hvis du ikke kan se nuller på din DIMP 2 eller DA PIMP 2's skærm, er det tid til fejlfinding.

Igen, tjek din ledninger først.

Kontroller derefter sikringstilstandene vist af avrdude. Det er muligt, at din chip kom med sikringerne indstillet til andre værdier end fabriksstandarden. Chippen skal muligvis nulstilles, hvilket kræver en helt anden hardwareenhed. Dette er et problem med mange af de falske ATMEGA48V-10PU chips, der sælges på ebay-det er gamle chips trukket fra kasseret hardware, og sikringerne er blevet sat, og sælgeren gider ikke nulstille sikringerne.

Nogle gange er chippen ikke engang en ATMEGA48V-10PU. Det kan være en anden chip, der er mærket. Normalt kan du fortælle disse forfalskninger ved at se omhyggeligt på markeringerne på toppen og bunden af chippen. Det er klogere at få din ATMEGA48V-10PU gennem en pålidelig leverandør som Mouser eller Digikey.

Anbefalede: