Compile a program for attiny13
From ThorstensHome
This is a description how to compile a program for the attiny13 processor. It is based on SUSE 12.2. Other distributions may work similar.
- install cross-avr-binutils
yast -i cross-avr-binutils
- install cross-avr-gcc from http://software.opensuse.org/package/cross-avr-gcc
- install avr-libc from http://software.opensuse.org/package/avr-libc
- create a path /cross
mkdir /cross
- link the files to the respective places
ln -s /usr/bin/avr-as /cross/as ln -s /usr/bin/avr-ld /cross/ld
- tell the system to use these
export PATH=/cross:$PATH
- now you can build this: http://gitorious.org/avr-gcc-examples/avr-gcc-examples/trees/master/attiny13-blink
beep
Here is my program for an ATtiny13 to beep with a frequency of 500Hz:
beep.c
#include <avr/io.h> #define F_CPU 1000000UL #include <util/delay.h> int main(void) { DDRB = 8; # PB4 will be sender, all other ports receiver while (1) { PORTB = 8; _delay_ms(1); PORTB = 0; _delay_ms(1); } return 0; }
Makefile
MCU=attiny13 CC=avr-gcc OBJCOPY=avr-objcopy CFLAGS=-g -mmcu=$(MCU) -Os all: beep.hex beep.hex : beep.o $(OBJCOPY) -R .eeprom -O ihex beep.o beep.hex beep.o : beep.c $(CC) $(CFLAGS) -Os -o beep.o beep.c clean: rm -f *.hex *.o