Инструменты пользователя

Инструменты сайта


cc2538_bsl_manual  

Прошивка модулей и стиков TI CC2538/CC2652 с помощью утилиты cc2538-bsl

Обновить прошивку модуля или стика можно по последовательному порту через встроенный в микроконтроллеры СС2538 и CC2652 загрузчик (serial bootloader) с помощью утилиты cc2538-bsl.

Важно: для прошивки устройства через последовательый порт устройство должно быть переведено в режим загрузчика. Процедура перевода в режим загрузчика зависит от установленного на устройство ПО и может быть не совместима и не поддерживаться устройствами JetHome. Поэтому не гарантируется работа механизма переключения в режим загрузчика для сторонних прошивок. Используйте только рекомендованные прошивки. См. ПО модулей, основанных на чипе TI CC2538 и ПО стиков и модулей, основанных на чипе TI CC2652P1

Установка утилиты

Для работы утилиты необходимо установить дополнительные пакеты:

pip3 install pyserial intelhex python-magic

Скачать утилиту можно командой:

git clone https://github.com/JelmerT/cc2538-bsl.git

Переключение устройства в режим загрузчика

Для прошивки микроконтроллер должен быть переведен в режим загрузчика (serial bootloader).

Для переключения стика в режим загрузчика необходимо:

  • Отключить стик от порта USB;
  • Нажать кнопку «FLASH» на плате стика;
  • Не отпуская кнопку «FLASH», вставить стик в порт USB компьютера;
  • После чего кнопку «FLASH» можно отпустить.

Для переключения модуля в режим загрузчика см. Документацию к модулю.

Прошивка

Пример команды для прошивки устройства (из директороии, в которую была установлена утилита для прошивки):

python3 cc2538-bsl.py -p /dev/ttyUSB0 -e -v -w <FIRMWARE>

где:

/dev/ttyUSB0 - файл устройства последовательного порта, соответствующий подключенному. Может отличаться от приведенного в примере в зависимости от операционной системы и количества устройств, подключенных к компьютеру. Для стиков подключенных к компьютеру с ОС Linux - это /dev/ttyUSB*. Для модулей см. документацию к устройству в который установлен модуль;

<FIRMWARE> - имя файла с прошивкой формате bin или hex (необходимо указывать полный путь к файлу с прошивкой).

При указании опции -e производится полное стирание всей внутренней flash-памяти микроконтроллера перед его прошивкой.

Автоматическое переключение в режим загрузчика для стиков

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

В данную версию утилиты добавлена опция командной строки –invoke-bootloader=METHOD, которая устанавливает алгоритм, используемый для переключения в режим загрузчика. Доступные значения параметра METHOD:

  • 0 - отключает процедуру активации загрузчика. В настоящий момент оригинальная утилита cc2538-bsl всегда запускает процедуру активации загрузчика с помощью линий DTR и RTS;
  • 1 - используется процедура активации загрузчика в случае независимого подключения управляющих линий DTR и RTS к микроконтроллеру. Данная процедура используется по-умолчанию и аналогична процедуре, используемой оригинальной утилитой;
  • 2 - используется процедура активации загрузчика в случае подключения управляющих линий DTR и RTS по схеме с защитой от непреднамеренного сброса микроконтроллера аналогичной применяемой в модулях NodeMCU.

Для работы утилиты необходимо также установить дополнительные пакеты:

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
cc2538_bsl_manual.txt · Последнее изменение: 2022/01/22 19:18 — Dmitriy

Инструменты страницы