Mündəricat:

Linux -da AVR Proqramlaşdırma Mühiti necə qurulur: 5 addım
Linux -da AVR Proqramlaşdırma Mühiti necə qurulur: 5 addım

Video: Linux -da AVR Proqramlaşdırma Mühiti necə qurulur: 5 addım

Video: Linux -da AVR Proqramlaşdırma Mühiti necə qurulur: 5 addım
Video: Proqram təminatı-Musiqili İnformatika Layihəsi [Magistratura.az] 2024, Noyabr
Anonim
Linux -da AVR Proqramlaşdırma Mühiti necə qurulur
Linux -da AVR Proqramlaşdırma Mühiti necə qurulur

Windows -da AVR mikrokontrolörlərini proqramlaşdırmaq istəyirsinizsə, bir studiyanız var, ancaq Linux -da əlimizdə bir dost var.

AVRDUDE, AVR çiplərini proqramlaşdırmaq üçün əmr satırı interfeysidir, əvvəlcə qurmaq bir az çətin ola bilər. Bu təlimatda AVRDUDE quracağam və Linux terminalı üçün də AVR proqramlaşdırma mühiti yaradacağam.

Əvvəlcə bütün AVRDUDE və lazım olan bütün asılılıqları quracağam, sonra proqramlaşdırmağa kömək edəcək bir BASH skripti yaradacağam.

Addım 1: Kompilyatorunuzu və digər vasitələrinizi əldə edin

AVR çiplərini proqramlaşdırmaq üçün gcc-avr kimi tanınan xüsusi bir tərtibçiyə və binutils-avr, avr-libc, gdb-avr kimi digər vasitələrə ehtiyacınız var, amma ən sonu da deyil.

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

Addım 2: Şablon yaratmaq

Şablon Yaratmaq
Şablon Yaratmaq

Arduino -da yeni bir eskiz açarsanız, iki funksiyanı özündə cəmləşdirən bir kod şablonu alırsınız, bu da çox vaxtınıza qənaət edir.

AVRDUDE C istifadə edir və hər dəfə kod yazmaq istədiyiniz zaman hər zaman əsas metod yaratmaq bir az əsəbi ola bilər, buna görə də AVR şablonu yaradacağam.

~/Şablonlar/AVR.c vurun

Şablonlar qovluğunda boş bir fayl yaratmaq üçün toxunma əmrindən istifadə edin.

vi ~/Şablonlar/AVR.c

faylı sevdiyiniz mətn redaktoru ilə açın, vi istifadə edirəm.

#F_CPU 16000000L təyin edin

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

Yuxarıdakı kodu yazın və faylı qeyd edin. Bu kod şablonumuz olaraq xidmət edəcək.

Qeyd: Saat tezliyimi 16000000 olaraq təyin edirəm, sizinkini hər hansı digər tezlik kimi 8000000 olaraq təyin edə bilərsiniz.

Addım 3: Yeni bir fayl yaradın

İndi AVR kodlarımız üçün bir şablonumuz var, etməmiz lazım olan şey yeni bir fayl yaratmaqdır. Bir arqumenti (fayl adı) götürəcək, sonra AVR şablonu olan həmin faylı yaradacaq bir bash əmri yaradacağam.

"Yarat" adlı boş bir fayl hazırlayaq

yaratmaq toxun

fayl icazəsini dəyişdirin, çünki bu bir BASH skripti olacaq

chmod 755 yaradın

Mətn redaktoru ilə "Yarat" ı açın. İndi "yarat" ı düzəldək, aşağıdakı əmrləri sətir əlavə edin.

#!/bin/bash

Bu bash olan "yaratmaq" üçün tərcüməçiyə gedən yoldur.

cp ~/Şablonlar/AVR.c/home/$ USER

Bu şablon faylımızı istifadəçilərin ev qovluğuna kopyalayır.

mv ~/AVR.c $ 1

"Yarat" ın bir arqument götürdüyünü söylədiyimi unutmayın, $ 1 əmrimizin ilk arqumenti deməkdir, bu arqument nəzərdə tutulan fayl adıdır, istədiyimiz son şey eyni fayl adına malik birdən çox sənəddir. Komanda fayl adını arqumentimiz olaraq dəyişdirir.

vi 1 dollar

Bu isteğe bağlıdır, ancaq faylımızı yaratdıqdan dərhal sonra açmaq xoş olar.

Yaratmaq, saxlamaq və bağlamaqla işimiz bitdi.

İşdə yaratma nümunəsi budur.

./ göz qırpma yaradın.c

Bu blink.c olaraq bilinən bir fayl yaradır, bu fayl AVR.c. şablonuna sahib olmalıdır.

Addım 4: Çalışaq

"Çalış" olaraq bilinən başqa bir bash skript yaratmalıyıq, bu skript 3 arqument götürəcək (istifadə etdiyimiz avr mikrokontrolör, fayl adı və proqramçı)

Gəlin onu xətt üzrə götürək.

#!/bin/bash

bizim shebang

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

Yuxarıdakı əmr kodumuza şikayət edir, '$ 1' proqramlaşdırdığımız mikro nəzarətçi olan ilk arqumentimizdir. $ 2, fayl adı olan ikinci arqumentimizdir.

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

Bu, uyğun sənədimizi hex -ə çevirir.

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

İndi avrdude kodu AVR çipinə yazır. $ 3, istifadə etdiyimiz proqramçı olan üçüncü arqumentimizdir.

"Çalış" faylını qeyd edin

icrasına icazə verin

chmod 755 run

İndi sınayaq. Tutaq ki, blink.c yükləmək istəyirik və birbaşa arduino lövhəsindən istifadə edirik, eyni zamanda bir usbasp proqramçısı da istifadə edirik. "Çalış" skriptini bu şəkildə istifadə edirik.

atmega328p yanıb -sönən USBasp -ı işə salın

Arduino lövhəsində atmega328p çipi var, seçdiyiniz hər hansı bir AVR mikro nəzarətçisindən istifadə edə bilərsiniz.

İkinci arqument fayl adınızdır, ancaq bu dəfə skriptin işlədiyi fayl uzantısını əlavə etməyin.

Sonra istifadə etdiyiniz proqramçı olan üçüncü arqumentimiz var, mən USBasp proqramçısı istifadə edirəm.

Addım 5: Nəticə

Bu, avr proqramlaşdırma təcrübənizi avtomatlaşdırmağın əla bir yoludur, bash fayllarını "yaratmaq" və "işlətmək" üçün "~/.local/bin" -ə köçürə bilərsiniz, beləliklə seçdiyiniz hər hansı bir fayl kataloqundan skriptlərdən istifadə edə bilərsiniz.

Tövsiyə: