Inhoudsopgave:

Hoe de AVR-programmeeromgeving op Linux in te stellen: 5 stappen
Hoe de AVR-programmeeromgeving op Linux in te stellen: 5 stappen

Video: Hoe de AVR-programmeeromgeving op Linux in te stellen: 5 stappen

Video: Hoe de AVR-programmeeromgeving op Linux in te stellen: 5 stappen
Video: Connecting your AVR to your home network 2024, November
Anonim
Hoe de AVR-programmeeromgeving op Linux in te stellen
Hoe de AVR-programmeeromgeving op Linux in te stellen

Als je AVR-microcontrollers op Windows wilt programmeren, heb je een Studio, maar op Linux hebben we alleen een Dude.

AVRDUDE is de opdrachtregelinterface om AVR-chips te programmeren, het kan in het begin een beetje lastig zijn om in te stellen. In deze Instructable zal ik AVRDUDE opzetten en ook een AVR-programmeeromgeving creëren voor de Linux-terminal.

Eerst zal ik alle AVRDUDE en alle vereiste afhankelijkheden installeren, dan zal ik een BASH-script maken dat zal helpen bij het programmeren

Stap 1: Uw compiler en andere hulpmiddelen verkrijgen

Om AVR-chips te programmeren heb je een speciale compiler nodig die bekend staat als gcc-avr en de andere tools zoals binutils-avr, avr-libc, gdb-avr als laatste maar niet de minste avrdude.

sudo apt-get install gcc-avr binutils-avr avr-libc gdb-avr avrdude

Stap 2: Een sjabloon maken

Een sjabloon maken
Een sjabloon maken

Als je een nieuwe schets in arduino opent krijg je een codesjabloon die twee functies bevat, dit scheelt je een hoop tijd.

AVRDUDE gebruikt C en het kan een beetje vervelend zijn om altijd een hoofdmethode te maken elke keer dat je wilt coderen, dus ik zal een AVR-sjabloon maken.

raak ~/Templates/AVR.c. aan

Gebruik de aanraakopdracht om een leeg bestand in de map Sjablonen aan te maken.

vi ~/Sjablonen/AVR.c

open het bestand met je favoriete teksteditor, ik gebruik vi.

#define F_CPU 16000000L

#include #include int main(){ while(){ } return 0; }

Typ de bovenstaande code en sla het bestand op. Deze code zal dienen als onze sjabloon.

Opmerking: ik heb mijn klokfrequentie ingesteld op 16000000, u kunt die van u instellen als elke andere frequentie, misschien 8000000.

Stap 3: Maak een nieuw bestand aan

Nu hebben we een sjabloon voor onze AVR-codes, het enige wat we hoeven te doen is een nieuw bestand maken. Ik zal een bash-opdracht maken die één argument (de bestandsnaam) bevat en vervolgens dat bestand maken met de AVR-sjabloon.

laten we een leeg bestand maken met de naam "create"

raak maken aan

verander de bestandspermissie omdat dit een BASH-script zal zijn

chmod 755 aanmaken

Open "create" met je teksteditor. Laten we nu "creëren" bewerken en de volgende opdrachten regel voor regel toevoegen.

#!/bin/bash

Dit is het pad naar de interpreter voor "create", wat bash is.

cp ~/Templates/AVR.c /home/$USER

Dit kopieert ons sjabloonbestand naar de homedirectory van de gebruiker.

mv ~/AVR.c $1

Onthoud dat ik zei dat "create" één argument inneemt, $1 betekent dat het eerste argument van ons commando dit argument de beoogde bestandsnaam is, het laatste wat we willen is dat meerdere bestanden dezelfde bestandsnaam hebben. De opdracht hernoemt de bestandsnaam naar ons argument.

vi $1

Dit is optioneel, maar het is leuk om ons bestand te openen, direct nadat we het hebben gemaakt.

We zijn klaar met bewerken maken, opslaan en sluiten.

Hier is een voorbeeld van creëren in actie.

./maak blink.c

Dit creëert een bestand dat blink.c heet, dit bestand moet de sjabloon AVR.c hebben.

Stap 4: Laten we rennen

We moeten een ander bash-script maken dat bekend staat als "run", dit script zal 3 argumenten gebruiken (de avr-microcontroller die we gebruiken, de bestandsnaam en de programmeur)

Laten we het regel voor regel bekijken.

#!/bin/bash

onze klootzak

avr-gcc -Wall -g -0s -mmcu=$1 -o $2.bin $2.c

Het bovenstaande commando maakt onze code compleet, '$1' is ons eerste argument en dat is de microcontroller die we aan het programmeren zijn. $2 is ons tweede argument, namelijk de bestandsnaam.

avr-objcopy -j.text -j.data -O ihex $2.bin $2.hex

Dit converteert ons voltooide bestand naar hex.

avrdude -p $1 -c $3 -U flash:w:$2.hex -P usb

Nu brandt avrdude de code in de AVR-chip. $3 is ons derde argument en dat is de programmeur die we gebruiken.

Sla het bestand "uitvoeren" op

geef het toestemming om uit te voeren

chmod 755 uitvoeren

Laten we het nu testen. Laten we zeggen dat we blink.c willen uploaden en we gebruiken rechtstreeks een Arduino-bord, we gebruiken ook een usbasp-programmeur. Dit is hoe we het "run"-script gebruiken.

./run atmega328p knipperen USBasp

Het arduino-bord heeft een atmega328p-chip, je kunt elke AVR-microcontroller naar keuze gebruiken.

Het tweede argument is uw bestandsnaam, maar voeg deze keer niet de bestandsextensie toe die het script afhandelt.

Dan hebben we het derde argument dat de programmeur is die u gebruikt, ik gebruik een USBasp-programmeur.

Stap 5: Conclusie

Dit is een geweldige manier om je avr-programmeerervaring te automatiseren, je kunt de bash-bestanden "create" en "run" naar "~/.local/bin" verplaatsen, zodat je de scripts uit elke bestandsdirectory naar keuze kunt gebruiken.

Aanbevolen: