Innehållsförteckning:

Så här konfigurerar du AVR -programmeringsmiljö på Linux: 5 steg
Så här konfigurerar du AVR -programmeringsmiljö på Linux: 5 steg

Video: Så här konfigurerar du AVR -programmeringsmiljö på Linux: 5 steg

Video: Så här konfigurerar du AVR -programmeringsmiljö på Linux: 5 steg
Video: Att köra Linux, NoSql och andra Open Source produkter i Azure - Dag König 2024, November
Anonim
Så här konfigurerar du AVR -programmeringsmiljö på Linux
Så här konfigurerar du AVR -programmeringsmiljö på Linux

Om du vill programmera AVR -mikrokontroller på Windows har du en Studio men på Linux är allt vi har en Dude.

AVRDUDE är kommandoradsgränssnittet för att programmera AVR -chips, det kan vara lite knepigt att installera först. I denna instruktionsbok kommer jag att konfigurera AVRDUDE och även skapa en AVR -programmeringsmiljö för Linux -terminalen.

Först installerar jag alla AVRDUDE och alla nödvändiga beroenden, sedan skapar jag ett BASH -skript som hjälper till med programmering

Steg 1: Skaffa din kompilator och andra verktyg

I andra för att programmera AVR-chips behöver du en speciell kompilator som kallas gcc-avr och de andra verktygen som binutils-avr, avr-libc, gdb-avr sist men inte minst avrdude.

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

Steg 2: Skapa en mall

Skapa en mall
Skapa en mall

Om du öppnar en ny skiss i arduino får du en kodmall som innehåller två funktioner, detta sparar dig mycket tid.

AVRDUDE använder C och det kan vara lite irriterande att alltid skapa en huvudmetod varje gång du vill koda, så jag kommer att skapa en AVR -mall.

tryck på ~/Mallar/AVR.c

Använd pekskommandot för att skapa en tom fil i mappen Mallar.

vi ~/Mallar/AVR.c

öppna filen med din favorit textredigerare, jag använder vi.

#define F_CPU 16000000L

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

Skriv in koden ovan och spara filen. Denna kod fungerar som vår mall.

Obs: jag ställer in min klockfrekvens till 16000000, du kan ställa in din som vilken annan frekvens som helst 8000000.

Steg 3: Skapa en ny fil

Nu har vi en mall för våra AVR -koder, allt vi behöver göra är att skapa en ny fil. Jag kommer att skapa ett bash -kommando som tar in ett argument (filnamnet) och sedan skapa den filen med AVR -mallen.

låt oss göra en tom fil som heter "skapa"

tryck på skapa

ändra filtillståndet eftersom detta kommer att vara ett BASH -skript

chmod 755 skapa

Öppna "skapa" med din textredigerare. Låt oss nu redigera "skapa", lägg till följande kommandon rad för rad.

#!/bin/bash

Detta är vägen till tolk för "skapa" som är bash.

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

Detta kopierar vår mallfil till användarnas hemkatalog.

mv ~/AVR.c $ 1

Kom ihåg att jag sa att "skapa" tar in ett argument, $ 1 betyder att det första argumentet i vårt kommando detta argument är det avsedda filnamnet, det sista vi vill ha är flera filer med samma filnamn. Kommandot byter namn på filnamnet till vårt argument.

vi $ 1

Detta är valfritt men det kommer att vara trevligt att öppna vår fil, direkt efter att vi har skapat den.

Vi är klara med att redigera skapa, spara det och stäng det.

Här är ett exempel på skapa i aktion.

./skapa blink.c

Detta skapar en fil som kallas blink.c, den här filen ska ha mallen AVR.c.

Steg 4: Låt oss köra

Vi måste skapa ett annat bash -skript som kallas "kör", det här skriptet kommer att ta tre argument (den avr -mikrokontroller vi använder, filnamnet och programmeraren)

Låt oss ta det rad för rad.

#!/bin/bash

vår shebang

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

Kommandot ovan kompletterar vår kod, "$ 1" är vårt första argument som är mikrokontrollern vi programmerar. $ 2 är vårt andra argument som är filnamnet.

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

Detta omvandlar vår efterlevda fil till hex.

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

Nu bränner avrdude koden till AVR -chip. $ 3 är vårt tredje argument som är programmeraren vi använder.

Spara filen "kör"

ge det exekvera tillstånd

chmod 755 kör

Nu ska vi testa det. Låt oss säga att vi vill ladda upp blink.c och vi använder ett arduino -kort direkt, vi använder också en usbasp -programmerare. Så här använder vi "kör" -skriptet.

./run atmega328p blinka USBasp

Arduino -kortet har ett atmega328p -chip, du kan använda valfri AVR -mikrokontroller.

Det andra argumentet är ditt filnamn, men den här gången lägger du inte till filtillägget, skriptet hanterar det.

Sedan har vi det tredje argumentet som är programmeraren du använder, jag använder en USBasp -programmerare.

Steg 5: Slutsats

Detta är ett bra sätt att automatisera din avr -programmeringsupplevelse, du kan flytta bash -filerna "skapa" och "köra" till "~/.local/bin" så att du kan använda skripten från valfri filkatalog.

Rekommenderad: