Мазмуну:

Linuxто AVR программалоо чөйрөсүн кантип орнотсо болот: 5 кадам
Linuxто AVR программалоо чөйрөсүн кантип орнотсо болот: 5 кадам

Video: Linuxто AVR программалоо чөйрөсүн кантип орнотсо болот: 5 кадам

Video: Linuxто AVR программалоо чөйрөсүн кантип орнотсо болот: 5 кадам
Video: Учил python 30 дней. Полное видео на канале 2024, Ноябрь
Anonim
Linuxто AVR программалоо чөйрөсүн кантип орнотсо болот
Linuxто AVR программалоо чөйрөсүн кантип орнотсо болот

Эгерде сиз Windowsто AVR микроконтроллерлерин программалоону кааласаңыз, анда сизде Студия бар, бирок Linuxто бизде баары бар.

AVRDUDE - бул AVR чиптерин программалоо үчүн буйрук сабынын интерфейси, алгач орнотууда бир аз татаал болушу мүмкүн. Бул Нускамада мен AVRDUDE орнотуп, Linux терминалы үчүн AVR программалоо чөйрөсүн түзөм.

Биринчиден, мен бардык AVRDUDE жана бардык керектүү көз карандылыктарды орнотом, андан кийин программалоого жардам бере турган BASH скриптин түзөм.

1 -кадам: Компиляторуңузду жана башка куралдарды алуу

Башка AVR чиптеринде сизге gcc-avr деп аталган атайын компилятор жана binutils-avr, avr-libc, gdb-avr сыяктуу башка куралдар керек, бирок эң аз дегенде avrdude.

sudo apt-get gcc-avr binutils-avr avr-libc gdb-avr avrdude орнотуу

2 -кадам: Калып түзүү

Калып түзүү
Калып түзүү

Эгерде сиз ардуинодо жаңы эскиз ачсаңыз, анда эки функцияны камтыган код шаблону аласыз, бул сизге көп убакытты үнөмдөйт.

AVRDUDE Cди колдонот жана ар дайым кодду түзүүнү каалаган сайын негизги ыкманы түзүү бир аз тажатма болушу мүмкүн, ошондуктан мен AVR шаблонун түзөм.

тийүү ~/Templates/AVR.c

Templates папкасында бош файлды түзүү үчүн тийүү буйругун колдонуңуз.

vi ~/Калыптар/AVR.c

файлды сүйүктүү текст редакторуңуз менен ачыңыз, мен vi колдонуп жатам.

#аныктоо F_CPU 16000000L

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

Жогорудагы кодду териңиз жана файлды сактаңыз. Бул код биздин шаблон катары кызмат кылат.

Эскертүү: мен саат жыштыгымды 16000000 деп койдум, сиздикин башка жыштык катары 8000000 деп койсоңуз болот.

3 -кадам: Жаңы файл түзүү

Эми бизде AVR коддорубуздун шаблону бар, биз жаңы файлды түзүү үчүн гана иштешибиз керек. Мен bash командасын түзөм, ал бир аргументти алат (файлдын аты), анан ошол файлды AVR шаблону менен түзөм.

"түзүү" деп аталган бош файлды түзөлү

түзүү тийүү

файлдын уруксатын өзгөртүңүз, анткени бул BASH скрипти болот

chmod 755 түзүү

Текст редакторуңуз менен "түзүү" ачыңыз. Эми "түзүү" дегенди түзөтөлү, төмөнкү командаларды сап -сапка кошобуз.

#!/bin/bash

Бул bash "жаратуу" үчүн котормочунун жолу.

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

Бул биздин шаблон файлын колдонуучулардын үй каталогуна көчүрөт.

mv ~/AVR.c $ 1

Эсиңизде болсун, "жаратуу" бир аргументти камтыйт, $ 1 бул биздин буйруктун биринчи аргументи, бул аргумент файлдын аталышы, биз каалаган эң акыркы нерсе - бир эле файл аталышына ээ болгон бир нече файл. Команда файлдын атын биздин аргументке өзгөртөт.

vi $ 1

Бул милдеттүү эмес, бирок файлды түзгөндөн кийин дароо ачуу жакшы болмок.

Түзөтүү, сактоо жана жабуу менен бүттүк.

Бул жерде аракетте жаратуунун мисалы.

./create blink.c

Бул blink.c деп аталган файлды түзөт, бул файлда AVR.c. шаблону болушу керек.

4 -кадам: Чуркайлы

Биз "run" деп аталган башка bash скриптин түзүшүбүз керек, бул сценарий 3 аргументти алат (биз колдонгон avr микроконтроллери, файлдын аты жана программист)

Келгиле, аны сап -сапка алалы.

#!/bin/bash

биздин шебанг

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

Жогорудагы буйрук биздин кодду нааразы кылат, '$ 1' - бул биз программалап жаткан микроконтроллер болгон биздин биринчи аргументибиз. $ 2 - бул файлдын аталышы болгон биздин экинчи аргументибиз.

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

Бул биздин аткарылган файлды он алтылыкка айландырат.

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

Эми avrdude кодду AVR чипине жазат. $ 3 - бул биз колдонгон программист болгон биздин 3 -аргумент.

Файлды "иштетүү" сактаңыз

аны аткарууга уруксат бер

chmod 755 run

Эми аны сынап көрөлү. Келгиле, биз blink.c жүктөөнү каалайбыз жана түздөн -түз arduino тактасын колдонобуз, биз дагы usbasp программистин колдонобуз. "Run" сценарийин мына ушинтип колдонобуз.

./run atmega328p blasp USBasp

Arduino тактасында atmega328p чипи бар, сиз каалаган AVR микроконтроллерин колдоно аласыз.

Экинчи аргумент - бул сиздин файлыңыздын аты, бирок бул жолу скрипт иштеткен файл кеңейтүүсүн кошпоңуз.

Андан кийин бизде үчүнчү аргумент бар, ал сиз колдонгон программист, мен USBasp программистин колдонуп жатам.

5 -кадам: Жыйынтык

Бул сиздин avr программалоо тажрыйбаңызды автоматташтыруунун эң сонун жолу, баш файлдарды "түзүү" жана "иштетүү" "~/.local/bin" үчүн жылдырсаңыз болот, андыктан сиз каалаган файл каталогунан скрипттерди колдоно аласыз.

Сунушталууда: