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

Всем привет.

Есть stm32 который работает с сетью через W3150, очень хочется обновлять прошивку в нем по сети, 

есть что нить готовое или близко расположенное по этой теме или все придеться делать врукопашную ?

Те я так понимаю нужно:

1. прога на ПК для загрузки 

2. бутлодер на stm32 который будет принимать, сохранять новую версию в озу по каким то командам и потом переписывать ее на место старой

(те прошивка должна занимать менее половины озу )

 

 

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


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

Первая ссылка в гугле

https://www.feaser.com/openblt/doku.php?id=homepage

и еще 100500 далее

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


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

 

26 minutes ago, whale said:

Спасибо, ничего правда пока не понятно но интересно )

Как не понятно ? Все же написано черным по белому

https://www.feaser.com/openblt/doku.php?id=manual:net_demo

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


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

Непонятно какие и куда программы класть в мк, тем более что интерфейс не TCP а только UDP, который по сути сам мк  и поддерживает, те принимет и рассовывает пакеты определенной длинны в программе, как это все объеденить с этим программатром неясно а как загружать  прошивку в винде конечно проблем нет.

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

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


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

3 hours ago, whale said:

как загружать  прошивку в винде конечно проблем нет.

Тогда и на стороне МК тоже не должно быть проблем.

Протокол Вам известен (со стороны windows).

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


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

По моему проще взять все и написать с нуля под конкретную задачу чем разбираться в тоннах чужого кода, писал как то бутлодер под i2c полностью рукопашный просто думал мож как то упростить и убыстрить ) 

В принципе задача то не такая и сложная единственный пока непонятный момент это перезапись залитой прошивки в рабочую облаcть на stm32

или же можно писать сразу в рабочею область, сэкономить на этом память.

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

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


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

Можно через память, можно напрямую.

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

Есть TFTP протокол. Можно свой протокол нагородить.

Тут вариантов 100500. А телепаты все в отпуске.

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


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

2 часа назад, whale сказал:

или же можно писать сразу в рабочею область, сэкономить на этом память.

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

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


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

 

Just now, jcxz said:

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

Это понятно, тут на крайний случай придеться прошивать пока не прошьется, единственно нужно чтобы уст-во себя не убило если что то  не так пойдет )

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

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


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

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

Это понятно, тут на крайний случай придеться прошивать пока не прошьется, единственно нужно чтобы уст-во себя не убило если что то  не так пойдет )

Ну вот оно и убьёт себя если будете прошиваться из ОЗУ и дёрнется питание.

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


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

1 hour ago, jcxz said:

Ну вот оно и убьёт себя если будете прошиваться из ОЗУ и дёрнется питание.

Не совсем так. Загрузчик может проверить код и если он некорректный, то сразу перейти в режим загрузки и большой брат ещё раз пришлёт ему программу. Зависит от сценария, нарисованного ручкой на бумажке.

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


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

11 hours ago, whale said:

В принципе задача то не такая и сложная единственный пока непонятный момент это перезапись залитой прошивки в рабочую облаcть на stm32 или же можно писать сразу в рабочею область, сэкономить на этом память.

Конечно надо писать сразу туда где будет исполняться.
Я б вообще DMA использовал для этого, с  W3150 это же очень просто. 

Вэлкам снова к телепатам. :biggrin:

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


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

DMA то ту зачем ? мне скорость не важна, по любому пакеты через ядро пройдут.

Just now, AlexandrY said:

Вэлкам снова к телепатам

А вы телепат ? сможете назвать мое имя ?

7 hours ago, jcxz said:

Ну вот оно и убьёт себя если будете прошиваться из ОЗУ и дёрнется питание.

Так загрузчик то остается в него не пишут, а при перезагрузке сначала сразу идем в него  и ждем 5-10 сек придет что нить или нет а потом уже в основную, также можно при загрузке сделать проверку кода  программы на crc

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

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


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

15 minutes ago, whale said:

а потом уже в основную, также можно при загрузке сделать проверку кода  программы на crc

Перед тем как идти и надо проверить хотя бы CRC и решить - стоит туда ходить или остаться и ждать загрузки программы (иногда отправлять broadcast udp - "у меня сдохла прошивка, дайте кто-нибудь код для записи прошивки" и для наглядности обреченно моргать лампочкой).

А будет там DMA или не будет - это пофиг.

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


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

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

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

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

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

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

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

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

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

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