Компиляция скетча без загрузчика

Подписаться на 3Dtoday
chernykh986
Идет загрузка
Загрузка
16 Июня 2019
198
11
печатает на Prusa i3
Вопросы и Ответы
Приветствую всех!
Компилирую Marlin 1.1.9 (с автоуровнем) для Melzi V2_05.
Не хватает памяти. Если задаю AUTO_BED_LEVELING_BILINEAR, то приходится отключать ПИД-регулирование стола, THERMAL_PROTECTION стола и экструдера, и Linear Advance тоже. Приходится включать AUTO_BED_LEVELING_3POINT. Тогда код помещается в память.

Есть возможность скомпилировать без загрузчика? Тогда памяти будет доступно немножко больше. А загрузить можно программатором.

Пробовал ли кто-нибудь компилировать проекты Arduino альтернативными компиляторами? Возможно объем кода будет меньше?
P.S. Понимаю, что проще всего заменить плату. Но на этом принтере я тренируюсь. Планирую позже начать сборку другого.

Спасибо.
Ответы на вопрос

Ответы

16.06.19 в 18:20
1
А смьісл из жигуля лепить мерседес?
16.06.19 в 19:03
печатает на RepRap
0
Можно освободить немного памяти, раздокументировав строку #define DISABLE_M503.
17.06.19 в 06:55
печатает на Prusa i3
0
Спасибо.
Удалось включить AUTO_BED_LEVELING_BILINEAR, ПИД-регулирование стола и Linear Advance.
17.06.19 в 00:27
печатает на RepRap
1
Русский язык отключите и на все хватит
17.06.19 в 05:06
печатает на Prusa i3
0
Отключен - дисплей не поддерживает.
17.06.19 в 04:26
0
Во-первых, от Arduino IDE не только можно, но и нужно избавиться. Во-вторых, к советам выше, советую включить оптимизацию у компилятора по размеру кода, для gcc это будет:

gcc -Os

https://stackoverflow.com/questions/19689014/gcc-difference-between-o3-and-os
17.06.19 в 07:09
печатает на Prusa i3
0
Включил в настройках "Show verbose output during compilation". Увидел:

avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_SANGUINO -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino_Melzi\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files (x86)\\Arduino_Melzi\\hardware\\arduino\\avr\\variants\\sanguino" "C:\\Users\\ILya\\AppData\\Local\\Temp\\arduino_build_417468\\sketch\\emergency_parser.cpp" -o nul

Оптимизация уже включена?
18.06.19 в 02:50
0
Да, теперь удалить оттуда -g
18.06.19 в 06:06
печатает на Prusa i3
0
Пробовал. Размер не меняется.
17.06.19 в 07:48
печатает на Prusa i3
0
Выяснил, что если загружать через программатор, то загружаться будет без загрузчика:
https://www.arduino.cc/en/Hacking/Programmer
17.06.19 в 15:57
печатает на Prusa i3
0
Вообщем, отключил использование EEPROM:
//#define EEPROM_SETTINGS // Enable for M500 and M501 commands
//#define EEPROM_CHITCHAT
Размер скомпилированного файла уменьшился на 4%. Все влезло.

Для написания комментариев, пожалуйста, авторизуйтесь.