AVR Tutorial Makefile
# Name: Makefile | |
# Author: <insert your name here> | |
# Copyright: <insert your copyright message here> | |
# License: <insert your license reference here> | |
# DEVICE ....... The AVR device you compile for | |
# CLOCK ........ Target AVR clock rate in Hertz | |
# OBJECTS ...... The object files created from your source files. This list is | |
# usually the same as the list of source files with suffix ".o". | |
# PROGRAMMER ... Options to avrdude which define the hardware you use for | |
# uploading to the AVR and the interface where this hardware | |
# is connected. | |
# FUSES ........ Parameters for avrdude to flash the fuses appropriately. | |
DEVICE = attiny2313 | |
CLOCK = 8000000 | |
PROGRAMMER = -c arduino -P /dev/tty.usb* -b 19200 | |
OBJECTS = main.o | |
FUSES = -U lfuse:w:0x64:m -U hfuse:w:0xdd:m -U efuse:w:0xff:m | |
###################################################################### | |
###################################################################### | |
# Tune the lines below only if you know what you are doing: | |
AVRDUDE = avrdude $(PROGRAMMER) -p $(DEVICE) | |
COMPILE = avr-gcc -Wall -Os -DF_CPU=$(CLOCK) -mmcu=$(DEVICE) | |
# symbolic targets: | |
all: main.hex | |
.c.o: | |
$(COMPILE) -c $< -o $@ | |
.S.o: | |
$(COMPILE) -x assembler-with-cpp -c $< -o $@ | |
# "-x assembler-with-cpp" should not be necessary since this is the default | |
# file type for the .S (with capital S) extension. However, upper case | |
# characters are not always preserved on Windows. To ensure WinAVR | |
# compatibility define the file type manually. | |
.c.s: | |
$(COMPILE) -S $< -o $@ | |
flash: all | |
$(AVRDUDE) -U flash:w:main.hex:i | |
fuse: | |
$(AVRDUDE) $(FUSES) | |
install: flash fuse | |
# if you use a bootloader, change the command below appropriately: | |
load: all | |
bootloadHID main.hex | |
clean: | |
rm -f main.hex main.elf $(OBJECTS) | |
# file targets: | |
main.elf: $(OBJECTS) | |
$(COMPILE) -o main.elf $(OBJECTS) | |
main.hex: main.elf | |
rm -f main.hex | |
avr-objcopy -j .text -j .data -O ihex main.elf main.hex | |
# If you have an EEPROM section, you must also create a hex file for the | |
# EEPROM and add it to the "flash" target. | |
# Targets for code debugging and analysis: | |
disasm: main.elf | |
avr-objdump -d main.elf | |
cpp: | |
$(COMPILE) -E main.c |
This comment has been minimized.
This comment has been minimized.
Thank you for great tutorial. It helped me getting started, which is kind of the hardest thing. Anyway, I have a question: |
This comment has been minimized.
This comment has been minimized.
Thanks for the tutorial. |
This comment has been minimized.
This comment has been minimized.
Can you drop the link to your tutorial here? |
This comment has been minimized.
This comment has been minimized.
I'm pretty sure this is the tutorial. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This comment has been minimized.
thanks for your video