Contact me: hankecnc@gmail.com

草图对于 Arduino Uno 来说太大了 #441

推推 grbl 3年前 (2023-01-22) 215次浏览

关闭
yihan0512 开启了这个issue 2018 年 5 月 17 日 · 7条评论
关闭

草图对于 Arduino Uno 来说太大了#441

yihan0512 开启了这个issue 2018 年 5 月 17 日 · 7条评论

注释

草图对于 Arduino Uno 来说太大了 #441

您好,我按照添加 zip 库说明添加 grbl 库并尝试上传 grblUpload 草图。但是,我收到一条错误消息,说草图太大了:

Sketch uses 52,238 bytes (161%) of program storage space. Maximum is 32,256 bytes. Global variables use 1,633 bytes (79%) of dynamic memory, leaving 415 bytes for local variables. Maximum is 2,048 bytes. processing.app.debug.RunnerException: Sketch too big; see http://www.arduino.cc/en/Guide/Troubleshooting#size for tips on reducing it. at cc.arduino.Compiler.size(Compiler.java:336) at cc.arduino.Compiler.build(Compiler.java:159) at processing.app.SketchController.build(SketchController.java:643) at processing.app.Editor$BuildHandler.run(Editor.java:1795) at java.lang.Thread.run(Thread.java:745) Sketch too big; see http://www.arduino.cc/en/Guide/Troubleshooting#size for tips on reducing it.
如果有人能指出我做错的可能步骤或遇到同样的错误,非常感谢。

草图对于 Arduino Uno 来说太大了 #441
贡献者

在 OSX 上测试了关于 Arduino 1.8.5 的指令。没问题。只是一些可以忽略的重新定义警告。尝试全新安装您的 Arduino IDE 并确保所有板设置都正确。

草图对于 Arduino Uno 来说太大了 #441
作者

发现这是由于编译器标志,默认的 -Os 标志没有问题。

草图对于 Arduino Uno 来说太大了 #441
哈维 评论了 2019 年 11 月 27 日  

我对40eb439 v1.1h.20190825 有同样的问题(也尝试了旧标签,问题仍然存在)。Arduino IDE 是这样说的:

Sketch uses 35576 bytes (115%) of program storage space. Maximum is 30720 bytes.

Global variables use 1633 bytes (79%) of dynamic memory, leaving 415 bytes for local variables. Maximum is 2048 bytes.
Sketch too big; see http://www.arduino.cc/en/Guide/Troubleshooting#size for tips on reducing it.
Error compiling for board Arduino Nano.

我在哪里更改 gcc 选项?

我在详细模式下运行了编译:

