Fórum témák

» Több friss téma
Cikkek » AVR programozás Ubuntu-n
AVR programozás Ubuntu-n
Szerző: mosomate, idő: Dec 5, 2014, Olvasva: 11871, Oldal olvasási idő: kb. 1 perc
Lapozás: OK   3 / 8

Ebben a szakaszban létrehozunk egy forrásfájlt, lefordítjuk és összelinkeljük egy .elf fájllá.
Nyissunk egy új terminálablakot, és telepítsük az AVR specifikus GCC fordítót, valamint a hozzá tartozó standard könyvtárat a következő paranccsal:

sudo apt-get install gcc-avr avr-libc

Készítsünk a saját mappánkban egy projektkönyvtárat, ahová dolgozhatunk. Nyissunk meg egy tetszőleges szövegszerkesztőt (pl.: gedit), másoljuk bele az alábbi kódot, és mentsük el main.c néven. (Itt nyilván tetszőleges kód használható, ez csak egy példaprogram.)

// Villogtat egy, a 2-es lábra kötött ledet.
#define F_CPU 1000000UL
#include <avr/io.h>
#include <util/delay.h>

void _delay_10ms(unsigned long val) {
    while(val--) _delay_ms(10);
}
//-------------------------------------
int main(void) {
    DDRB |= (1<<PINB3);
    PORTB &= ~(1<<PINB3);
    while(1) {
        if (PINB & (1<<PINB3))
            PORTB &= ~(1<<PINB3);
        else
            PORTB |= (1<<PINB3);
        _delay_10ms(100);
    }
}

Fordítsuk le! A terminálablakban navigáljuk a fent létrehozott mappába, és adjuk ki a következő parancsot:

avr-gcc -O2 -mmcu=attiny45 -c main.c

A használt kapcsolók feladata:
   -O2: 2-es optimalizációs szintet használunk, így hatékonyabb lesz a lefordított kód;
   -mmcu=attiny45: a használt mikrovezérlő típusa;
   -c: álljon meg a fordításnál, ne linkeljen a fordító.

Ha nem kaptunk hibaüzenetet, akkor szerkesszük össze a standard könyvtárral a fájlt:

avr-gcc -mmcu=attiny45 -o prog.elf main.o

Újdonság:
   -o: ez körülbelül annyit tesz, hogy az utána következő paraméterben szereplő névvel szeretnénk elnevezni a kimeneti fájt.

Végül szedjük ki a fölösleges információkat:

avr-objcopy -j .text -j .data -O ihex prog.elf prog.hex

Itt az egyes kapcsolók szerepére nem térnék ki, kivéve a ihex-et, ami azt mondja meg az object copy-nak, hogy Intel HEX formátumot készítsen.
Jelenleg így néz ki a mappánk:

screenshot1

A cikk még nem ért véget, lapozz!
Következő: »»   3 / 8
Értékeléshez bejelentkezés szükséges!
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem