Hoe om 'n AVR -programmeeromgewing op Linux op te stel: 5 stappe
Hoe om 'n AVR -programmeeromgewing op Linux op te stel: 5 stappe
Anonim
Hoe om die AVR -programmeeromgewing op Linux op te stel
Hoe om die AVR -programmeeromgewing op Linux op te stel

As u AVR -mikrobeheerders op Windows wil programmeer, het u 'n Studio, maar op Linux is alles wat ons het 'n Dude.

AVRDUDE is die opdraglyn -koppelvlak om AVR -skyfies te programmeer; dit kan eers 'n bietjie moeilik wees om op te stel.

Eerstens installeer ek alle AVRDUDE en alle vereiste afhanklikhede, dan skep ek 'n BASH -script wat sal help met die programmering

Stap 1: Kry u samesteller en ander gereedskap

In ander om AVR-skyfies te programmeer, benodig u 'n spesiale samesteller wat bekend staan as gcc-avr en die ander gereedskap soos binutils-avr, avr-libc, gdb-avr laastens, maar nie die minste nie, avrdude.

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

Stap 2: Skep 'n sjabloon

Skep 'n sjabloon
Skep 'n sjabloon

As u 'n nuwe skets in arduino oopmaak, kry u 'n kodesjabloon met twee funksies, dit bespaar u baie tyd.

AVRDUDE gebruik C en dit kan 'n bietjie irriterend wees om altyd 'n hoofmetode te skep elke keer as u wil kodeer, so ek sal 'n AVR -sjabloon skep.

raak ~/Templates/AVR.c

Gebruik die aanraakopdrag om 'n leë lêer in die gids Sjablone te skep.

vi ~/Templates/AVR.c

maak die lêer oop met u gunsteling teksredakteur, ek gebruik vi.

#definieer F_CPU 16000000L

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

Tik die kode hierbo en stoor die lêer. Hierdie kode dien as ons sjabloon.

Let wel: ek stel my klokfrekwensie as 16000000, u kan u s'n stel soos enige ander frekwensie, miskien 8000000.

Stap 3: Skep 'n nuwe lêer

Nou het ons 'n sjabloon vir ons AVR -kodes, al wat ons hoef te doen is om 'n nuwe lêer te skep. Ek sal 'n bash -opdrag skep wat een argument (die lêernaam) sal inneem en dan die lêer met die AVR -sjabloon skep.

Kom ons maak 'n leë lêer met die naam "skep"

raak skep

verander die lêertoestemming omdat dit 'n BASH -script sal wees

chmod 755 skep

Maak 'skep' oop met u teksredakteur. Laat ons nou "skep" wysig, voeg die volgende opdragte reël vir reël by.

#!/bin/bash

Dit is die pad na die tolk vir 'skep', wat bash is.

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

Dit kopieer ons sjabloonlêer na die gebruikers se tuisgids.

mv ~/AVR.c $ 1

Onthou ek het gesê dat 'skep' een argument inneem, $ 1 beteken dat die eerste argument van ons opdrag hierdie argument die beoogde lêernaam is; die laaste ding wat ons wil hê, is meerdere lêers met dieselfde lêernaam. Die opdrag hernoem die lêernaam na ons argument.

vi $ 1

Dit is opsioneel, maar dit sal lekker wees om ons lêer oop te maak onmiddellik nadat ons dit gemaak het.

Ons is klaar met die redigering van die skep, stoor dit en maak dit toe.

Hier is 'n voorbeeld van skep in aksie.

./ skep knipoog. c

Dit skep 'n lêer wat bekend staan as blink.c, hierdie lêer moet die sjabloon van AVR.c. hê

Stap 4: Laat ons hardloop

Ons moet 'n ander bash -skrip skep, bekend as 'run', hierdie script sal 3 argumente neem (die avr -mikrobeheerder wat ons gebruik, die lêernaam en die programmeerder)

Kom ons vat dit reël vir reël.

#!/bin/bash

ons shebang

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

Die opdrag hierbo komplimenteer ons kode, '$ 1' is ons eerste argument, die mikrobeheerder wat ons programmeer. $ 2 is ons tweede argument, naamlik die lêernaam.

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

Dit omskep ons voldoende lêer in hex.

avrdude -p $ 1 -c $ 3 -U flits: w: $ 2. heks -P usb

Nou verbrand avrdude die kode in AVR -chip. $ 3 is ons derde argument, die programmeerder wat ons gebruik.

Stoor die lêer "hardloop"

gee dit toestemming

chmod 755 hardloop

Kom ons toets dit nou. Gestel ons wil blink.c oplaai en ons gebruik 'n arduino -bord direk, ons gebruik ook 'n usbasp -programmeerder. Dit is hoe ons die 'run' script gebruik.

./run atmega328p knip USBasp

Die arduino -bord het 'n atmega328p -chip, u kan enige AVR -mikrobeheerder van u keuse gebruik.

Die tweede argument is u lêernaam, maar hierdie keer moet u nie die lêeruitbreiding byvoeg nie, maar die script hanteer dit.

Dan het ons die derde argument: die programmeerder wat u gebruik, ek gebruik 'n USBasp -programmeerder.

Stap 5: Gevolgtrekking

Dit is 'n uitstekende manier om u avr -programmeringservaring te outomatiseer; u kan die bash -lêers "skep" en "uitvoer" na "~/.local/bin" skuif, sodat u die skrifte uit enige lêergids van u keuse kan gebruik.

Aanbeveel: