Например TDA7294

Форум РадиоКот • Просмотр темы - U8glib и WinAVR ругается на размер
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср апр 17, 2024 02:02:51

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: U8glib и WinAVR ругается на размер
СообщениеДобавлено: Ср май 30, 2018 12:43:14 
Встал на лапы

Зарегистрирован: Чт дек 07, 2017 13:48:44
Сообщений: 142
Рейтинг сообщения: 0
Приветствую всех!

Использую компилятор WinAvr. Пытаюсь подключить в проект библиотеку LCD дисплеев U8gLib. Компилятор ругается на недопустимый размер кода. Выкидываю шрифты (уменьшаю размер кода) компилирует, но HEX файл на выходе аж 155 Кb! В контроллер Mega328 естественно это не лезет.
На буржуйских форумах пишут. что нужно поставить определенные флаги https://code.google.com/archive/p/u8glib/wikis/avr.wiki, но это для AtmelStudio.
Блин, почему вообще компилятор выдает такой космический размер файла? Он же должен выбрасывать неиспользуемый код...
Подскажите, кто сталкивался с u8glib, как не залезая в саму библиотеку получить скомпилированный WinAvr компилятором HEX файл до 32 Kb?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: U8glib и WinAVR ругается на размер
СообщениеДобавлено: Ср май 30, 2018 12:51:47 
Друг Кота
Аватар пользователя

Карма: 49
Рейтинг сообщений: 390
Зарегистрирован: Вс июл 12, 2009 19:15:29
Сообщений: 7010
Откуда: Ижевск
Рейтинг сообщения: 0
Вместо Debug поставить Relisе не помогает?

_________________
Docendo discimus


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: U8glib и WinAVR ругается на размер
СообщениеДобавлено: Ср май 30, 2018 13:04:47 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 2030
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 6618
Откуда: Сердце Пармы
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
кроме того хекс файл в несколько раз больше реального размера прошивки (данные в нём прорежены чтобы можно было блокнотом открыть и не испортить и ещё добавлена служебная инфа - контрольные суммы для каждой строки...)

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: U8glib и WinAVR ругается на размер
СообщениеДобавлено: Ср май 30, 2018 13:09:08 
Встал на лапы

Зарегистрирован: Чт дек 07, 2017 13:48:44
Сообщений: 142
Рейтинг сообщения: 0
Вместо Debug поставить Relisе не помогает?

Нет - точно такой же размер...156Kb...

Добавлено after 3 minutes 5 seconds:
кроме того хекс файл в несколько раз больше реального размера прошивки (данные в нём прорежены чтобы можно было блокнотом открыть и не испортить и ещё добавлена служебная инфа - контрольные суммы для каждой строки...)

И че делать? Ругаетсо веддь компиль: Program file is too big for the microcontroller: flash size = 32768, load address = 0, number of bytes = 54414.
Точнее даже не компиль уже а симулятор.


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: U8glib и WinAVR ругается на размер
СообщениеДобавлено: Ср май 30, 2018 13:14:03 
Мучитель микросхем
Аватар пользователя

Карма: 8
Рейтинг сообщений: 64
Зарегистрирован: Пт фев 17, 2017 11:18:07
Сообщений: 429
Откуда: Ставрополь-Донское
Рейтинг сообщения: 0
а что там с уровнем оптимизации?
может она тупо отключена, так там такое можно получить, что и WOT будет меньше...

ЗЫ. на бесплатных или условно-платных версиях после 30 дней так и происходит.

_________________
LIVE - EVIL


Последний раз редактировалось pasha_zv Ср май 30, 2018 13:18:46, всего редактировалось 1 раз.

Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: U8glib и WinAVR ругается на размер
СообщениеДобавлено: Ср май 30, 2018 13:31:56 
Встал на лапы

Зарегистрирован: Чт дек 07, 2017 13:48:44
Сообщений: 142
Рейтинг сообщения: 0
а что там с уровнем оптимизации?
может она тупо отключена, так там такое можно получить, что и WOT будет меньше...

Стоит O1, Пробовал все. Os в т. ч....

Добавлено after 3 minutes 11 seconds:
С O1 - 164 кB, O3 - 244 Кb, Os - 156кB....

Добавлено after 10 minutes 41 second:
Я так понимаю проблема с Make файлом и флагами, но как его прикрутить (как внешний) к avr-gcc не понятно.
Help камрады! Задолбался я уже с этой либой и winavr. Хоть на студию или IAR переходи.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: U8glib и WinAVR ругается на размер
СообщениеДобавлено: Ср май 30, 2018 14:40:26 
Друг Кота

