Addressed much larger flash size with avr-gcc v4.9.2. Refactored reports to save 160KB.
- The newest Arduino IDE 1.6.12 has recently updated to avr-gcc v4.9.2. Unfortunately, it produces a compiled size almost 0.7KB to 1KB larger than prior versions! This can easily cause the base build to exceed the Arduino Duemilanove/Nano flash limit of 30.5KB. The Arduino Uno seems to be ok still with its 31.5KB flash limit. - Makefile `-flto` compile flag added to cut down on the horrible flash size when using the new avr-gcc. (Edit Makefile and remove comment on COMPILE definition). This brings it in-line with what the IDE produces. - Functionalized repetitive tasks in report.c to try to reduce overall flash size. Successfully cut down about 160bytes. - Removed printFloat_SettingValue() and printFloat_RPMValue() functions. These aren’t required and can be replaced with a direct call to printFloat() because they don’t require a unit conversion check.
This commit is contained in:
6
Makefile
6
Makefile
@ -42,8 +42,14 @@ FUSES = -U hfuse:w:0xd2:m -U lfuse:w:0xff:m
|
||||
# Tune the lines below only if you know what you are doing:
|
||||
|
||||
AVRDUDE = avrdude $(PROGRAMMER) -p $(DEVICE) -B 10 -F
|
||||
|
||||
# Compile flags for avr-gcc v4.8.1. Does not produce -flto warnings.
|
||||
COMPILE = avr-gcc -Wall -Os -DF_CPU=$(CLOCK) -mmcu=$(DEVICE) -I. -ffunction-sections
|
||||
|
||||
# Compile flags for avr-gcc v4.9.2 compatible with the IDE. Or if you don't care about the warnings.
|
||||
# COMPILE = avr-gcc -Wall -Os -DF_CPU=$(CLOCK) -mmcu=$(DEVICE) -I. -ffunction-sections -flto
|
||||
|
||||
|
||||
OBJECTS = $(addprefix $(BUILDDIR)/,$(notdir $(SOURCE:.c=.o)))
|
||||
|
||||
# symbolic targets:
|
||||
|
Reference in New Issue
Block a user