Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Projeto: Balizar
- # Author: João peterson
- # Data de criação: 22.01.2020
- # Ultima data de modificação: 22.01.2020
- #
- # Comandos:
- # - Compilar e gravar: make
- # - Compilar .hex: make build
- # - Gravar apenas: make burn
- # - Gerar dependencias: make depend
- # Variaveis a serem usadas como argumento
- mmcu = atmega328p
- # Qual microcontrolador é usado
- AVR_MMCU =
- AVRDUDE_MMCU =
- ifeq ($(mmcu),atmega328p)
- AVR_MMCU = atmega328p
- AVRDUDE_MMCU = m328p
- else ifeq ($(mmcu),atmega328)
- AVR_MMCU = atmega328
- AVRDUDE_MMCU = m328
- else ifeq ($(mmcu),atmega8)
- AVR_MMCU = atmega8
- AVRDUDE_MMCU = m8
- else
- AVR_MMCU = atmega328p
- AVRDUDE_MMCU = m328p
- endif
- # Programa principal e diretórios
- MAIN_APP = main
- MAIN_DIR = $(shell pwd)
- MAIN_HEX_PATH = $(MAIN_DIR)\$(MAIN_APP).hex
- # Compilador
- CC = avr-gcc
- OBJCOPY = avr-objcopy.exe
- AVRDUDE := avrdude
- CFLAGS = -g -Os
- LFLAGS = -Os -mmcu=$(AVR_MMCU) # Modelo de AVR : https://www.microchip.com/webdoc/avrlibcreferencemanual/using_tools_1using_avr_gcc_mach_opt.html - Tabela 2, coluna "MCU name"
- HFLAGS = -j .text -j .data -O ihex
- # Opções avrdude
- # Não configurar os fuse bits e lock bits, fazer manualmente pelo avrdude ou avrdudess
- DUDEFLAGS = -c
- DUDEFLAGS += usbasp # Gravador usado : https://www.nongnu.org/avrdude/user-manual/avrdude_4.html
- DUDEFLAGS += -p
- DUDEFLAGS += $(AVRDUDE_MMCU) # Considerar modelo do AVR : https://www.nongnu.org/avrdude/user-manual/avrdude_4.html
- DUDEFLAGS += -P
- DUDEFLAGS += usb
- DUDEFLAGS += -b
- DUDEFLAGS += 9600
- DUDEFLAGS += -B
- DUDEFLAGS += 0.5
- DUDEFLAGS += -U flash:w:$(MAIN_HEX_PATH):a
- # Modulos a serem compilados
- SOURCE_FILES = $(shell find -name "*.c") # lista arquivos .c
- OBJECT_FILES = $(patsubst %.c,%.o,$(SOURCE_FILES)) # futuros arquivos .o
- # Regras:
- #Genérica para compilação do .o
- %.o : %.c
- $(CC) $(CFLAGS) -c $< -o $@
- #Padrão
- BuildTask_default : depend build burn
- #Geração de depêndencias
- depend: $(SOURCE_FILES)
- @echo $(SOURCE_FILES)
- @echo $(OBJECT_FILES)
- $(CC) -MM $(SOURCE_FILES) > $@.d
- -include depend.d
- #gravação
- burn :
- $(AVRDUDE) $(DUDEFLAGS)
- build : $(MAIN_APP).elf
- $(OBJCOPY) $(HFLAGS) $< $(MAIN_APP).hex
- $(MAIN_APP).elf : $(OBJECT_FILES)
- $(CC) $(LFLAGS) $(OBJECT_FILES) -o $@
- clear :
- $(shell rm -f $(OBJECT_FILES))
- $(shell rm -f $(MAIN_APP).elf)
- $(shell rm -f $(MAIN_APP).hex)
- $(shell rm -f depend.d)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement