STM32 Bootloader. Библиотеки загрузчиков микроконтроллеров STM32. Загрузчик на любой цвет и вкус.

แชร์
ฝัง

ความคิดเห็น •

  • @itsm1448
    @itsm1448 25 วันที่ผ่านมา +1

    Спасибо Владимир за отличные лекции по STM и микроконтроллерам! Почти весь канал пересмотрел, отличные модули с полезными знаниями!

  • @wirtdonners4212
    @wirtdonners4212 3 ปีที่แล้ว +2

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

  • @ArthurIslamRU
    @ArthurIslamRU 3 ปีที่แล้ว +1

    Спасибо большое, Уважаемый Владимир!

  • @RepomanBY
    @RepomanBY 3 ปีที่แล้ว +3

    Новичку однозначно нельзя начинать с SBSFU, уж очень они там намудрили с прошивкой. Там много всего помимо непосредственно шифрования, я бы даже сказал, что туда впихнули вообще все механизмы защиты, какие можно. Для своего проекта я из SBSFU взял питоновские скрипты, которые шифруют и подписывают прошивку, а также код, который проверяет и дешифрует. Теперь можно передавать клиенту бинарник, даже если в нем есть какие-то приватные ссылки или пароли. Клиент может обновить прошивку через веб-браузер

  • @lazarocamargo
    @lazarocamargo 3 ปีที่แล้ว +1

    Excellent tutorial!!!

  • @АлександрИванович-з7ы
    @АлександрИванович-з7ы 3 ปีที่แล้ว +7

    "Ничего непонятно, но очень интересно"©

  • @vernnms78
    @vernnms78 3 ปีที่แล้ว +11

    Смотрю Ваши видео. С одной стороны очень хочется перейти на СТМ, на более высокий уровень, с другой стороны... всё как-то запутанно... Мне не хватает информации "на пальцах".

    • @sozdatelEd
      @sozdatelEd 3 ปีที่แล้ว +3

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

    • @chibyshev
      @chibyshev 3 ปีที่แล้ว

      Поддерживаю. Как то пугаюсь начинать соскакивать с arduino. Хотя начинал ведь давным давно с ассемблера 8051.

    • @olexkov4643
      @olexkov4643 3 ปีที่แล้ว +1

      Не надо боятся .. все на много проще чем кажется.

    • @silentage6310
      @silentage6310 3 ปีที่แล้ว +1

      если ардуино еще устраивает то понятно мотивации нет.
      для любительских поделок самое то

    • @АлексейШутко
      @АлексейШутко 3 ปีที่แล้ว

      Я нарвался на одного спеца, который текстовый редактор ваяет для программирования stm32... на ассемблере...

  • @RepomanBY
    @RepomanBY 3 ปีที่แล้ว +1

    У команды wolfssl я еще брал SFTP клиент, который успешно портировал на STM32

  • @Arduino_Kit
    @Arduino_Kit 3 ปีที่แล้ว

    круто

  • @abab-hk5ft
    @abab-hk5ft 3 ปีที่แล้ว +2

    Спасибо за обзор. Жаль что сразу после ввхода не успел посмотреть. Удави вам в делах!

  •  3 ปีที่แล้ว

    thank you for sharing.

  • @ibrag2012
    @ibrag2012 3 ปีที่แล้ว +1

    Система безпеки - це окреме мистецтво: з одного боку має бути достатньо складним щоб не дісталися діти, а з іншого: має бути користь археологам :)

  • @WrongBee13
    @WrongBee13 3 ปีที่แล้ว +1

    Все как всегда :) Интересно, познавательно. Не могу навязывать, но было бы чертовски интересно увидеть про ESP32. Почему? ИМХО системы на этом чипе более заточены под домашнее и полудомашнее использование, так как из коробки мощный чип, достаточное количество периферии и достаточно отлаженная поддержка беспроводных интерфейсов.

    • @VladimirMedintsev
      @VladimirMedintsev  3 ปีที่แล้ว +1

      Вы вне всякого сомнения правы. ESP32 это круто. Но так уж получилось, что этот чип мне лично абсолютно не интересен. Я его не использую и соответственно видео сделать не могу. Мне просто нечего сказать про этот чип.

    • @alexivanov4269
      @alexivanov4269 3 ปีที่แล้ว +1

      не путайте порнографию с эротикой. Возьмите "reference manual" по обоим mcu, сравните, и озарение придёт

  • @aziubin
    @aziubin 3 ปีที่แล้ว +2

    Я слышал есть обновление прошивки посредством виртуальной файловой системы. Персоналка видит микроконтроллер как виртуальный диск, когда подключен по USB. Если на диск скопировать dfu файл, прошивка обновится этим файлом. Кажется Adafruit платы на STM32 так работают. Это реализовано через их специальный bootloader или через программные компоненты микроконтроллера более высокого уровня?

    • @VladimirMedintsev
      @VladimirMedintsev  3 ปีที่แล้ว +4

      В предыдущем видео рассказано как это сделать.

    • @aziubin
      @aziubin 3 ปีที่แล้ว +1

      @@VladimirMedintsev Спасибо! Посмотрел видео про виртуальный диск и файловую систему. Сама по себе тема интересная и хорошо раскрыта. Я думал, что там всё намного сложнее. Про обновление прошивки через виртуальный диск (может уже есть готовые варианты) сделаете видео?

    • @VladimirMedintsev
      @VladimirMedintsev  3 ปีที่แล้ว +2

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

    • @alexivanov4269
      @alexivanov4269 3 ปีที่แล้ว +2

      я два года назад сдел загрузчик, работает очень прилично. Выкладываешь на website .Hex file, откомпелированный в Keil , stm32F4 периодически заходит (раз в 10 минут), сверяет версии и дату, скачивает по http (wifi esp32) и записывает в 8М external Flash ->reboot, IAP bootloader in (0x8000000) переписывает основную прогу с адреса 0х8004000 и передаёт ей управление. Ну вот и всё...

  • @NuWhite
    @NuWhite 3 ปีที่แล้ว +1

    А можно ли эти библиотеки адаптировать для обновления прошивки по USB протоколу, те без виртуальных компортов и прочих интерфейсов. Что-то не зацепился взгляд за этот момент в описании к библиотекам бутлодера

    • @VladimirMedintsev
      @VladimirMedintsev  3 ปีที่แล้ว +2

      Большая часть умеет USB из коробки... Это как раз не редкость.

    • @alexivanov4269
      @alexivanov4269 3 ปีที่แล้ว +1

      а зачем? опс... Для етого есть ST-LINK $3-4

    • @easystm6865
      @easystm6865 3 ปีที่แล้ว +1

      @@alexivanov4269 для пользователя, чтобы тот обновлять мог

  • @Violancergta
    @Violancergta ปีที่แล้ว

    Все это интересно только когда вместе с шифрованной прошивкой разработчик поставляет собственную утилиту для прошивки. Открой терминал или скачай тулзу с сайта ST и прочитай тонну маулатуры как прошить усиройство уже моветон..Получается что помимо знаний в программировании микроконтроллеров , начинающий должен не плохо программировать и ПК.

  • @РоманВорошилов-ж1у
    @РоманВорошилов-ж1у 3 ปีที่แล้ว

    А вы не пробовали поработать с этой библиотекой ?
    Непонятно, как при Эдвертайзинге сделать так, чтобы рекламировались имеющиеся сервисы ?

  • @RingQy
    @RingQy 3 ปีที่แล้ว

    Здравствуйте. Владимир, как думаете что будет с ценами на микроконтроллеры? STM8S003F3 в прошлом году закупался по 15р сегодня смотрю уже 48р. STM32F030K6 брали года 3 назад по 35р теперь цены прыгают видел и по 320р что полнейший перебор. На фоне того что идет сокращение выпуска полупроводниковых приборов мирового масштаба не отразится ли это в конечном результате на дефиците микроконтроллеров?

    • @VladimirMedintsev
      @VladimirMedintsev  3 ปีที่แล้ว

      Я не имею ни какого отношения ни к фирме STMicroelectronics ни к поставкам полупроводников в Россию. Лично мое мнение проблема стоимости микроконтроллеров слишком преувеличена. Тут нет никакой проблемы. И тему поднимают в своем большинстве радиолюбители.

  • @Arxon21
    @Arxon21 3 ปีที่แล้ว

    Обновление прошивки в процессе работы основной программы МК как делать?
    Все эти обновлятели по зажатию кнопки, вставке сд карты очень неудобны для пользователя.
    Хорошо когда юзер использует устройство а обновление скачивается\заливается на МК в фоне и при перезагрузке МК будет переключение на новую прошивку.
    Время и удобство пользователя дороже чем 2х к использованию флеш памяти)
    Был бы оч рад если вы бы осветили даную тему!

    • @VladimirMedintsev
      @VladimirMedintsev  3 ปีที่แล้ว

      В процессе работы обновлять только переключением банков.

    • @Arxon21
      @Arxon21 3 ปีที่แล้ว

      @@VladimirMedintsev спасибо за наводку) Надеюсь что настанет время когда нужно будет отдать изделие людям, вот тогда и придется копать тему подробно.

  • @VladimirMedintsev
    @VladimirMedintsev  3 ปีที่แล้ว

    @Evgeniy Svinovsky был заблокирован на данном канале за попытку разжигания ненависти и вражды.

  • @АнатолийД-ш6л
    @АнатолийД-ш6л 2 ปีที่แล้ว

    Здравствуйте, А как узнать какой именно бутлоадер установлен в микроконтроллере?

    • @VladimirMedintsev
      @VladimirMedintsev  2 ปีที่แล้ว

      Какой вы установите, тот и установлен. Это ведь библиотеки которые служат только основой.

    • @АнатолийД-ш6л
      @АнатолийД-ш6л 2 ปีที่แล้ว

      @@VladimirMedintsev
      Ну допустим я хочу переписать код чужого устройства под свои нужды.
      У меня не хилый запас электронных блоков управления на esp32 от чиллеров. По факту с неисправными реле и так далее. Выбросить жалко, а вот написать парочку программ управления под свои нужды не изготавливая плат и взяв под это готовые устройства выглядит очень заманчиво. Я как понимаю бутлоадер определяет конфигурации входов/выходов контролёра и подключения переферии. Поэтому и спрашиваю как бы узнать какой бутлоадер там установлен и уже работать с ним, как с самым подходящим.

    • @VladimirMedintsev
      @VladimirMedintsev  2 ปีที่แล้ว

      Бутлоадер отвечает только за загрузку программного обеспечения и его обновление. Никакого отношения к конфигурации он не имеет.

    • @АнатолийД-ш6л
      @АнатолийД-ш6л 2 ปีที่แล้ว

      @@VladimirMedintsev спасибо большое)

  • @generalshield
    @generalshield 2 ปีที่แล้ว

    Подскажите, допустим я захотел сделать некое устройство на STM32, я не хочу чтобы мой разработанный алгоритм работы можно было загрузить на скопированное устройство с таким же микроконтроллером. Но с другой стороны я планирую делать обновления ПО тем людям которые приобрели мое устройство, посредвом к примеру загрузкой Hex файла. Как быть? Писать свой бутлоадер?

    • @VladimirMedintsev
      @VladimirMedintsev  2 ปีที่แล้ว +1

      Да, только таким образом. Более того писать свой бутлоадер с шифрованием.

    • @generalshield
      @generalshield 2 ปีที่แล้ว

      @@VladimirMedintsev хм, спасибо вам за ответ. А возможно слать только файл обновления hex, не полную прошивку? Ну как вариант..

    • @VladimirMedintsev
      @VladimirMedintsev  2 ปีที่แล้ว

      Можно, но как правило так никто не делает.

    • @generalshield
      @generalshield 2 ปีที่แล้ว

      @@VladimirMedintsev пошерстив интернет нашел такую историю как id чипа, который закладывается изготовителем на стадии производства в память якобы только для чтения. Возникла мысль отсылать прошивку пользователю опираясь исключительно на этот id. То есть для каждого выпущенного устройства формировать серийный номер и опютправлять полную прошивку привязанную к уникальному номеру чипа id. Я же правильно понимаю что этот id невозможно в принципе изменить, раз он для только для чтения?

    • @VladimirMedintsev
      @VladimirMedintsev  2 ปีที่แล้ว

      Да идентификационный номер чипа уникален.

  • @iljsg3390
    @iljsg3390 3 ปีที่แล้ว

    Подскажите пожалуйста: я новичок в STM32, имеется F103C8T6 с али. Чип от ST, не CKS.
    Проблема в том что, CubeIDE, Keil, st-utility не хотят видеть микроконтроллер в состоянии когда две перемычки BOOT0 и BOOT1 стоят в положении 0. Но если переставить BOOT0 на 1, то все работает, контроллер шьется любыми утилитами. Только в этом режиме не работают подключенные к STM устройства и светодиод PC13. Отладка работает, есть доступ к build analyzer.
    Отладка в положении перемычек BOOT0 и BOOT1 на 0, не запускается.
    Отключил GDB сервер в настройках, и поставил частоту прошивки 100кгц.
    Хочу узнать почему так происходит.

    • @maximepifantsev
      @maximepifantsev 3 ปีที่แล้ว +1

      Ни слова не написано каким программатором/отладчиком Вы пользуетесь. St-link?

    • @Maxnicknameable
      @Maxnicknameable 3 ปีที่แล้ว +1

      Во первых то что на чипе с Али написано STM, совершенно не означает, что это STM.
      "Connect under reset" пробовали?
      Нужно
      удерживать reset
      В ST-Link utity Нажать "Connect" (режим "Connect under reset")
      Сразу же отпустить reset

    • @iljsg3390
      @iljsg3390 3 ปีที่แล้ว +1

      @@maximepifantsev ST-Link, через SWD

    • @VladimirMedintsev
      @VladimirMedintsev  3 ปีที่แล้ว +4

      Да бесполезно, левый микроконтроллер из Китая + левый программатор с алиэкспресс и все это в руках новичка.... Казалось бы что может пойти не так...

    • @maximepifantsev
      @maximepifantsev 3 ปีที่แล้ว

      @@iljsg3390 Возможно, в контроллере в options bytes отключен SWD.
      UDP: Да, кстати, options bytes читаются? Вот на этом же канале есть доработка китайского st-link - th-cam.com/video/iC2-0Md-6yg/w-d-xo.html

  • @jimmysmith8099
    @jimmysmith8099 3 ปีที่แล้ว

    Приветствую. Вопрос Вам как спецу верхнего уровня. Есть у меня драйвер серводвигатеся на стм32, и он после ровно минуты работы в любых режимах двигателя, и даже когда двигатель даже не крутится - все равно вылетает ошибка 06, и двигатель останавливается. После перезапуска все повторяется. Минуту все работает штатно, ОС поддерживает обороты при нагрузке, все ок... Но минута - и вылет. disk.yandex.ru/i/Rl6im4YT8T4OAQ Аппаратно все вроде цело, ничего не греется. На что это похоже, где на Ваш взгляд искать причину?

    • @VladimirMedintsev
      @VladimirMedintsev  3 ปีที่แล้ว

      Я понятия не имею где и в чем искать причину. То, что в этом устройстве стоит микроконтроллер STM32 ничего не говорит о его работе и той логике управления которую в него заложил производитель. Обычно сообщения об ошибке описаны в инструкции по эксплуатации изделия, ну или их можно узнать у производителя. Если же это не возможно, то правильнее было бы позвать специалиста и посмотреть на месте глазами. Вот таким вот обзором чего-то в интернете ну это реально не ко мне.

    • @jimmysmith8099
      @jimmysmith8099 3 ปีที่แล้ว

      @@VladimirMedintsev я к Вам скорее как к разработчику подобных штуковин. Может быть такое, что кто-то по ошибке на готовый товар поставил некую тестовую прошивку, или неразлоченную типа предподажной ... бывают ли такие варианты в вашей сфере?

    • @VladimirMedintsev
      @VladimirMedintsev  3 ปีที่แล้ว

      Слишком невероятные предположения у вас про прошивку и прочее, скорее всего все гораздо проще. Датчик и все такое...

    • @jimmysmith8099
      @jimmysmith8099 3 ปีที่แล้ว

      @@VladimirMedintsev Это не у меня, а как раз у специалистов (правда дистанционно), поскольку со многими советовался за месяц, подробно оьъяснял поведение, и что где намерял и и насмотрел осциллографом. И все вроде там нормально. Про датчики конечно тоже предположения были, причем сначала. Либо логика где-то в заыке. Код ошибки - "перегрузка". До сих пор непонятки. Как отлавливать, когда не знаю, что и где искать... Схемы нет, работающего аналога - тоже.

  • @ЮрийБеникас
    @ЮрийБеникас 3 ปีที่แล้ว

    Капец как все мудрено! Тут пришлось поменять контроллер на 3д принтере, так я и не понял, как его прошить, чтобы он и систему всю запустил, и с сд карты в последствии прошивался... 🤦‍♂️🤦‍♂️🤦‍♂️

  • @СекретныйгаражвРябково
    @СекретныйгаражвРябково 3 ปีที่แล้ว

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

    • @nanocharg20
      @nanocharg20 3 ปีที่แล้ว

      Общая идея подана нормально. Ссылки на примеры от производителя могут быть полезными. А шифрование может быть с авторской "изюминкой" в исходном коде бутлоадера который защищён от считывания флеша.

  • @retro55i
    @retro55i 3 ปีที่แล้ว

    Зачем миллион команд? На одном конце страны нажимаешь кнопку "ОБНОВИТЬ" на другом конце страны в микропроцессор stm32 залетает очередная версия программы и никаких команд или командных строк.

    • @cb_q
      @cb_q 3 ปีที่แล้ว +2

      тз понятно, а детали?
      какая функциональность нужна об bootloader'а? запись прошивки в мк, ок. а нужно чтобы BL выдавал версию прошивки? нужно чтобы была возможность сохранить прошивку (с мк)? нужно чтобы BL проверял прошивку на целостность (т.е. не повреждена ли она)? как BL будет получать прошивку? - если на другом конце страны, то для этого нужен канал передачи данных, значит мобильный интернет, wifi, чего-нибудь еще. а значит BL нужно как-то настроить - откуда и как тянуть прошивку, желательно не захардкодить, а сделать настраиваемым, потому что все может случиться (и симка изменится, и домен для загрузки переехать).
      командную строку можно исключить, если написать свою утилиту обновленя на пк, которая будет все делать сама. Владимир даже предлагал ранее сделать прошивальщик аппаратным - подключил мк к нему, он его обнаружил, сам прошил на последнюю версию и все, даже комп не нужен. но без протокола обмена данными (между мк и тем, кто его будет прошивать) тут никак.

  • @traveladventure427
    @traveladventure427 3 ปีที่แล้ว

    Я сам решу мое или не мое.

    • @VladimirMedintsev
      @VladimirMedintsev  3 ปีที่แล้ว

      Смешно, ну ладно. Решайте.

  • @WormsWolf1
    @WormsWolf1 3 ปีที่แล้ว

    А как же MCUboot ?
    github.com/mcu-tools/mcuboot