Ошибка «relocation truncated to fit: R_AVR_13_PCREL against symbol» при компиляции скетча для контроллеров ATTiny84/ATTiny85/ATTiny88

При компиляции скетча для контроллеров 84/85/88 возникает ошибка:

relocation truncated to fit: R_AVR_13_PCREL against symbol

Данная ошибка возникает при превышении размера скетча свыше 4000 байт для контроллеров с процессором архитектуры AVR25 — ядро до 8000 байт памяти, таких как ATTiny84/ATTiny85/ATTiny88.

Причем, как мы видим, сам контроллер позволяет загружать до 8000 байт.

Вся проблема в том, что программа WinAVR, используемая для прошивки контроллера в , имеет очень раннюю версию 2008 года.

В более поздней версии WinAVR данная проблема решена. Но разработчики Ардуино, по какой-то причине не обновляют ее.

Для избавления от этой ошибки, достаточно взять от новой версии WinAVR всего один файл ld.exe и заменить его в папке \hardware\tools\avr\avr\bin\

Загрузить архив с файлами для замены

В архиве файлы для разных систем. Нужно распаковать папку «hardware» в корень папки Arduino.

Добавить комментарий