Инструкция по прошивке zigbee- модуля CC2652 в OpenWrt на примере прошивки платы CC2652 от u236 для МТС.
Предварительная остановка сервиса homed-zigbee
/etc/init.d/homed-zigbee stop
Установка необходимых пакетов для прошивки платы
opkg update; opkg install python3 python3-pip git-http ca-bundle unzip
Настройка окружения python и установка дополнительных пакетов
python -m venv .venv
source .venv/bin/activate
pip3 install pyserial intelhex python-magic
Скачивание утилиты прошивки
git clone https://github.com/JelmerT/cc2538-bsl.git
cd cc2538-bsl/cc2538_bsl
Скачивание версии прошивки для cc2652 рекомендуемой для использования в HOMEd
wget https://github.com/Koenkk/Z-Stack-firmware/raw/a7745634b539df3d0b1ad1ae84a137017af58fe2/coordinator/Z-Stack_3.x.0/bin/CC1352P2_CC2652P_launchpad_coordinator_20221226.zip
unzip CC1352P2_CC2652P_launchpad_coordinator_20221226.zip
Перевод платы cc2652 в режим прошивки:
для OpenWRT от u236
echo 0 > /sys/class/gpio/zigbee-boot/value
sleep 1
echo 0 > /sys/class/gpio/zigbee-reset/value
sleep 1
echo 1 > /sys/class/gpio/zigbee-reset/value
sleep 1
для OpenWRT от OpenLumi
Единоразово выполнить экспорт пина
echo 132 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio132/direction
далее перед самой прошивкой
echo 0 > /sys/class/gpio/gpio132/value
sleep 1
echo 0 > /sys/class/gpio/zigbee-reset/value
sleep 1
echo 1 > /sys/class/gpio/zigbee-reset/value
sleep 1
Запуск обновления прошивки:
./cc2538_bsl.py -p /dev/ttymxc3 -V -e -w CC1352P2_CC2652P_launchpad_coordinator_20221226.hex
Запуск сервиса homed-zigbee после успешного завершения прошивки.
sleep 10
/etc/init.d/homed-zigbee start
Пример вывода прошивки:
(.venv) root@ow24-4g-znp:~/cc2538-bsl/cc2538_bsl# ./cc2538_bsl.py -p /dev/ttymxc3 -V -e -w CC1352P2_CC2652P_launchpad_coordinator_20221226.hex
Opening port /dev/ttymxc3, baud 500000
Reading data from CC1352P2_CC2652P_launchpad_coordinator_20221226.hex
Your firmware looks like an Intel Hex file
Connecting to target...
CC1350 PG2.1 (7x7mm): 352KB Flash, 20KB SRAM, CCFG.BL_CONFIG at 0x00057FD8
Primary IEEE Address: 00:12:4B:00:31:DD:22:0A
Performing mass erase
Erasing all main bank flash sectors
Erase done
Writing 360448 bytes starting at address 0x00000000
Write 104 bytes at 0x00057F980
Write done
(.venv) root@ow24-4g-znp:~/cc2538-bsl/cc2538_bsl#