Это старая версия документа!
Обновить прошивку модуля или стика можно по последовательному порту через встроенный в микроконтроллеры СС2538 и CC2652 загрузчик (serial bootloader) с помощью утилиты cc2538-bsl.
Для работы утилиты необходимо установить дополнительные пакеты:
pip3 install pyserial intelhex python-magic
Скачать утилиту можно командой:
git clone https://github.com/JelmerT/cc2538-bsl.git
Для прошивки микроконтроллер должен быть переведен в режим загрузчика (serial bootloader).
Для переключения стика в режим загрузчика необходимо:
Для переключения модуля в режим загрузчика см. Документацию к модулю.
Пример команды для прошивки устройства (из директороии, в которую была установлена утилита для прошивки):
python3 cc2538-bsl -p /dev/ttyUSB0 -e -v -w <FIRMWARE>
где:
/dev/ttyUSB0 - файл устройства последовательного порта, соответствующий подключенному. Может отличаться от приведенного в примере в зависимости от операционной системы и количества устройств, подключенных к компьютеру. Для стиков подключенных к компьютеру с ОС Linux - это /dev/ttyUSB*. Для модулей см. документацию к устройству в который установлен модуль;
<FIRMWARE> - имя файла с прошивкой (необходимо указывать полный путь к файлу с прошивкой).
При указании опции -e производится полное стирание всей внутренней flash-памяти микроконтроллера перед его прошивкой.
Для стиков JetHome предусмотрена возможность автоматического аппаратного сброса и переключения его в режим загрузчика для перепрошивки без необходимости отключать стик от порта USB и нажимать на нем кнопку. Для использования этой возможности необходима модифицированная версия утилиты cc2538-bsl.
В данную версию утилиты добавлена опция командной строки –invoke-bootloader=METHOD, которая устанавливает алгоритм, используемый для переключения в режим загрузчика. Доступные значения параметра METHOD:
Для работы утилиты необходимо также установить дополнительные пакеты:
pip3 install pyserial intelhex python-magic
Для входа в режим загрузчика используется способ «2». Пример команды для прошивки USB-стика JetHome в данном случае будет следующей:
python3 cc2538-bsl --invoke-bootloader=2 -p /dev/ttyUSB0 -e -w CC1352P2_CC2652P_launchpad_coordinator_20210120.hex