Talaan ng mga Nilalaman:

Paano Mag-set up ng Kapaligiran ng Programming ng AVR sa Linux: 5 Mga Hakbang
Paano Mag-set up ng Kapaligiran ng Programming ng AVR sa Linux: 5 Mga Hakbang

Video: Paano Mag-set up ng Kapaligiran ng Programming ng AVR sa Linux: 5 Mga Hakbang

Video: Paano Mag-set up ng Kapaligiran ng Programming ng AVR sa Linux: 5 Mga Hakbang
Video: Marlin Firmware 2.0.x Explained 2024, Nobyembre
Anonim
Paano Mag-set up ng Kapaligiran ng Programming ng AVR sa Linux
Paano Mag-set up ng Kapaligiran ng Programming ng AVR sa Linux

Kung nais mong mag-program ng mga AVR microcontroller sa Windows mayroon kang isang Studio ngunit sa Linux ang mayroon lamang kami ay isang Dude.

Ang AVRDUDE ay ang interface ng command line upang mai-program ang mga chip ng AVR, maaari itong medyo mahirap gawin upang mag-setup muna. Sa Instructable na ito, magse-set up ako ng AVRDUDE at lumilikha rin ng isang kapaligiran sa pag-program ng AVR para sa terminal ng Linux.

Una ay mai-install ko ang lahat ng AVRDUDE at lahat ng kinakailangang mga dependency pagkatapos ay lilikha ako ng isang BASH script na makakatulong sa pag-program

Hakbang 1: Pagkuha ng Iyong Compiler at Ibang Mga Tool

Sa iba pang mga programa ng AVR chips kailangan mo ng isang espesyal na tagatala na kilala bilang gcc-avr at ang iba pang mga tool tulad ng binutils-avr, avr-libc, gdb-avr huling ngunit hindi ang pinakamaliit na avrdude.

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

Hakbang 2: Lumilikha ng isang Template

Lumilikha ng isang Template
Lumilikha ng isang Template

Kung magbukas ka ng isang bagong sketch sa arduino makakakuha ka ng isang template ng code na naglalaman ng dalawang mga pag-andar, nakakatipid sa iyo ng maraming oras.

Gumagamit ang AVRDUDE ng C at maaari itong maging medyo nakakainis upang palaging lumikha ng isang pangunahing pamamaraan sa tuwing nais mong mag-code, kaya lilikha ako ng isang template ng AVR.

pindutin ang ~ / Mga Template / AVR.c

Gamitin ang command na touch upang lumikha ng isang walang laman na file sa folder ng Mga Template.

vi ~ / Mga Template / AVR.c

buksan ang file sa iyong paboritong text editor, gumagamit ako ng vi.

# tukuyin ang F_CPU 16000000L

#include #include int main () {habang () {} ibalik ang 0; }

I-type ang code sa itaas at i-save ang file. Ang code na ito ay magsisilbing aming template.

Tandaan: itinakda ko ang dalas ng aking orasan bilang 16000000, maaari mong itakda ang iyong bilang anumang iba pang dalas siguro 8000000.

Hakbang 3: Lumikha ng isang Bagong File

Ngayon mayroon kaming isang template para sa aming mga AVR code, ang kailangan lang naming gawin ay upang lumikha ng isang bagong file. Lumilikha ako ng isang bash na utos na kukuha ng isang argument (ang pangalan ng file) pagkatapos ay lilikha ng file na iyon na may template na AVR.

gumawa tayo ng isang walang laman na file na tinatawag na "lumikha"

pindutin ang lumikha

baguhin ang pahintulot ng file dahil ito ay magiging isang script ng BASH

chmod 755 lumikha

Buksan ang "lumikha" kasama ang iyong text editor. Ngayon ay i-edit natin ang "lumikha", idagdag ang sumusunod na mga linya ng mga utos ayon sa linya.

#! / baseng / bash

Ito ang landas sa interpreter para sa "lumikha" na kung saan ay bash.

cp ~ / Mga Template / AVR.c / home / $ USER

Kinokopya nito ang aming template file sa direktoryo ng tahanan ng mga gumagamit.

mv ~ / AVR.c $ 1

Tandaan na sinabi ko na ang "lumikha" ay tumatagal ng isang argument, ang $ 1 ay nangangahulugang ang unang argumento ng aming utos ang argument na ito ay ang inilaan na pangalan ng file, ang huling bagay na nais namin ay maraming mga file na mayroong parehong filename. Pinalitan ng utos ang pangalan ng filename sa aming pagtatalo.

vi $ 1

Opsyonal ito ngunit mainam na buksan ang aming file, kaagad pagkatapos naming likhain ito.

Tapos na kami sa pag-edit ng paglikha, i-save ito at isara ito.

Narito ang isang halimbawa ng paggawa sa pagkilos.

./gumawa ng blink.c

Lumilikha ito ng isang file na kilala bilang blink.c, ang file na ito ay dapat magkaroon ng template ng AVR.c.

Hakbang 4: Tumakbo Tayo

Kailangan naming lumikha ng isa pang bash script na kilala bilang "run", ang script na ito ay kukuha ng 3 mga argumento (ang avr microcontroller na ginagamit namin, ang filename at ang programmer)

Dalhin natin ito sa linya.

#! / baseng / bash

ang aming shebang

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

Ang utos sa itaas ay pinagsasama ang aming code, '$ 1' ang aming unang argumento na ang microcontroller na aming pinoprogram. Ang $ 2 ang aming pangalawang argumento na kung saan ay ang filename.

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

Ini-convert nito ang aming nasunod na file sa hex.

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

Ngayon ay sinusunog ng avrdude ang code sa AVR chip. Ang $ 3 ang aming pangatlong argumento na kung saan ay ginagamit namin ang programmer.

I-save ang file na "run"

bigyan ito ng pahintulot na magpatupad

chmod 755 run

Ngayon subukan natin ito. Sabihin nating nais nating mag-upload ng blink.c at gumagamit kami ng isang arduino board nang direkta, gumagamit din kami ng isang usbasp programmer. Ganito namin ginagamit ang "run" script.

./run atmega328p blink USBasp

Ang board ng arduino ay may atmega328p chip, maaari mong gamitin ang anumang AVR microcontroller na iyong pinili.

Ang pangalawang argumento ay ang iyong filename, ngunit sa oras na ito huwag idagdag ang extension ng file na hinahawakan ng script.

Pagkatapos mayroon kaming pangatlong argument na kung saan ay ang programmer na iyong ginagamit, gumagamit ako ng isang USBasp programmer.

Hakbang 5: Konklusyon

Ito ay isang mahusay na paraan ng pag-automate ng iyong karanasan sa avr program, maaari mong ilipat ang bash file na "lumikha" at "patakbuhin" sa "~ /.local / bin" upang magamit mo ang mga script mula sa anumang direktoryo ng file na iyong pinili.

Inirerekumendang: