Обновление прошивки плат Iskra JS

Платформы Iskra JS и Iskra JS Mini можно обновить, используя встроенный в микроконтроллер DFU-загрузчик или загрузчик TinyUF2, который мы добавили в обновленной прошивке Espruino версии 2.13 и выше.

С помощью встроенного DFU-загрузчика можно полностью очистить энергонезависимую память и использовать весь её объём. Но для обновления нужно использовать специальные программы и установить драйвер, если у вас Windows.

Использование TinyUF2 позволяет упростить процесс прошивки и обновлять Iskra JS / Iskra JS Mini без установки дополнительных драйверов и программ. Проверено на Windows, MacOS, Linux, а также должно работать на любой ОС с поддержкой USB-накопителей с файловой системой FAT32. Просто скопируйте файл на диск, и всё!

Основной минус TinyUF2 в том, что он занимает часть энергонезависимой памяти, поэтому приложение для Iskra JS / Iskra JS Mini должно быть скомпилировано для работы с адреса 0x08008000 (0x08000000 + 32 К), вместо стандартного 0x08000000. Также прошивка должна быть сохранена в специальном формате UF2, благодаря которому загрузчик может записывать прошивку в потоковом режиме, без разметки энергонезависимой памяти на разделы для USB-диска и приложения.

Если при подключении платы Iskra JS или Iskra JS Mini компьютер не видит новых устройств, вероятнее всего, на ней не прошит микроконтроллер.

Если же при двойном нажатии на кнопку сброса не появляются диски IskraJSBOOT или IskraJSMini, то микроконтроллер управляющей платформы содержит старую прошивку.

Загрузите или обновите прошивку, используя способ обновления через DFU.

Обновление прошивки через UF2-загрузчик

Обновление прошивки

  1. Скачайте прошивку в зависимости от вашей управляющей платформы:
  2. Распакуйте ZIP-архив.
  3. Нажмите два раза кнопку сброса на управляющей платформе. Должен появиться диск IskraJSBOOT (плата Iskra JS) или IskraJSMini (плата Iskra JS Mini).
  4. Скопируйте файл с расширением UF2 на появившийся диск.
  5. Дождитесь, пока скопируется файл — в это время происходит обновление прошивки.
  6. После копирования файла диск отключится, а плата перезапустится.
  7. Всё готово, плата обновлена, можно пользоваться!

Если при копировании файла что-то пошло не так, вы можете попробовать снова, перейдя к шагу 3. Также ничего страшного не произойдет, если вы случайно скопируете не тот файл: загрузчик проигнорирует его или перезапустит плату.

Обновление прошивки через DFU

Для Windows

Подготовка софта

  1. Скачайте и установите на компьютер программу для прошивки микроконтроллеров STM32.

Необходимо устанавливать программу прямо на диск C:. Если в пути до папки установки будут кириллические символы или пробелы, программа будет работать с ошибкой.

  1. Отключите плату от компьютера.
  2. Зайдите в «Диспетчер устройств».
  3. Переключите управляющую платформу в DFU-режим, соединив между собой пины BOOT0 и 3V3.
    1. Для платформы Iskra JS замкните эти два контакта джампером.

      Не снимайте с платы Iskra JS джампер выбора питания, иначе она выключится. Если у вас набор Йодо, возьмите временно джампер с платы Troyka Slot Shield.

    2. Для платформы Iskra JS Mini замкните пины BOOT0 и 3V3 с помощью провода «мама-мама».
  4. Подключите плату к компьютеру и посмотрите, как определяется платформа:
    1. Плата определилась во вкладке контроллеры USB и без восклицательного знака. Переходите к запуску программы DfuSe.
    2. Плата определилась во вкладке контроллеры USB и c восклицательным знаком.
    3. Плата определилась во вкладке другие устройства.В последних двух случаях необходимо указать путь к драйверам в DFU-режиме.

Установка драйвера для STM32 в DFU-режиме

  1. Зайдите в «Диспетчер устройств».
  2. Выделите «неработающее устройство» и нажмите кнопку «обновить драйверы».
  3. Выберите пункт «Поиск и установка драйверов вручную».
  4. Укажите путь к драйверу:
    1. Для 32-битных систем: C:\Program Files\STMicroelectronics\Software\DfuSe.
    2. для 64-битных систем: C:\Program Files (x86)\STMicroelectronics\Software\DfuSe.
  5. Должно появиться окошко с сообщением об успешной установке драйвера.
  6. В итоге драйвер для USB-интерфейса микроконтроллера STM32 в DFU-режиме должен появиться во вкладке «контроллеры USB» и без восклицательного знака.

Всё получилось. Теперь можно продолжить обновление прошивки в DFU-режиме.

Обновление прошивки

  1. Скачайте прошивку в зависимости от вашей управляющей платформы:
  2. Распакуйте ZIP-архив. Распаковывать его лучше всего в корень диска C:. Если в пути до архива будут русские буквы или пробелы, программа не заработает корректно.
  3. Запустите программу DfuSe.
  4. Выберите DFU-файл прошивки кнопкой «Choose».
  5. При успешном выборе файла вы увидите надпись File correctly loaded.
  6. Нажмите на кнопку «Upgrade» для начала прошивки платы.
  7. В итоге вы должны увидеть сообщение Target 00: Upgrade successful !.

Это значит, что всё получилось. Жмём «Quit», снимаем перемычку с BOOT0 и перезагружаем плату.

Далее запускайте Espruino Web IDE и попробуйте помигать светодиодом.

Для MacOS

Подготовка софта

  1. Переключите управляющую платформу в DFU-режим, соединив между собой пины BOOT0 и 3V3.
    1. Для платформы Iskra JS замкните эти два контакта джампером.

      Не снимайте с платы Iskra JS джампер выбора питания, иначе она выключится. Если у вас набор Йодо, возьмите временно джампер с платы Troyka Slot Shield.

    2. Для платформы Iskra JS Mini замкните пины BOOT0 и 3V3 с помощью провода «мама-мама».
  2. Подключите плату к компьютеру.
  3. Зайдите в терминал, нажав на Terminal.app.
  4. Скачайте менеджер пакетов «Homebrew». Для этого выполните команду:
    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  5. Далее установите утилиту dfu-util из менеджера пакетов «Homebrew». Вбейте в терминал команду:
    brew install dfu-util
  6. Проверьте список всех DFU-устройств:
    dfu-util --list

    .

    Запомните значения в квадратных скобках. В нашем случае это «[0483:df11]».

Обновление прошивки

  1. Скачайте последнюю версию прошивки в формате .bin:
    1. Репозиторий прошивок для Iskra JS Mini. Искать по названию Espruino WiFi.
  2. Для старта прошивки напишите в терминал команду, где:
    1. После флага -d те самые значения, которые мы запомнили из команды dfu-util –list.
    2. После флага -D путь к файлу с прошивкой.
      dfu-util -d 0483:df11 -s 0x08000000 -a 0 –dfuse-address 0x08000000
      -D /Users/user/Downloads/espruino_1v92.194_iskrajs.bin

Должен начаться процесс прошивки, о чём свидетельствует Progress bar.

  1. В итоге вы должны увидеть сообщение File downloaded successfully.

Это значит, что всё получилось. Закрываем терминал, снимаем перемычку с BOOT0 и перезагружаем плату.

Далее запускайте Espruino Web IDE и попробуйте помигать светодиодом.