STM32 Автономный загрузчик для обновления прошивки. Проверка концепта.

  Рет қаралды 11,010

Vladimir Medintsev

Vladimir Medintsev

3 жыл бұрын

Не так давно на канале было видео - • STM32 Использование вс... посвященное возможности прошивки микроконтроллеров через интерфейс UART при помощи внутреннего загрузчика. Для разработки автономного программатора для партии изделий проверяем насколько сложно написать этот код и работает ли эта идея без сбоев.
Канал в телеграмм - t.me/vladimir_medintsev
Канал Яндекс.Дзен - zen.yandex.ru/vladimir_medintsev
Канал на RuTube - rutube.ru/channel/1797552/
Канал на KZfaq - / vladimirmedintsev
------------------------------------------
Если вы хотите поддержать автора канала номер карты Сбер:
2202-2023-2480-4008
------------------------------------------

Пікірлер: 135
@Shiover
@Shiover 3 жыл бұрын
Поздравляю с началом новой эпохи на ютубе. Спасибо за ваше большое дело. : )
@Glebdolgov
@Glebdolgov 3 жыл бұрын
Очень полезная информация! Ждем продолжения этой темы.
@TheIvanDM
@TheIvanDM 3 жыл бұрын
Ждём продолжения =)
@petrsidorov3489
@petrsidorov3489 3 жыл бұрын
Познавательно, логично и грамотно! Спасибо!
@user-gf3se1un5l
@user-gf3se1un5l 3 жыл бұрын
По названию тема годная, лайк. Досмотрю вечером.
@denwerxampp4035
@denwerxampp4035 3 жыл бұрын
хорошая идея, как-то не задумывался даже об этом
@user-jl7et8gx5u
@user-jl7et8gx5u 3 жыл бұрын
Спасибо. Полезная инф.
@chegleeff
@chegleeff 3 жыл бұрын
Интересно. Спасибо!
@dustymiller1178
@dustymiller1178 3 жыл бұрын
Класс. 👍
@SevenNightdreemVeryPavlovny
@SevenNightdreemVeryPavlovny 3 жыл бұрын
Автор, спасибо за видео! То же такая же проблема была - не хочу тащить ноут в поле. Взял USB OTG, воткнул в телефон с андройдом stlink китайский. Все, программатор готов. Так же на андроид есть программа для заливки через юарт, правда ее в деле не проверял.
@ibrag2012
@ibrag2012 3 жыл бұрын
Прикольна ідея.
@user-el8wx6gb1n
@user-el8wx6gb1n 3 жыл бұрын
Хорошая идея, очень полезно будет. Исходники будете выкладывать?
@alekseikapustin8360
@alekseikapustin8360 3 жыл бұрын
Брр. Вспомнил как рожал бутлоадер под родимые PIC-и .
@user-ed9px3cz7g
@user-ed9px3cz7g 3 жыл бұрын
Прикрути к программатору mass storage чтоб бинарники шифрованные отправлять, чтоб никто не слил бинарник.
@user-zg4by5xm9l
@user-zg4by5xm9l 3 жыл бұрын
Рекомендую проверить UART загрузчик при повышенной температуре. Столкнулся с ситуацией когда при температуре выше комнатной ЮАРТ загрузчик сильно сбоит. Приходилось включать кондиционер в помещениии для того чтобы обновить прошивку.
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Дунул на него феном паяльным. Вроде работает. Потом в термокамере проверим.
@Budek1974
@Budek1974 3 жыл бұрын
Лет 5 назад пришлось поломать голову, но сделал таки автономный программатор по swd. Заливает тест-прошивку - тестирует - заливает рабочую прошивку (если все в порядке).
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Отлично. Очень полезная штука
@SUPPORT_ARNI
@SUPPORT_ARNI Жыл бұрын
почему вы в настройках UART ставите 9 бит? ведь в документации указано configuration is: 8-bit, even parity and 1 Stop bit
@f33net
@f33net 3 жыл бұрын
Втыкнуть фигушку 1000 раз - делов то... :))) Надеюсь, хотя бы возникла идея в инициализации кода проверять что там ходок залил и не выдернул ли раньше времени фигушку. :)
@Diger67
@Diger67 3 жыл бұрын
Есть не мало информации на просторах интернета по созданию загрузчика и записи прошивки с SD например. область загрузчика защищается от стирания. И если шаловливые ручки не полезут через штатные загрузчики, то все будет работать. При это достаточно скинуть заказчику файл firmware, а заказчику достаточно записать прошивку на SD и загрузить ее в устройство.
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Загрузчик можно написать какой угодно, более того, обычно у любого разработчика их написанных лежит на все случаи жизни. Вопрос в другом, держатель sd это место и деньги. Теперь доже 0.5 доллара умножьте на 1000 и ставить желание отпадет моментально. К тому же бывают условия эксплуатации... Да предложите на буровой установке ребятам обновлять прошивку через SD карточку когда на улице -30. Вас просто медведям скормят.
@ViacheslavMezentsev
@ViacheslavMezentsev 3 жыл бұрын
Это немного другое. Во-первых, не все конечные устройства содержат картоприёмник. Во-вторых, создание загрузчика для работы с sd-картой - это нетривиальная задача. Можно найти примеры в сети, я видел подобные, но они занимали около 20 Кбайт кода arm, что вряд ли будет приемлемо. Я сам делаю подобный загрузчик для загрузки hex-файлов (именно intel extended, не bin). И это не просто, если хочешь уложиться в несколько килобайт. У меня есть подобный загрузчик для avr, который в зависимости от конфигурации имеет размер от 2 до 4 Кбайт. Я пытаюсь перенести его алгоритм на arm. Вообще, у некоторых производителей контроллеров, например TI, уже лет 10 загрузчики бывают очень навороченными и поддерживают до 10 вариантов загрузки по разным интерфейсам, в том числе, используя mmc/sd. Если доделаю свой вариант, то выложу на github.
@Diger67
@Diger67 3 жыл бұрын
@@VladimirMedintsev Ну по цене программатор по любому выйдет дороже SD, во вторых вставить в разъем SD не сложнее чем попасть в разъем программатором. И скорее вас скормят медведям с вашим программатором. Это про минусы, плюсы описаны выше.
@Diger67
@Diger67 3 жыл бұрын
@@ViacheslavMezentsev Ну так чего мозг выносить, ставим на андроид CubeMXProgramer и сливаем хоть по UART, хоть по USB, хоть по CAN, хоть по SPI, если такой загрузчик есть на борту. Ну и так, не на всех платах есть свободный доступ к нужным пинам контроллера. Ну а уж если вы сами разрабатываете устройство, кто вам мешает поставить SD разъем за три копейки а не городить огород за 1500 - 2000 тысячи.
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
@@Diger67 Да вы правы, идея отстой, будем ставить SD.
@intelektum
@intelektum 3 жыл бұрын
Ревизию контроллера знать стоит, по ней можно узнать, поправили баги или нет , и если прошивка не умеет работать с багом, то уже на стадии программирования, можно отсекать не подходящие контроллеры.
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Абсолютно так.
@dvmavgoor
@dvmavgoor 3 жыл бұрын
В 2020 я бы наверное уже брал контроллеры с набортным USB, и ставил бы бутлоадер с DFU. Впрочем, я так и делаю.
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Вау, это круто.
@evgenold4120
@evgenold4120 3 жыл бұрын
По идее, в коммерческом устройстве делать обновление прошивки с помощью вспомогательных устройств не кошерно сейчас. Предполагаю, что надо для этих целей ставить какой-то дешевый дополнительный МК, который уже будет подкинутую ему через USB, microSD или Ethernet прошивку лить по UART в основой МК
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Кто это сказал что не кошерно?
@evgenold4120
@evgenold4120 3 жыл бұрын
@@VladimirMedintsev Ну вы себя поставьте на место потребителя. Купил например какую-то новогоднюю гирлянду. И тут приходит письмо от производителя, что он в новой прошивке изменил (улучшил) функционал, но чтобы её залить, надо открыть корпус, подцепить преобразователь USB-UART, замкнуть пару перемычек, скачать и запустить такую то программу.. Думаю это не для рядовых потребителей.
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Понятно. Спасибо.
@user-je8oz6lh6w
@user-je8oz6lh6w 3 жыл бұрын
Вопрос немного не по теме. Делаю устройство, которое впоследствии необходимо внести в Госреестр средств измерений. И там есть требование об идентификации ПО микроконтроллера по МИ 3286-2010. Ну, т.е., я должен посчитать контрольную сумму ПО и вывести её на индикатор, а также - вписать её в Описание типа средств измерений. Таким образом - об дальнейшем обновлении ПО законными методами можно забыть. Суть вопроса к Вам как к МАСТЕРУ. Можно ли каким-то образом разделить прошивку микроконтроллера, например, на мерологически значимую часть, и на всё остальное. Метролигически значимую часть впоследствии не трогать, для неё посчитана и внесена в Реестр контрольная сумма.А всё остальное - чтобы можно было перешивать любыми способами?
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Я вам отвечу честно. Если попадается проект который необходимо внести в реестр средств измерения мы просто отказываемся от этого проекта. Причина простая я не знаю ни одного разработчика который бы попал в реестр средств измерения без использования незаконных приемов. Мы просто спрашиваем заказчика хочет ли он в последствии поверять изделие. Заказчик как правило совсем не хочет. Значит мы делаем индикатор. А индикатор поверять не надо и индикатор не вносится в реестр. Но индикатор может что-либо измерять весьма точно. Ну просто ещё ни одного раза усилия на внесение чего-либо в этот реестр не окупили себя.
@user-je8oz6lh6w
@user-je8oz6lh6w 3 жыл бұрын
@@VladimirMedintsev Я извиняюсь, а по сути вопроса - прошивку, принципе, можно разделить на 2 части ?
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Да, разумеется это возможно. Есть на канале ролик про передачу управления.
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Вот тут kzfaq.info/get/bejne/sJiKndZ-m5nddaM.html рассказано как это делать. Там на примере загрузчика но и части точно так же.
@user-je8oz6lh6w
@user-je8oz6lh6w 3 жыл бұрын
@@VladimirMedintsev Спасибо !!!!! А по поводу внесения в Реестр. От кого отказываетесь - направляйте ко мне. Я как раз всю жизнь этим занимался.
@ogurezzz
@ogurezzz 3 жыл бұрын
Так в STM32 есть встроенный загрузчик в каждом МК? Я думал только в тарших сериях.
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Везде, во всех. Доплачивать не надо.
@romaVeber
@romaVeber 3 жыл бұрын
а можно про rtc записать видео? потому-что смотрю в кубике у одних плат есть пин vbat, у других нет и у всех есть rtc. Вот хочется как-то подробно, и сам rtc и его резервные биты и тд.
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Вы откройте reference manual. Там про работу RTC очень хорошо написано без лишней воды.
@romaVeber
@romaVeber 3 жыл бұрын
@@VladimirMedintsev, если сделать опросник, окажется что довольно большая часть не знает английского, а другая часть не умеет читать документацию. О чём говорить если с пинка не получилось найти видео "как читать документацию на микросхемы". (Я частично умею читать доки, но с английским проблемка)
@intelektum
@intelektum 3 жыл бұрын
@@romaVeber Я например в разговорном английском ноль полный, но вот даташиты прекрасно читаются со временем, что то можно и через гугель переводчик подсмотреть, что то по аналогии с другим, и со временем уже все читается и понимается.
@darkeliphant1843
@darkeliphant1843 2 жыл бұрын
Существует автономный программатор который бы работал без загрузчика и загружал ПО например через SWD?
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
Мы когда-то с Эдуардом Неткачевым над этой темой рпботали. Готовое решение пока только под Атмегу есть.
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
Но если надо то за месяц- полтора могу сделать.
@ReWorked
@ReWorked 3 жыл бұрын
а нельзя просто по юсб залить iso фаил? как это реализовано на том же паяльнике ts100, тем более юсб добавит солидности устройству
@user-ed9px3cz7g
@user-ed9px3cz7g 3 жыл бұрын
У f030 нет usb
@ReWorked
@ReWorked 3 жыл бұрын
@@user-ed9px3cz7g если делать для кого то и знать что потом будет геморрой с прошивкой, не лучше ли сразу подобрать микроконтроллер с поддержкой usb ничего страшного что на 50 рублей дороже получится
@Nidvoraich
@Nidvoraich 3 жыл бұрын
Автономная коробочка с кнопочкой - куда более изящна, чем ноутбук с переходником :) Коробку в карман положил и пошёл по объекту шить устройства. Разве что, разъём для прошивки можно сделать юсбишный - было бы удобнее подключаться. Если ног хватит. Но опять же - прошивка - довольно разовое мероприятие
@Nidvoraich
@Nidvoraich 3 жыл бұрын
@@MYDIYby никто не мешает подобным образом заливать новую прошивку на коробочку с кнопочкой же :) А дальше с ней мчаться по полям между устройствами :)
@ReWorked
@ReWorked 3 жыл бұрын
@@Nidvoraich это нужно городить еще одну коробочку отправлять заказчику, объяснять как куда подключать) и коробочка одна, а устройств сотни. а ноутбуки и телефоны с отг шнурами это более распространенная штука, и людей шибко умных не нужно, зато их можно снарядить много)
@retro55i
@retro55i 3 жыл бұрын
Я еще пол года назад написал для себя загрузчик, в котором не надо переключать контакт boot. Часть программы , которая называется загрузчиком и лежит во втором секторе не перепрошивается. Проверял этот программатор через обычный переходник USB-UART, загонял туда новую программу (прошивку) кроме второго сектора stm32f205 .
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Поздравляю.
@retro55i
@retro55i 3 жыл бұрын
@@VladimirMedintsev Для проверки этого программатора пришлось написать и компьютерную часть на Builder C++.
@stari40k
@stari40k 3 жыл бұрын
А я лет пять назад писал свой бутлоалер и прошивал stm32f107 по ethernet. И что?
@retro55i
@retro55i 3 жыл бұрын
@@stari40k А контакт boot переключали? В этом вся фишка.
@stari40k
@stari40k 3 жыл бұрын
@@retro55i нет. Если кратко - записывал прошивку в свободную область памяти, и оттуда при перезагрузке мой бутлоадер переписывал её в указанную область. После чего запускалась уже новая версия с указанного адреса. Все анти-кирпичные проверки не описываю.
@lionlinux
@lionlinux 3 жыл бұрын
а почему не использовать USB к компьютеру любому и программк для прошивки?
@lionlinux
@lionlinux 3 жыл бұрын
ну или даже USB-UART микруху поставить?
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Уже обсуждалось под другим видео. Это автономный программатор, который можно и заказчику дать и обновить сидя на мачте и все такое. Ну далеко не везде есть смысл это делать с ноутбука или сотового телефона. Есть несколько видео где этот вопрос поднимался и возвращаться простите не будем. Просто если у вас нет потребности в мобильности или автономности, то и мудрить ничего не надо, взять готовый программатор и использовать.
@avi-crakhome2524
@avi-crakhome2524 3 жыл бұрын
Прошивка для контроля целостности контактных соединений на плате с мк, проверка работоспособности самого мк, проверка типовых задержек выхлопа конечной платы, контроль входных линий, и так далее... Всё это должно проходить на этапе сборки, в тёплом помещении, с сытым и довольным жизнью сотрудником. Дело в том что такая прошивка занимает много места, а так-же требует дополнительного диагностического оборудования - которого в чистом поле явно не будет. К тому-же сама прошивка без возможности вывода диагностической информации - совершенно бесполезна. И тут одного единственного светодиода явно мало, тут нужен терминал - где будет выводится уже готовый чётко сформулированный список поломок, с указанием места на ПП и способом устранения. Всё это много весит, не всегда помещается с первого раза. А вот для реальной работы достаточно светодиодика. Зелёный - всё нормально, красный - снимай модуль и неси в мастерскую. Даже если владелец умеет использовать программатор - это всегда обезьяна. Он не способен изменить логику прошивки, он только кнопки нажимать умеет (да и то не каждый). По этому для полевых условий основная задача - целостность и актуальность прошивки. Возможность автоматического отката в случае очень активной обезьяны. А это уже совсем другая тема, на пату выпусков хватит.
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Щас этот сытый сотрудник прочитает и начнет требовать улучшения условий :-)))
@avi-crakhome2524
@avi-crakhome2524 3 жыл бұрын
@@VladimirMedintsev У многих получается раздвоиться и даже расстроиться. У Матвеева например, он-же доктор Дью, он-же где-то вокруг... Кажется это уже клиника. Гораздо приятнее когда это разные люди, так хотя-бы тараканы не бунтуют. Программатор с пиропатроном... Весело, но не надо.
@sozdatelEd
@sozdatelEd 3 жыл бұрын
@@VladimirMedintsev у Вас сотрудники "сытые"?!?!? а можно со своим обогревателем к Вам в штат?)))
@Nidvoraich
@Nidvoraich 3 жыл бұрын
Хал_юарт_трансмит("ты кто?"); Хал_юарт_ресив(приём АСК); if (АСК получен) { // Какой-то ещё код Хал_юарт_ресив(приём айдишника); } Сколько времени может выполняться "какой-то ещё код"? Получается, мы попросили сторонее устройство сниспослать нам несколько байт. Но мы сначала приняли только один байт. Откуда сторонее устройство знает, что мы поступили именно так? И будет ли оно ждать, чтоб передать нам остальные байты? Ну и вопрос в проброс: При ответе айдишника МК снова посылает АСК в следующем за айдишником байте. Стоит ли для повышения надёжности проверять и его наличие? Спасибо!)
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Разумеется ждать никто не будет и в реальной программе самое место для прерываний, но в данном случае мы же вообще проверяли насколько это сложно.
@Nidvoraich
@Nidvoraich 3 жыл бұрын
@@VladimirMedintsev я к Вам совершенно без претензий :))) Прекрасно понимаю, что это не релизная версия кода :) Просто поинтересовался по принципу общения устройств. Я сюда не хейтить Вас пришёл, а у Вас учиться :) Если для меня что-то интуитивно непонятно, значит, есть пробел в знаниях по этому поводу - потому и уточняю что-то. Сейчас вот читаю про USART_DR. Теоретически, если бы после АСК мы ждали только 8 бит данных - мы бы могли их считать хоть через час. Потому что они бы положились в приёмный регистр и не стирались бы, потому что никто их не читает пока что. Вот не посмотрел бы Ваше видео - не полез бы читать про это :) Спасибо за пинок!)
@avi-crakhome2524
@avi-crakhome2524 3 жыл бұрын
Сколько времени может выполняться "какой-то ещё код"? Это не важно, юарт асинхронный интерфейс, здесь логика работает на конечных точках. Другое дело что ответа можно и не дождаться, и зависнуть в ожидании, например когда линия физически разорвана. Вам 100мс программного таймера хватит? Ну и если использовать не хал, а весь доступный потенциал модуля юарт - то можно отлавливать многие варианты сбоя передачи и приёма. Там и таймер не понадобиться.
@Nidvoraich
@Nidvoraich 3 жыл бұрын
@@avi-crakhome2524 как не важно? Давайте не будем рассматривать обрыв линии, а именно вариант, при котором мы принимаем информацию порциями, как в примере автора. Насколько я понял - функция Ресив работает с регистром принятых данных, и никак не взаимодействует с внешним устройством а ля "пошли-ка мне ещё байтик". То есть - после того, как мы отправили через Трансмит внешнему устройству запрос на данные - оно нам их начинает слать, а наш МК складывает их в тот самый буфер DR. И обратной связи типа "погоди, не шли, я тут пока занят вычислениями" не существует (В ДАННОМ ПРИМЕРЕ). А уж с какой скоростью и периодичностью мы из регистра забираем данные командой Ресив- это исключительно наша проблема. Не успел забрать, пока не затёрлось новыми данными - извиняй. В примере автора - между двумя ресивами есть только if. То есть - довольно незначительная задержка. Были бы там какие-то более сложные циклические вычисления - думаю, уже не получилось бы принять всю посылку. Успели бы ухватить только её конечные байты, потому что пока мы там что-то вычисляем, инфа от внешнего утсройства продолжает поступать, затирая предыдущую. Когда я задавал вопрос - я ещё не знал того, что сейчас тут пишу. То, что я тут написал - я не проверял, поэтому, не уверен на 100%. Но судя по тому, что я прочитал сегодня - всё именно так. И как правильно заметил автор - если не обрабатывать прерывания по переполнению того самого буфера - можно часть данных потерять. Если я где-то заблуждаюсь - буду рад поправкам :)
@Astinahsra
@Astinahsra 3 жыл бұрын
Почему в Кейл перешли? Вы же вроде в кубе работали?
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Я не знаю почему вы так решили.
@Astinahsra
@Astinahsra 3 жыл бұрын
@@VladimirMedintsev А что вообще про куб думаете?
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Есть видео где я его показываю. Мне он нравится. Хорошо о нем думаю.
@Astinahsra
@Astinahsra 3 жыл бұрын
@@VladimirMedintsev А по какой причине не используете?)
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Видеоролики которые вы видите на канале практически ничего не отражают из моей реальной работы. Ни разу и ни где я не показывал реальные исходники реальных проектов как в части схемотехники так и в части программирования. По этой причине вы не знаете что именно я использую. В видеороликах показывается и будет показываться Кейл, потому что он дефакто является популярнейшей средой в Ютубе. Специально посвященные CubeIDE ролики я показываю с кубом, ну это логично же. Меня в принципе не сильно интересует обзор IDE это просто инструмент. Может я Segger Studio использую. Кто его знает.
@thomasparker4109
@thomasparker4109 3 жыл бұрын
здравствуйте! У Вас как у профессионала , какая вилка зарплаты?
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Если вопрос ко мне, то я получаю чуть меньше 10 тысяч рублей.
@thomasparker4109
@thomasparker4109 3 жыл бұрын
@@VladimirMedintsev Я думал, по Вашей специальности , особенно такой специалист как Вы, будет получать 300 к
@thomasparker4109
@thomasparker4109 3 жыл бұрын
@@VladimirMedintsev спасибо за ответ
@stari40k
@stari40k 3 жыл бұрын
Мучают меня смутные сомнения по поводу 9и бит. Всегда думал что это ОБЩЕЕ количество бит данных. Перечитал RM0360 page598. Написано следующее : START бит, 8 или 9 бит данных LSB, потом 1 или 2 STOP bits. На странице #600 есть картинка с описанием, там нарисованы биты с 0го по 8й. Т. Е. Это партии бит. У вас 9и битый режим с этим самым партии битом и к стартовому биту оно отношения не имеет.
@Nidvoraich
@Nidvoraich 3 жыл бұрын
У меня тоже сомнения, да. Вроде как, стартовые и стоповые не считаются
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Стартовые и стоповые биты не считаются. А вот паритет считается.
@avi-crakhome2524
@avi-crakhome2524 3 жыл бұрын
8 бит данных - это для текстового обмена, в этом случае остаётся достаточно пространства для управляющих символов. 1+8 бит данных - это для бинарного обмена, доступна передача от 0x00 до 0xFF, девятый бит - это управляющий маркер команда/данные, или адрес/данные.
@ibrag2012
@ibrag2012 3 жыл бұрын
Вчора взявся за SWIM (знайшов дуже дешеві stm8 але вони без завантажувача): весь день потратив на вивчення протоколу, а в вечорі подумав: мають існувати якісь готові прилади, перевірив: таки існують)
@expertkis
@expertkis 3 жыл бұрын
Ну плохое видео, но как уже писали ниже , в современных реалиях интереснее DFU или даже реализацию OTA посмотреть
@denwerxampp4035
@denwerxampp4035 3 жыл бұрын
блин, я даже не слышал про это. Погуглил тут, как круто
@expertkis
@expertkis 3 жыл бұрын
@@denwerxampp4035 не то слово. На f4 DFU вроде просто настроить, но не на чем сейчас проверить, а на f103 смещение надо похоже настраивать в линкере. Надо разобраться вобщем
@user-cf4pl4yl5l
@user-cf4pl4yl5l 3 жыл бұрын
Ну если 1000 штук для заказчика, значит есть у него чуть денег купить планшет на виде и ходи шей каждое устройство, а если бы эти устройства сразу прошить по CAN или RS485 полезное дело.
@user-ed9px3cz7g
@user-ed9px3cz7g 3 жыл бұрын
Это сложно для заказчика. А если апдейты будут еженедельными?
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
А теперь просто представьте буровую установку, -30 градусов и вы с планшетом на ветру. Работа мечты. Не все устройства работают в уютных комнатах. Иногда и подключить разъем очень тяжело не говоря уже о том, чтобы на сотовом или планшет ее пальчиком попадать.
@user-ed9px3cz7g
@user-ed9px3cz7g 3 жыл бұрын
@@VladimirMedintsevИли устройство может быть камерой в вольере с тиграми.
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
@@user-ed9px3cz7g уверяю вас тигры по сравнению с нефтяниками гораздо менее опасны.
@user-ed9px3cz7g
@user-ed9px3cz7g 3 жыл бұрын
@@VladimirMedintsev Тигры водятся только в дикой природе, а нефтяники везде, если нефтяник попадает в воду, нефтяник не становится мокрой, вода становится нефтью. 😜
@adminroot1345
@adminroot1345 3 жыл бұрын
Попробуйте esp8266 esp32 + micropython там есть технология удаленной прошивки web repl
@Nidvoraich
@Nidvoraich 3 жыл бұрын
Хотите иногда жарить шашлыки? Попробуйте жить в пещере - там можно жарить шашлыки прям не выходя из дома :)
когда повзрослела // EVA mash
00:40
EVA mash
Рет қаралды 3,9 МЛН
ОСКАР ИСПОРТИЛ ДЖОНИ ЖИЗНЬ 😢 @lenta_com
01:01
Пробую самое сладкое вещество во Вселенной
00:41
Создание качественного USB-C микрофона
21:30
Студия озвучки "Acting"
Рет қаралды 106 М.
КАКОЕ СОЕДИНЕНИЕ ПРОВОДОВ ЛУЧШЕ? #энерголикбез
23:11
Александр Мальков
Рет қаралды 375 М.
Bootloader для AVR
15:08
RADIOSOFT
Рет қаралды 11 М.
1$ vs 500$ ВИРТУАЛЬНАЯ РЕАЛЬНОСТЬ !
23:20
GoldenBurst
Рет қаралды 1,5 МЛН
Tag her 🤭💞 #miniphone #smartphone #iphone #samsung #fyp
0:11
Pockify™
Рет қаралды 18 МЛН