mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-07-16 04:41:28 +00:00
Update to latest DMBS version.
This commit is contained in:
parent
9cca7a594f
commit
3069b7d9d2
@ -55,7 +55,7 @@ ERROR_IF_EMPTY ?= $(if $(strip $($(strip $(1)))), , $(error Makefile $(strip $
|
||||
ERROR_IF_NONBOOL ?= $(if $(filter Y N, $($(strip $(1)))), , $(error Makefile $(strip $(1)) option must be Y or N))
|
||||
|
||||
# Default values of optionally user-supplied variables
|
||||
ATPROGRAM_PROGRAMMER ?= jtagice3
|
||||
ATPROGRAM_PROGRAMMER ?= atmelice
|
||||
ATPROGRAM_INTERFACE ?= jtag
|
||||
ATPROGRAM_PORT ?=
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
DMBS_BUILD_MODULES += AVRDUDE
|
||||
DMBS_BUILD_TARGETS += avrdude avrdude-ee
|
||||
DMBS_BUILD_MANDATORY_VARS += MCU TARGET
|
||||
DMBS_BUILD_OPTIONAL_VARS += AVRDUDE_PROGRAMMER AVRDUDE_PORT AVRDUDE_FLAGS
|
||||
DMBS_BUILD_OPTIONAL_VARS += AVRDUDE_PROGRAMMER AVRDUDE_PORT AVRDUDE_FLAGS AVRDUDE_MEMORY
|
||||
DMBS_BUILD_PROVIDED_VARS +=
|
||||
DMBS_BUILD_PROVIDED_MACROS +=
|
||||
|
||||
@ -37,6 +37,8 @@ DMBS_BUILD_PROVIDED_MACROS +=
|
||||
# AVRDUDE_PROGRAMMER - Name of programming hardware to use
|
||||
# AVRDUDE_PORT - Name of communication port to use
|
||||
# AVRDUDE_FLAGS - Flags to pass to avr-dude
|
||||
# AVRDUDE_MEMORY - Memory space to program application into (e.g.
|
||||
# "application" for an XMEGA DFU device)
|
||||
#
|
||||
# PROVIDED VARIABLES:
|
||||
#
|
||||
@ -58,6 +60,7 @@ ERROR_IF_NONBOOL ?= $(if $(filter Y N, $($(strip $(1)))), , $(error Makefile $(s
|
||||
AVRDUDE_PROGRAMMER ?= jtagicemkii
|
||||
AVRDUDE_PORT ?= usb
|
||||
AVRDUDE_FLAGS ?=
|
||||
AVRDUDE_MEMORY ?= flash
|
||||
|
||||
# Sanity check user supplied values
|
||||
$(foreach MANDATORY_VAR, $(DMBS_BUILD_MANDATORY_VARS), $(call ERROR_IF_UNSET, $(MANDATORY_VAR)))
|
||||
@ -75,7 +78,7 @@ BASE_AVRDUDE_FLAGS := -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER)
|
||||
# Programs in the target FLASH memory using AVRDUDE
|
||||
avrdude: $(TARGET).hex $(MAKEFILE_LIST)
|
||||
@echo $(MSG_AVRDUDE_CMD) Programming device \"$(MCU)\" FLASH using \"$(AVRDUDE_PROGRAMMER)\" on port \"$(AVRDUDE_PORT)\"
|
||||
avrdude $(BASE_AVRDUDE_FLAGS) -U flash:w:$< $(AVRDUDE_FLAGS)
|
||||
avrdude $(BASE_AVRDUDE_FLAGS) -U $(AVRDUDE_MEMORY):w:$< $(AVRDUDE_FLAGS)
|
||||
|
||||
# Programs in the target EEPROM memory using AVRDUDE
|
||||
avrdude-ee: $(TARGET).eep $(MAKEFILE_LIST)
|
||||
|
@ -55,7 +55,7 @@ SHELL = /bin/sh
|
||||
|
||||
|
||||
# Current DMBS release version
|
||||
DMBS_VERSION = 0.3
|
||||
DMBS_VERSION = 0.4
|
||||
|
||||
|
||||
# Converts a given input to a printable output using "(None)" if no items are in the list
|
||||
|
@ -192,6 +192,12 @@ BASE_C_FLAGS := -x c -O$(OPTIMIZATION) -std=$(C_STANDARD) -Wstrict-prototypes
|
||||
BASE_CPP_FLAGS := -x c++ -O$(OPTIMIZATION) -std=$(CPP_STANDARD)
|
||||
BASE_ASM_FLAGS := -x assembler-with-cpp
|
||||
|
||||
# This flag is required for bootloaders as GCC will emit invalid jump table
|
||||
# assembly code for devices with large amounts of flash; the jump table target
|
||||
# is extracted from FLASH without using the correct ELPM instruction, resulting
|
||||
# in a pseudo-random jump target.
|
||||
BASE_CC_FLAGS += -fno-jump-tables
|
||||
|
||||
# Create a list of flags to pass to the linker
|
||||
BASE_LD_FLAGS := -lm -Wl,-Map=$(TARGET).map,--cref -Wl,--gc-sections
|
||||
ifeq ($(LINKER_RELAXATIONS), Y)
|
||||
|
@ -35,6 +35,10 @@ are included via a GNU Make `include` directive. While the DMBS `core` module is
|
||||
always required, you can pick and choose what other modules you wish to add to
|
||||
your user project.
|
||||
|
||||
DMBS is also used in the LUFA Project which provides a
|
||||
[detailed documentation](http://www.fourwalledcubicle.com/files/LUFA/Doc/151115/html/_page__build_system.html)
|
||||
of DMBS.
|
||||
|
||||
Here's an example user makefile:
|
||||
|
||||
MCU = atmega128
|
||||
|
Loading…
Reference in New Issue
Block a user