Перейти к содержанию
    

Нужен совет по процедуре обновления ПО через Ethernet

49 minutes ago, dimka76 said:

Он вполне в 30 кБ поместится 

Сейчас собрал стек в варианте только на один UDP, получилось 27 килобайт.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 6/6/2023 at 4:48 PM, Михась said:

Сейчас собрал стек в варианте только на один UDP, получилось 27 килобайт.

Попробуйте отключить Reassembly, Fragment outgoing IP packets.

Какой компилятор, какой уровень оптимизации.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На STM32F207 делал бутлоадер по UDP, IP был статический. Размер получился 15 520 Байт. LwIP 1.41.
Попробуйте покрутить еще настройки, возможно удастся уменьшить размер.
 

Изменено пользователем iamnot

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пробовал как-то изобрести велосипед и сделать стек-IP. Работающие ARP, DHCP, UDP заняли 6 кБ.
Возможно, в Вашем случае лучшим выбором будет uIP.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 6/6/2023 at 5:17 PM, Михась said:

Точно, включил оптимизацию, утопталось в 25 килобайт (армсс). Хватит с запасом. 

Можете еще попробовать отключить IPv6, LWIP_STATS, LWIP_DBG, AUTO_IP.

 

Ради спортивного интереса "облегчил" свой bootloader, убрал все навороты, оставил только

LwIP, UDP, свой протокол, работающий поверх UDP, функции чтения, записи, стирания FLASH.

Оставил только самое необходимое.

Размер получилось 14 276 байт.

Компилятор GCC, оптимизация Os.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ничего не сказано, в каких сетях предполагается работа?

 

Если в рамках одного широковещательного домена, и не нужно обновлять железки за шлюзами, то IP в общем-то не нужен. Достаточно mac адресов.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Насчет IP адреса изучите опыт реализации этого в роутерах. 

Там обновление происходит либо через веб интерфейс по текущему IP адресу, который был настроен пользователем.

Либо через бут, в который вошли с помощью зажатой кнопки. В таком случае в роутере будет другой фиксированный адрес и на нем будет DHCP сервер.

Раз кнопка была нажата, предполагается что человек рядом. Дальше надо соединятся к девайсу напрямую кабелем ethernet.

На устройстве стартует TFTP сервер, команды подаются через telnet или консоль. Аутентификация проверкой пароля.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

37 минут назад, uriy сказал:

Насчет IP адреса изучите опыт реализации этого в роутерах. 

Там обновление происходит либо через веб интерфейс по текущему IP адресу, который был настроен пользователем.

Либо через бут, в который вошли с помощью зажатой кнопки. В таком случае в роутере будет другой фиксированный адрес и на нем будет DHCP сервер.

....либо через своё приложение, и даже без всяких IP - через UDP (MikroTik).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 часов назад, jcxz сказал:

...либо через своё приложение,

В смысле приложение? Т.е. чтоб поменять настройки роутера я еще что-то должен скачивать и устанавливать???

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, mantech сказал:

В смысле приложение? Т.е. чтоб поменять настройки роутера я еще что-то должен скачивать и устанавливать???

Не "должен", а "можешь". Так как для домохозяек есть и привычный им вариант - браузер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 часа назад, jcxz сказал:

есть и привычный им вариант - браузер.

ИМХО - самый правильный вариант...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 minutes ago, mantech said:

ИМХО - самый правильный вариант...

А представьте, что нужно обновить инсталляцию из сотни устройств. Нет тут самого правильного варианта на все случаи жизни.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 minutes ago, aaarrr said:

А представьте, что нужно обновить инсталляцию из сотни устройств.

Представил. 526 например

 

10 minutes ago, aaarrr said:

Нет тут самого правильного варианта на все случаи жизни.

На все случаи - нет. Но правильный ответ всегда есть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, mantech сказал:

ИМХО - самый правильный вариант...

Вы видимо никогда МикроТика не видели. :biggrin:  И его winbox.

PS: Бесполезно рассказывать о вкусе чёрной икры тому, кто ничего кроме корки хлеба не ел. :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...