Indholdsfortegnelse:
- Trin 1: Få din kompilator og andre værktøjer
- Trin 2: Oprettelse af en skabelon
- Trin 3: Opret en ny fil
- Trin 4: Lad os køre
- Trin 5: Konklusion
Video: Sådan opsættes AVR -programmeringsmiljø på Linux: 5 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
Hvis du vil programmere AVR -mikrokontrollere på Windows, har du et Studio, men på Linux er alt, hvad vi har, en Dude.
AVRDUDE er kommandolinjegrænsefladen til at programmere AVR -chips, det kan være lidt svært at opsætte først. I denne instruktør vil jeg konfigurere AVRDUDE og også oprette et AVR -programmeringsmiljø for Linux -terminalen.
Først installerer jeg alle AVRDUDE og alle nødvendige afhængigheder, derefter opretter jeg et BASH -script, der hjælper med programmering
Trin 1: Få din kompilator og andre værktøjer
I andre programmer til AVR-chips har du brug for en speciel compiler kendt som gcc-avr og de andre værktøjer som binutils-avr, avr-libc, gdb-avr sidst men ikke mindst avrdude.
sudo apt-get install gcc-avr binutils-avr avr-libc gdb-avr avrdude
Trin 2: Oprettelse af en skabelon
Hvis du åbner en ny skitse i arduino, får du en kodeskabelon, der indeholder to funktioner, hvilket sparer dig meget tid.
AVRDUDE bruger C, og det kan være lidt irriterende at altid oprette en hovedmetode hver gang du vil kode, så jeg opretter en AVR -skabelon.
tryk på ~/Skabeloner/AVR.c
Brug berøringskommandoen til at oprette en tom fil i mappen Skabeloner.
vi ~/Skabeloner/AVR.c
Åbn filen med din yndlings teksteditor, jeg bruger vi.
#define F_CPU 16000000L
#include #include int main () {while () {} returner 0; }
Indtast koden ovenfor, og gem filen. Denne kode fungerer som vores skabelon.
Bemærk: Jeg indstiller min urfrekvens til 16000000, du kan indstille din som enhver anden frekvens måske 8000000.
Trin 3: Opret en ny fil
Nu har vi en skabelon til vores AVR -koder, alt hvad vi skal gøre er at oprette en ny fil. Jeg opretter en bash -kommando, der tager ét argument (filnavnet) og derefter opretter filen med AVR -skabelonen.
lad os lave en tom fil kaldet "opret"
tryk opret
ændre filtilladelsen, fordi dette vil være et BASH -script
chmod 755 oprette
Åbn "opret" med din teksteditor. Lad os nu redigere "opret", tilføj følgende kommandoer linje for linje.
#!/bin/bash
Dette er stien til tolken for "skabe", som er bash.
cp ~/Templates/AVR.c/home/$ USER
Dette kopierer vores skabelonfil til brugernes hjemmemappe.
mv ~/AVR.c $ 1
Husk, jeg sagde, at "skabe" tager et argument ind, $ 1 betyder, at det første argument i vores kommando, dette argument er det tilsigtede filnavn, den sidste ting, vi ønsker, er flere filer med det samme filnavn. Kommandoen omdøber filnavnet til vores argument.
vi $ 1
Dette er valgfrit, men det vil være rart at åbne vores fil, umiddelbart efter at vi har oprettet den.
Vi er færdige med at redigere oprette, gemme det og lukke det.
Her er et eksempel på create in action.
./oprett blink. c
Dette opretter en fil kendt som blink.c, denne fil skal have skabelonen AVR.c.
Trin 4: Lad os køre
Vi er nødt til at oprette et andet bash -script kendt som "run", dette script vil tage 3 argumenter (den avr -mikrokontroller, vi bruger, filnavnet og programmøren)
Lad os tage det linje for linje.
#!/bin/bash
vores shebang
avr -gcc -Wall -g -0s -mmcu = $ 1 -o $ 2.bin $ 2.c
Kommandoen ovenfor komplimenterer vores kode, '$ 1' er vores første argument, som er den mikrokontroller, vi programmerer. $ 2 er vores andet argument, som er filnavnet.
avr -objcopy -j.text -j.data -O ihex $ 2.bin $ 2.hex
Dette konverterer vores overholdte fil til hex.
avrdude -p $ 1 -c $ 3 -U flash: w: $ 2.hex -P usb
Nu brænder avrdude koden ind i AVR -chip. $ 3 er vores tredje argument, som er den programmør, vi bruger.
Gem filen "Kør"
give det eksekvere tilladelse
chmod 755 løb
Lad os nu teste det. Lad os sige, at vi vil uploade blink.c, og vi bruger et arduino -kort direkte, vi bruger også en usbasp -programmerer. Sådan bruger vi "run" scriptet.
./run atmega328p blink USBasp
Arduino -kortet har en atmega328p -chip, du kan bruge enhver AVR -mikrokontroller efter eget valg.
Det andet argument er dit filnavn, men denne gang må du ikke tilføje filtypen, scriptet håndterer det.
Så har vi det tredje argument, som er den programmerer, du bruger, jeg bruger en USBasp -programmerer.
Trin 5: Konklusion
Dette er en fantastisk måde at automatisere din avr -programmeringsoplevelse på. Du kan flytte bash -filerne "create" og "run" til "~/.local/bin", så du kan bruge scripts fra enhver filmappe efter eget valg.
Anbefalede:
Sådan opsættes en Raspberry Pi og begynder at bruge den: 4 trin
Sådan opsættes en Raspberry Pi og begynder at bruge den: For fremtidens læsere er vi i 2020. Året, hvor du, hvis du er heldig at være sund og ikke er smittet af Covid-19, dig pludselig , fik mere fritid, end du nogensinde havde forestillet dig. Så hvordan kan jeg optage mig selv på en ikke for dum måde? Åh ja
Sådan opsættes OSMC med Hyperion på Raspberry Pi med WS2812b Led Strip: 8 trin
Sådan opsættes OSMC med Hyperion på Raspberry Pi med WS2812b Led Strip: Nogle gange er jeg meget godt engelsk, nogle gange nej … Første ting først. Dette er min første instruerbare og engelsk er ikke mit modersmål, så vær venlig ikke at være for hård ved mig. Dette handler ikke om, hvordan man bygger rammen, det er let. Det handler om installation
Sådan opsættes vin på Raspberry Pi: 8 trin
Sådan opsættes vin på Raspberry Pi: Vin er et fantastisk værktøj, der hjælper med at starte Windows -apps på Linux, Ubuntu -systemer osv. For at lære alle detaljer besøg www.winehq.org (dette er ikke et tilknyttet link) Sagen er, at alle applikationer til Windows er bygget til processorer med
Sådan opsættes Dotnet på Raspberry Pi: 5 trin
Sådan opsættes Dotnet på Raspberry Pi: NET Framework på Raspberry Pi - hvad er det, og hvad er mere, HVORFOR? At køre Microsoft.NET Framework eller også kaldet bare Dotnet på Raspberry Pi lyder lidt underligt og vanskeligt ved første øjekast. Men det viser sig temmelig smart og rimeligt i
Sådan opsættes flere skærme i Linux: 6 trin
Sådan opsættes flere skærme i Linux: Denne vejledning viser dig, hvordan du konfigurerer et multi-head-system i de fleste Linux-distros, primært ubuntu. Bemærk, dette er stadig stort set ufærdigt