Обновление прошивки плат 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-загрузчик
Обновление прошивки
- Скачайте прошивку в зависимости от вашей управляющей платформы:
- Распакуйте ZIP-архив.
- Нажмите два раза кнопку сброса на управляющей платформе. Должен появиться диск
IskraJSBOOT
(плата Iskra JS) илиIskraJSMini
(плата Iskra JS Mini). - После копирования файла диск отключится, а плата перезапустится.
- Всё готово, плата обновлена, можно пользоваться!
Если при копировании файла что-то пошло не так, вы можете попробовать снова, перейдя к шагу 3. Также ничего страшного не произойдет, если вы случайно скопируете не тот файл: загрузчик проигнорирует его или перезапустит плату.
Обновление прошивки через DFU
Для Windows
Подготовка софта
- Скачайте и установите на компьютер программу для прошивки микроконтроллеров STM32.
Необходимо устанавливать программу прямо на диск C:
. Если в пути до папки установки будут кириллические символы или пробелы, программа будет работать с ошибкой.
- Отключите плату от компьютера.
- Зайдите в «Диспетчер устройств».
- Переключите управляющую платформу в DFU-режим, соединив между собой пины
BOOT0
и3V3
.- Для платформы Iskra JS замкните эти два контакта джампером.
Не снимайте с платы Iskra JS джампер выбора питания, иначе она выключится. Если у вас набор Йодо, возьмите временно джампер с платы Troyka Slot Shield.
- Подключите плату к компьютеру и посмотрите, как определяется платформа:
- Плата определилась во вкладке
другие устройства
.В последних двух случаях необходимо указать путь к драйверам в DFU-режиме.
Установка драйвера для STM32 в DFU-режиме
- Зайдите в «Диспетчер устройств».
- Укажите путь к драйверу:
- Для 32-битных систем:
C:\Program Files\STMicroelectronics\Software\DfuSe
.
Всё получилось. Теперь можно продолжить обновление прошивки в DFU-режиме.
Обновление прошивки
- Скачайте прошивку в зависимости от вашей управляющей платформы:
- Прошивка для Iskra JS (версия 2.01) (устарела).
- Прошивка для Iskra JS Mini (версия 2.00) (устарела).
- Распакуйте ZIP-архив. Распаковывать его лучше всего в корень диска
C:
. Если в пути до архива будут русские буквы или пробелы, программа не заработает корректно.
Это значит, что всё получилось. Жмём «Quit», снимаем перемычку с BOOT0
и перезагружаем плату.
Далее запускайте Espruino Web IDE и попробуйте помигать светодиодом.
Для MacOS
Подготовка софта
- Переключите управляющую платформу в DFU-режим, соединив между собой пины
BOOT0
и3V3
.- Для платформы Iskra JS замкните эти два контакта джампером.
Не снимайте с платы Iskra JS джампер выбора питания, иначе она выключится. Если у вас набор Йодо, возьмите временно джампер с платы Troyka Slot Shield.
- Подключите плату к компьютеру.
- Зайдите в терминал, нажав на
Terminal.app
. - Скачайте менеджер пакетов «Homebrew». Для этого выполните команду:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- Далее установите утилиту
dfu-util
из менеджера пакетов «Homebrew». Вбейте в терминал команду:brew install dfu-util
- Проверьте список всех DFU-устройств:
dfu-util --list
.
Запомните значения в квадратных скобках. В нашем случае это «[0483:df11]».
Обновление прошивки
- Скачайте последнюю версию прошивки в формате
.bin
:- Репозиторий прошивок для Iskra JS Mini. Искать по названию
Espruino WiFi
.
- Для старта прошивки напишите в терминал команду, где:
- После флага
-d
те самые значения, которые мы запомнили из командыdfu-util –list
. - После флага
-D
путь к файлу с прошивкой.dfu-util -d 0483:df11 -s 0x08000000 -a 0 –dfuse-address 0x08000000 -D /Users/user/Downloads/espruino_1v92.194_iskrajs.bin
Должен начаться процесс прошивки, о чём свидетельствует Progress bar.
- В итоге вы должны увидеть сообщение
File downloaded successfully
.
Это значит, что всё получилось. Закрываем терминал, снимаем перемычку с BOOT0
и перезагружаем плату.
Далее запускайте Espruino Web IDE и попробуйте помигать светодиодом.