• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Обсуждение Программатор для TLSR

vic1973

New member
Подскажите. Есть плата LILIGO T-ZIGBEEPA с TLSR8258 на боту, но нет их фирменного программатора T-U2T, можно ли в неё записать с помощью программатора на STM32
 

aZholtikov

Active member
Подскажите. Есть плата LILIGO T-ZIGBEEPA с TLSR8258 на боту, но нет их фирменного программатора T-U2T, можно ли в неё записать с помощью программатора на STM32
 

pvvx

Активный участник сообщества
Для Windows в Chrome -> Самый простой программатор-эмулятор Telink-Swire без обратной связи: WebUSBCOMflasher
Cоединение:
TX -> SWS модуля
RTS или DTR -> RST модуля (не обязателен - можно сразу после выбора функции программирования включить питание модуля, время `активации` Atime, за которое надо успеть или вручную сделать сброc или включить питание модуля, настраивается)
GND -> GND

Более сложный программатор-эмулятор Telink-Swire с переходом на UART связь: TlsrComProg825x
Полнофункциональный аппаратный Telink-Swire программатор: TLSRPGM
 

vic1973

New member
Благодарю. Попробую зашить без обратной связи. Как придёт TB-04-KIT сделаю аппаратный.
 

pvvx

Активный участник сообщества
Подскажите. Есть плата LILIGO T-ZIGBEEPA с TLSR8258 на боту, но нет их фирменного программатора T-U2T, можно ли в неё записать с помощью программатора на STM32
С официальными прошивками в Xinyuan-LilyGO/T-ZigBee есть проблемы.
Берете SDK у Telink и собираете проект sampleGW_8258, выставив в /apps/sampleGW/app_cfg.h #define ZBHCI_UART 1
 

Atom

Member
С арифметикой то как?
Swire 2 Мbit /s - это 2 000 000 бит в секунду.
UART - при 921600 - 921600 бит в секунду.
:) :) :)
При ваших 2 бита на байт UART -> От UART требуется: (2 000 000/2)*10 = 10 000 000 baud
Вообще-то скорость именно этого устройства измеряют в бодах. То есть число нужно умножить на 8/11.
 

vic1973

New member
С официальными прошивками в Xinyuan-LilyGO/T-ZigBee есть проблемы.
Берете SDK у Telink и собираете проект sampleGW_8258, выставив в /apps/sampleGW/app_cfg.h #define ZBHCI_UART 1
Спасибо. SDK уже пробую, а официальная прошивка вообще не работает.
 

pvvx

Активный участник сообщества
C нынешней версией SDK от Terlink уже не всё соответствует...
Для работы T-ZigBee как Coordinator (zigbee2mqtt.ino) на TB-03F у меня как-то работала прошивка hciDevice_ZR_8258_SDK_eb644f1_MD5_3e7c395bacca28475952808a79ff2ec1.bin
Не вижу смысла в плате T-ZigBee, т.к. это жручее устройство.
Возможно скоро, когда допилю, скину в общий доступ zigbee2ble на модуле TB-03F. И не нужен никакой zigbee2mqtt (долой монстров! :) ).
1699193790602.png
 

vic1973

New member
C нынешней версией SDK от Terlink уже не всё соответствует...
Для работы T-ZigBee как Coordinator (zigbee2mqtt.ino) на TB-03F у меня как-то работала прошивка hciDevice_ZR_8258_SDK_eb644f1_MD5_3e7c395bacca28475952808a79ff2ec1.bin
Не вижу смысла в плате T-ZigBee, т.к. это жручее устройство.
Возможно скоро, когда допилю, скину в общий доступ zigbee2ble на модуле TB-03F. И не нужен никакой zigbee2mqtt (долой монстров! :) ).
Посмотреть вложение 13331
Буду ждать.
 

Slacky

Member
А вот кто подскажет. Иногда в модуль не получается записать прошивку. Точнее она вроде пишется, но обламывается на ошибке. Причем отследить это можно только через оригинальный программатор, так как TlsrPgm.py обратной связи не дает и пишет, что все ок. Причем обламывается на разных адресах. Но! если удается прописать, то какое-то время может шиться нормально. Потом может опять впасть в ступор. Питание игрался. Не помогает.

Код:
[16:55:13]:
 TC32 EVK : Swire OK     
 Flash Sector (4K) Erase at address 0     
 Flash Page Program at address 0     
 Flash Page Program at address 400     
 Flash Page Program at address 800     
 Flash Page Program at address c00     
 Flash Sector (4K) Erase at address 1000     
 Flash Page Program at address 1000     
 Flash Page Program at address 1400     
 Flash Page Program at address 1800     
 Flash Page Program at address 1c00     
 Flash Sector (4K) Erase at address 2000     
 Flash Page Program at address 2000     
 [170]: write buff err!     
 Flash Page Program Error at address 2400
 

pvvx

Активный участник сообщества
Там нет снятия защиты записи Flash, которое иногда ставят Zigbee прошивки. Требуется записать "0" в регистр Status Flash.
Нет контроля что Flash переведена fw в sleep.
Нет контроля что питание Flash или SPI отключены. Варианты разные - клоки и прочие регистры SoC. В данном случае проще всего сделать Soft Reset и тут-же "активацию" и остановить CPU.
Нет контроля что питание у Flash выставлено в норму (SoC имеет спец. регистры).
Нет отключения некоторых функций типа таймеров или чего-то ещё, вызывающих прерывание CPU. CPU и внешний запрос через SWS начинают одновременно менять регистры SPI и прочего :)
 

pvvx

Активный участник сообщества
Ни одна из указанных функций недоступна в BDT.
 

pvvx

Активный участник сообщества
Не поверите. У меня usb шнурок 1.5 метра на программатор. Взял короткий и все прошилось. И теперь все время шьется ...
До поры до времени, пока не прошьете что эксклюзивное или ... :p
Только TlsrPgm.py.
Пример: python3 TlsrPgm.py -pCOM4 -z11 -a-100 -s i
-z11 - вылавливать активность SoC 11 сек (если нет провода к RST)
-a-100 - reinit SoC
-s - остановить CPU
i - команда "информация" - можно другую

Итог при старте:
Код:
=== PreProcess ========================================
CPU sleep? (1.137 sec)
CPU PC=0x000001b2
MCU Reboot... ok
Activate 100 ms... ok
CPU PC=0x00000000
CPU Stop... ok
=== Process ===========================================
Chip TLSR825x ID: 0x5562, rev: 0x02
CPU PC=0x00000000 ([0x0602] = 0x05)
Flash JEDEC ID: 0xC86013, Size: 512 kbytes
Flash Status Register: 0x00
...
Главное тут - последовательность:
MCU Reboot... ok
Activate 100 ms... ok
CPU Stop... ok
выполняемая без пауз.
 

pvvx

Активный участник сообщества
А отваливание USB у TLSR - это кривой софт в программаторе и нет нормальных фильтров на шине. Желательно использовать для подключения USB2.0, а не USB3.0 контроллер мамки.
 

pvvx

Активный участник сообщества
А так-же отладка...
Захотелось прочитать что-то в памяти, аналоговых регистрах, flash не мешая SoC работать чередуясь со сном, то всё есть в TlsrPgm.py.
Можно сообщения отладки пустить в назначенную область памяти...
 
Сверху Снизу