/usr/share/arduino/arduino-builder -dump-prefs -logger=machine -hardware /usr/share/arduino/hardware -hardware /home/harvie/.arduino15/packages -hardware /home/harvie/Arduino/hardware -tools /usr/share/arduino/tools-builder -tools /home/harvie/.arduino15/packages -built-in-libraries /usr/share/arduino/libraries -libraries /home/harvie/Arduino/libraries -fqbn=archlinux-arduino:avr:nano:cpu=atmega328 -vid-pid=1A86_7523 -ide-version=10809 -build-path /tmp/arduino_build_181585 -warnings=none -build-cache /tmp/arduino_cache_332387 -prefs=build.warn_data_percentage=75 -verbose /home/harvie/Arduino/libraries/grbl/examples/grblUpload/grblUpload.ino
/usr/share/arduino/arduino-builder -compile -logger=machine -hardware /usr/share/arduino/hardware -hardware /home/harvie/.arduino15/packages -hardware /home/harvie/Arduino/hardware -tools /usr/share/arduino/tools-builder -tools /home/harvie/.arduino15/packages -built-in-libraries /usr/share/arduino/libraries -libraries /home/harvie/Arduino/libraries -fqbn=archlinux-arduino:avr:nano:cpu=atmega328 -vid-pid=1A86_7523 -ide-version=10809 -build-path /tmp/arduino_build_181585 -warnings=none -build-cache /tmp/arduino_cache_332387 -prefs=build.warn_data_percentage=75 -verbose /home/harvie/Arduino/libraries/grbl/examples/grblUpload/grblUpload.ino
Using board 'nano' from platform in folder: /usr/share/arduino/hardware/archlinux-arduino/avr
Using core 'arduino' from platform in folder: /usr/share/arduino/hardware/archlinux-arduino/avr
Detecting libraries used...
/usr/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -fno-devirtualize -fno-use-cxa-atexit -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR -I/usr/share/arduino/hardware/archlinux-arduino/avr/cores/arduino -I/usr/share/arduino/hardware/archlinux-arduino/avr/variants/eightanaloginputs /tmp/arduino_build_181585/sketch/grblUpload.ino.cpp -o /dev/null
/usr/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -fno-devirtualize -fno-use-cxa-atexit -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR -I/usr/share/arduino/hardware/archlinux-arduino/avr/cores/arduino -I/usr/share/arduino/hardware/archlinux-arduino/avr/variants/eightanaloginputs -I/home/harvie/Arduino/libraries/grbl /tmp/arduino_build_181585/sketch/grblUpload.ino.cpp -o /dev/null
Using cached library dependencies for file: /home/harvie/Arduino/libraries/grbl/coolant_control.c
Using cached library dependencies for file: /home/harvie/Arduino/libraries/grbl/eeprom.c
Using cached library dependencies for file: /home/harvie/Arduino/libraries/grbl/gcode.c
Using cached library dependencies for file: /home/harvie/Arduino/libraries/grbl/jog.c
Using cached library dependencies for file: /home/harvie/Arduino/libraries/grbl/limits.c
Using cached library dependencies for file: /home/harvie/Arduino/libraries/grbl/main.c
Using cached library dependencies for file: /home/harvie/Arduino/libraries/grbl/motion_control.c
Using cached library dependencies for file: /home/harvie/Arduino/libraries/grbl/nuts_bolts.c
Using cached library dependencies for file: /home/harvie/Arduino/libraries/grbl/planner.c
Using cached library dependencies for file: /home/harvie/Arduino/libraries/grbl/print.c
Using cached library dependencies for file: /home/harvie/Arduino/libraries/grbl/probe.c
Using cached library dependencies for file: /home/harvie/Arduino/libraries/grbl/protocol.c
Using cached library dependencies for file: /home/harvie/Arduino/libraries/grbl/report.c
Using cached library dependencies for file: /home/harvie/Arduino/libraries/grbl/serial.c
Using cached library dependencies for file: /home/harvie/Arduino/libraries/grbl/settings.c
Using cached library dependencies for file: /home/harvie/Arduino/libraries/grbl/spindle_control.c
Using cached library dependencies for file: /home/harvie/Arduino/libraries/grbl/stepper.c
Using cached library dependencies for file: /home/harvie/Arduino/libraries/grbl/system.c
Generating function prototypes...
/usr/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -fno-devirtualize -fno-use-cxa-atexit -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR -I/usr/share/arduino/hardware/archlinux-arduino/avr/cores/arduino -I/usr/share/arduino/hardware/archlinux-arduino/avr/variants/eightanaloginputs -I/home/harvie/Arduino/libraries/grbl /tmp/arduino_build_181585/sketch/grblUpload.ino.cpp -o /tmp/arduino_build_181585/preproc/ctags_target_for_gcc_minus_e.cpp
/usr/bin/arduino-ctags -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives /tmp/arduino_build_181585/preproc/ctags_target_for_gcc_minus_e.cpp
Compiling sketch...
/usr/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -fno-devirtualize -fno-use-cxa-atexit -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR -I/usr/share/arduino/hardware/archlinux-arduino/avr/cores/arduino -I/usr/share/arduino/hardware/archlinux-arduino/avr/variants/eightanaloginputs -I/home/harvie/Arduino/libraries/grbl /tmp/arduino_build_181585/sketch/grblUpload.ino.cpp -o /tmp/arduino_build_181585/sketch/grblUpload.ino.cpp.o
Compiling libraries...
Compiling library "grbl"
Using previously compiled file: /tmp/arduino_build_181585/libraries/grbl/coolant_control.c.o
Using previously compiled file: /tmp/arduino_build_181585/libraries/grbl/eeprom.c.o
Using previously compiled file: /tmp/arduino_build_181585/libraries/grbl/gcode.c.o
Using previously compiled file: /tmp/arduino_build_181585/libraries/grbl/jog.c.o
Using previously compiled file: /tmp/arduino_build_181585/libraries/grbl/limits.c.o
Using previously compiled file: /tmp/arduino_build_181585/libraries/grbl/main.c.o
Using previously compiled file: /tmp/arduino_build_181585/libraries/grbl/report.c.o
Using previously compiled file: /tmp/arduino_build_181585/libraries/grbl/motion_control.c.o
Using previously compiled file: /tmp/arduino_build_181585/libraries/grbl/spindle_control.c.o
Using previously compiled file: /tmp/arduino_build_181585/libraries/grbl/serial.c.o
Using previously compiled file: /tmp/arduino_build_181585/libraries/grbl/stepper.c.o
Using previously compiled file: /tmp/arduino_build_181585/libraries/grbl/settings.c.o
Using previously compiled file: /tmp/arduino_build_181585/libraries/grbl/protocol.c.o
Using previously compiled file: /tmp/arduino_build_181585/libraries/grbl/system.c.o
Using previously compiled file: /tmp/arduino_build_181585/libraries/grbl/planner.c.o
Using previously compiled file: /tmp/arduino_build_181585/libraries/grbl/nuts_bolts.c.o
Using previously compiled file: /tmp/arduino_build_181585/libraries/grbl/probe.c.o
Using previously compiled file: /tmp/arduino_build_181585/libraries/grbl/print.c.o
Compiling core...
Using precompiled core: /tmp/arduino_cache_332387/core/core_archlinux-arduino_avr_nano_cpu_atmega328_33334de5e2d3c2672266eacd2ab9ae3a.a
Linking everything together...
/usr/bin/avr-gcc -w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega328p -o /tmp/arduino_build_181585/grblUpload.ino.elf /tmp/arduino_build_181585/sketch/grblUpload.ino.cpp.o /tmp/arduino_build_181585/libraries/grbl/coolant_control.c.o /tmp/arduino_build_181585/libraries/grbl/eeprom.c.o /tmp/arduino_build_181585/libraries/grbl/gcode.c.o /tmp/arduino_build_181585/libraries/grbl/jog.c.o /tmp/arduino_build_181585/libraries/grbl/limits.c.o /tmp/arduino_build_181585/libraries/grbl/main.c.o /tmp/arduino_build_181585/libraries/grbl/motion_control.c.o /tmp/arduino_build_181585/libraries/grbl/nuts_bolts.c.o /tmp/arduino_build_181585/libraries/grbl/planner.c.o /tmp/arduino_build_181585/libraries/grbl/print.c.o /tmp/arduino_build_181585/libraries/grbl/probe.c.o /tmp/arduino_build_181585/libraries/grbl/protocol.c.o /tmp/arduino_build_181585/libraries/grbl/report.c.o /tmp/arduino_build_181585/libraries/grbl/serial.c.o /tmp/arduino_build_181585/libraries/grbl/settings.c.o /tmp/arduino_build_181585/libraries/grbl/spindle_control.c.o /tmp/arduino_build_181585/libraries/grbl/stepper.c.o /tmp/arduino_build_181585/libraries/grbl/system.c.o /tmp/arduino_build_181585/../arduino_cache_332387/core/core_archlinux-arduino_avr_nano_cpu_atmega328_33334de5e2d3c2672266eacd2ab9ae3a.a -L/tmp/arduino_build_181585 -lm
/usr/bin/avr-objcopy -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 /tmp/arduino_build_181585/grblUpload.ino.elf /tmp/arduino_build_181585/grblUpload.ino.eep
/usr/bin/avr-objcopy -O ihex -R .eeprom /tmp/arduino_build_181585/grblUpload.ino.elf /tmp/arduino_build_181585/grblUpload.ino.hex
Using library grbl in folder: /home/harvie/Arduino/libraries/grbl (legacy)
/usr/bin/avr-size -A /tmp/arduino_build_181585/grblUpload.ino.elf
Sketch uses 35576 bytes (115%) of program storage space. Maximum is 30720 bytes.

Global variables use 1633 bytes (79%) of dynamic memory, leaving 415 bytes for local variables. Maximum is 2048 bytes.
Sketch too big; see http://www.arduino.cc/en/Guide/Troubleshooting#size for tips on reducing it.
Error compiling for board Arduino Nano.
草图对于 Arduino Uno 来说太大了 #441
危机 评论了 2019 年 11 月 27 日 通过电子邮件
草图对于 Arduino Uno 来说太大了 #441
/usr/bin/avr-g++ --version
avr-g++ (GCC) 9.2.0
草图对于 Arduino Uno 来说太大了 #441

我的几分钱:
一般来说,gcc 中有一些变化,我遇到了 LUFA 的问题,添加 LTO 插件有帮助,但是!
请记住,LTO 会擦除 eeprom。
我的链接:
abcminiuser/lufa#149
abcminiuser/lufa#154
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91189

草图对于 Arduino Uno 来说太大了 #441
危机 评论了 2019 年 11 月 27 日 通过电子邮件
喜欢 (0)