Карма: 38
Рейтинг сообщений: 618
Зарегистрирован: Пн апр 06, 2015 11:01:53
Сообщений: 3092
Откуда: москва, уфа
Рейтинг сообщения: 0
winavr, насколько помню, просто собранный для винды avr-gcc плюс либы. Как и где вы сейчас компиляете код?
Там есть какой-то дефолтный makefile вроде. Флаги в них традиционно зовутся CFLAGS и LDFLAGS для компилятора и линкера соответственно.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: U8glib и WinAVR ругается на размер
СообщениеДобавлено: Ср май 30, 2018 20:03:36 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 1
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
во-первых, на размер hex-файла смотреть смысла нет вообще: в тулчейне есть avr-size, которая показывает настоящие значения размеров задействованной памяти. кстати, почти всегда в makefile есть соответствующий вызов этой утилиты.
во-вторых, настоятельно рекомендую использовать при компиляции опцию -ffunction-sections -fdata-sections, а при линковке -Wl,-gc-sections (опции указывать символ-в-символ так, как я написал, без пробелов и т.п. вольностей).
в-третьих, рекомендую перейти на более свежую версию avr-gcc, так как WinAVR уже сильно-сильно устарела. в последних версиях можно добавить опцию -flto, и в итоге размер еще заметно уменьшится.

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

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: U8glib и WinAVR ругается на размер
СообщениеДобавлено: Чт май 31, 2018 09:25:40 
Встал на лапы

Зарегистрирован: Чт дек 07, 2017 13:48:44
Сообщений: 142
Рейтинг сообщения: 0
Спасибо откликнувшимся. Господа! Я знаю про эти флаги в make file, но к сожалению, заноза сидит в моей голове и я хочу использовать чистый Си да еще в среде Proteus 8! В нем, как раз, напрямую качается WinAVR, в нем же и AVR-GCC. Протеус крякнутый v8.4.
WinAVR-20100110 - на сколько я понимаю это последняя его версия.
В нем же AVR-GCC - v4.3.3.
Вся проблема в том, что я не могу отредактировать Make file, т. к. он генерится при компиляции автоматически и все мои изменения удаляются. Шаблон Make file изменить у меня тоже не удалось, а функции "Use external make file" в чудном Протеусе нет...
Более того, я не могу понять как добавить эти флаги напрямую из опций проекта и конфигурации компилятора. Я просто не могу их добавить. Screen-ы прилагаю.
Есть в WinAVR утилита Mfile, где можно сгенерить Make file, но как я уже говорил - не могу понять как скормить компилятору внешний Make file. Сейчас думаю как отредактировать шаблон Make File по которому генерит компилятор...

P\S: За изврат с Протеусом просьба не пинать :oops:


Вложения:
Комментарий к файлу: Флаги
Screen.png [213.17 KiB]
Скачиваний: 598
Комментарий к файлу: Флаги, которые можно добавить
Screen 2.png [221.9 KiB]
Скачиваний: 585
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: U8glib и WinAVR ругается на размер
СообщениеДобавлено: Чт май 31, 2018 09:35:28 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 1
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
dds7sdd писал(а):
не могу понять как скормить компилятору
у вас же есть галочка "Advanced" на опциях компиляции, где все должно быть можно исправить вручную, есть и кнопка Add - добавьте указанные мной опции и всех делов.

Добавлено after 1 minute 25 seconds:
dds7sdd писал(а):
WinAVR-20100110 - на сколько я понимаю это последняя его версия.
В нем же AVR-GCC - v4.3.3
вроде как там avr-gcc версии 3.3.2

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

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: U8glib и WinAVR ругается на размер
СообщениеДобавлено: Чт май 31, 2018 10:14:51 
Встал на лапы

Зарегистрирован: Чт дек 07, 2017 13:48:44
Сообщений: 142
Рейтинг сообщения: 0
О греческие боги протеуса и мои занозы в голове!
Я добавлял флаги в компилятор CC но не в линкер LD! :facepalm:
Все гуд, теперь HEX из 156 Кb превратился в 20Kb! :)
Правда это все равно многовато, но колупать U8glib как то вообще муторно.
Спасибо тебе ARV за то, что еще раз ткнул носом! :beer:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: U8glib и WinAVR ругается на размер
СообщениеДобавлено: Чт май 31, 2018 10:29:12 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
dds7sdd писал(а):
теперь HEX из 156 Кb превратился в 20Kb!
ткну носом еще раз: размер HEX не имеет значения, смотрите, что покажет avr-size

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

Мой уютный бложик... заходите!


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y