Skip to content

Перепрошивка CC2538 (SBL) при наличии ESP

Если в Zigbee координатор CC2538 была загружена правильная прошивка, где не отключен Serial Boot Loader (SBL), то его можно перепрошить без программатора J-Link (J-Tag). Проблема в том, что работе последовательного порта будет мешать ESP.

Чтобы перепрошить координатор CC2538 через SBL на работающем шлюзе с ESP нужно:

  1. Перепаять 2 перемычки ESP/MOD (между кнопкой SW1 и чипом U7) в положение MOD.
  2. Отключить питание ESP, проще всего перерезав дорожку как показано тут. (Не обязательно, достаточно сменить пины rx,tx,rst,bsl на 255) home
  3. Подключить USB при нажатой кнопке B_NXP (на некоторых платах BOOT_Z). Если такой кнопки нет, то нужно проводком закоротить контакт PA7 CC2538 на землю (можно на момент подключения USB, можно просто временно припаять). Важно - экран/корпус USB разъема не является землёй, ищите землю в другом месте!
  4. Проверить считывание прошивки. Скачиваете cc2538-bsl.py, в Windows запускаете
    python cc2538-bsl.py -p "\\.\COM2" -r old_firmware.bin
    python cc2538-bsl.py -p "\\.\COM2" -r old_firmware.bin
    Вместо COM2 нужно указать правильный порт - см. в диспетчере устройств.
  5. Если прошивка считалась и ничего не прервалось, можно прошивать новую прошивку JH_2538_2592_ZNP_UART_20201010.hex командой
    python cc2538-bsl.py -p "\\.\COM2" -e -w -v JH_2538_2592_ZNP_UART_20201010.hex
    python cc2538-bsl.py -p "\\.\COM2" -e -w -v JH_2538_2592_ZNP_UART_20201010.hex
  6. Отпаиваем проводок от PA7, перепаиваем перемычки ESP/MOD в ESP, восстанавливаем питание ESP.

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