Размер кода близкий к максимальному

inspiritus
Offline
Зарегистрирован: 17.12.2012

Здравия всем и бобра.

есть у меня код для наны, рабочий. занимает 92% памяти

стоит добавить

Serial.print(F(“————————————“));

Занятость возрастает до 93% , код компиллируется , начинает загружаться, а потом дудка выдает out of synk. Видимо 7% это загрузчик ?

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

лей через Usbasp

Green
Онлайн
Зарегистрирован: 01.10.2015

Не должно. Так кроме % должны ещё циферки быть.

inspiritus
Offline
Зарегистрирован: 17.12.2012

Ну я уже не увижу, тк расчистил код до 90%, но было что то типа 29284

b707
Онлайн
Зарегистрирован: 26.05.2017

inspiritus пишет:

Ну я уже не увижу, тк расчистил код до 90%

чего тогда спрашивать, людей дергать, если самому уже не надо :)

sadman41
Offline
Зарегистрирован: 19.10.2016

При компиляции пользователю сообщается доступный размер за вычетом загрузчика. Думаю, что % вычисляется от этой же величины.

Единственное, что я вспоминаю - с заливкой на Меге возникали какие-то проблемы, когда объектный код за 50-60 кб переваливал. Но как-то это непостоянно было. Очень удивился, помню, такой подлости...

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

b707 пишет:

inspiritus пишет:

Ну я уже не увижу, тк расчистил код до 90%

чего тогда спрашивать, людей дергать, если самому уже не надо :)

На будущее. Мне вот интересно - почему так? Наверное не в занимаемом месте проблема, а в ОЗУ.

b707
Онлайн
Зарегистрирован: 26.05.2017

BOOM пишет:

На будущее. Мне вот интересно - почему так? Наверное не в занимаемом месте проблема, а в ОЗУ.

ну почему же.  + 3 % к 29284 - это примерно 30300,  а это очень близко к тому.  сколько остается пустыми после бутлоадера на стандартной ардуинке

Green
Онлайн
Зарегистрирован: 01.10.2015

Да, только % считаются от upload.maximum_size, который на Нано = 30720. И это как раз и будет 100%.
Об этом же говорит и sadman41 в #5.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Вообще-то все эти проценты как-то никогда не внушали мне доверия.

А когда посчитал, что на BluePill при 8-кбайтном зарузчике процент считается от 64к, - и подавно.

inspiritus
Offline
Зарегистрирован: 17.12.2012

Ну отчего же не  нада. 
просто расчистил.

а впихнуть еще надо моногоневпихуемого.

кстати озу 62% только занято. И это некоторый запас, тк (F()); могу выкинуть и перекинуть из флэша в озу, но нихачу.

sadman41
Offline
Зарегистрирован: 19.10.2016

Отсутствие F() не экономит progmem space, в общем смысле.

inspiritus
Offline
Зарегистрирован: 17.12.2012

А если в этом F болтается пол-экрана html ? или <style>
типа этого 

вот где бы еще html в нане разместить. Если прицепить SD то по- любому места для кода не хватит или озу перепонится. 

Можно наверно html страницы подгружать снаружи, но это совсем изврат

Блюпиллоу осваивать пока некогда

наверно придется таки уйти под мегупро. 
долго тискал дую. так и не взлетела w5500 и sd на одной SPI. По совету пухляваго применил софтверный spi и наступило счастие. 

sadman41
Offline
Зарегистрирован: 19.10.2016

inspiritus пишет:

А если в этом F болтается пол-экрана html ? или <style>


Кучем разница? Изначально все во флеше. F() просто "оставляет" его на месте, не копируя в RAM.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

inspiritus пишет:

А если в этом F болтается пол-экрана html ? или <style>
типа этого 

А где, по-вашему, хранится этот html, когда контроллер обесточен?

Цитата:

вот где бы еще html в нане разместить. Если прицепить SD то по- любому места для кода не хватит или озу перепонится. 

Можно наверно html страницы подгружать снаружи, но это совсем изврат

Так SD - это и есть "подгружать снаружи".

Цитата:

Блюпиллоу осваивать пока некогда

наверно придется таки уйти под мегупро. 
долго тискал дую. так и не взлетела w5500 и sd на одной SPI. По совету пухляваго применил софтверный spi и наступило счастие. 

Весьма вероятно, это из кривого китайского адаптера SD, который вопреки стандарту не отпускает SPI при неактивном CS. Но обычно на шилде w5100 есть свой слот для карты памяти - им и надо пользоваться.