Created
March 5, 2014 23:30
-
-
Save edwardhotchkiss/9378977 to your computer and use it in GitHub Desktop.
ATtiny85 avr-gcc / avrdude Makefile
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DEVICE = attiny85 | |
CLOCK = 8000000 | |
PROGRAMMER = stk500v1 | |
PORT = /dev/tty.usbmodem1421 | |
BAUD = 19200 | |
FILENAME = main | |
COMPILE = avr-gcc -Wall -Os -DF_CPU=$(CLOCK) -mmcu=$(DEVICE) | |
all: usb clean build upload | |
usb: | |
ls /dev/cu.* | |
build: | |
$(COMPILE) -c $(FILENAME).c -o $(FILENAME).o | |
$(COMPILE) -o $(FILENAME).elf $(FILENAME).o | |
avr-objcopy -j .text -j .data -O ihex $(FILENAME).elf $(FILENAME).hex | |
avr-size --format=avr --mcu=$(DEVICE) $(FILENAME).elf | |
upload: | |
avrdude -v -p $(DEVICE) -c $(PROGRAMMER) -P $(PORT) -b $(BAUD) -U flash:w:$(FILENAME).hex:i | |
clean: | |
rm main.o | |
rm main.elf | |
rm main.hex |
@edwardhotchkiss - thank you! This is really simple and it works, unlike every other avr-gcc makefile on the web.
@vyorkin - your avr-size
appears to be just regular GNU size
, as I get a similar error on Ubuntu if I
size --format=avr --mcu=atmega8a main.elf
instead of
avr-size --format=avr --mcu=atmega8a main.elf
avr-size --version
returns GNU size (GNU Binutils) 2.26.20160125
for me, though, and the avr-size binary is huge compared to the regular one.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
According to
man avr-size
the--format
option might be eitherberkley
orsysv
...I'm on NixOS, pkgs installed:
Here is how my fork of your Makefile currently looks like: