Inhoudsopgave:
- Stap 1: Uw compiler en andere hulpmiddelen verkrijgen
- Stap 2: Een sjabloon maken
- Stap 3: Maak een nieuw bestand aan
- Stap 4: Laten we rennen
- Stap 5: Conclusie
Video: Hoe de AVR-programmeeromgeving op Linux in te stellen: 5 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
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
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:
Hoe een Raspberry Pi in te stellen en ermee aan de slag te gaan: 4 stappen
Hoe een Raspberry Pi in te stellen en ermee aan de slag te gaan: voor de lezers van de toekomst zijn we in 2020. Het jaar waarin, als je geluk hebt om gezond te zijn en niet besmet door Covid-19, je ineens , kreeg veel meer vrije tijd dan je ooit had gedacht. Dus hoe kan ik mezelf op een niet al te domme manier bezighouden? Oh ja
Hoe Dotnet op Raspberry Pi in te stellen: 5 stappen
Hoe Dotnet op Raspberry Pi in te stellen: NET Framework op Raspberry Pi - wat is dat en, meer nog, WAAROM? Het draaien van Microsoft.NET Framework of ook wel gewoon Dotnet genoemd op Raspberry Pi klinkt op het eerste gezicht een beetje raar en lastig. Maar het blijkt best slim en redelijk bij de
Hoe Mosquitto MQTT op AWS in te stellen: 8 stappen
Hoe Mosquitto MQTT op AWS in te stellen: Hallo! Ik ga een privé MQTT-makelaar met wachtwoord opzetten op mijn AWS-account (amazon webservice) voor mijn IOT-projecten. Om dit te doen, heb ik een gratis account gemaakt op AWS dat goed is voor 1 jaar door hier te gaan:
Hoe de Samsung Galaxy S7 met Android 8.0 in te stellen om alleen het scherm voor één app weer te geven !!: 5 stappen
Hoe de Samsung Galaxy S7 met Android 8.0 in te stellen om alleen het scherm voor één app weer te geven !!: Deze Instructable laat u zien hoe u uw Samsung Galaxy S7 kunt instellen om het scherm voor slechts één app weer te geven Dit is geweldig als u een baby / kind hebt die graag met je telefoon speelt of ervoor wil zorgen dat je telefoon alleen in één app blijft als iemand anders
Hoe de Arduino IDE in te stellen om te werken met de Tinusaur-borden: 3 stappen
Hoe de Arduino IDE in te stellen om te werken met de Tinusaur-borden. Dit is een korte handleiding hoe de Arduino IDE in te stellen om met de Tinusaur-kaarten te werken. Wat het in feite doet, is om het te laten werken met de Atmel ATtiny85/45/25 microcontrollers . Het enige verschil is dat het op de lijst met borden zal verschijnen als Tinusau