• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Обсуждение TLSR8269

pvvx

Активный участник сообщества
Все варианты Telink и его утилит уже перепотрошил и реверснул - тупо там всё и не подымет он все камушки. Могу забиться на что :p
Короче можно книжку уже писать о кривизне EVK и утилит от Telink.
Сделал специальную игрушку - камень из TLSR8269. Он уже и EVK был и кварц у него теперь внешний и регулируемый :p
 

pvvx

Активный участник сообщества
Чтобы подтвердить вашу тупость - расскажите, что надо сделать на TLSR8269 прошитым прошивкой из оф. sig_mesh_tools_release_2.9 8269_mesh_master_dongle.bin, чтобы заработал USB?
Думаю что гадать будете ещё годы :p
Данный пример успешно собирается и идентичен вложенному 8269_mesh_master_dongle.bin.
 

pvvx

Активный участник сообщества
Всё - несчастье.... :mad: Эта версия игры кончилась...
Кирпич "разкирпичился" в автоматическом режиме (без участия человека) и встал на команде остановки CPU по swire...
Теперь тупо через доступ к регистрам SPI дать команду стирания и затем записать более качественное окирпичивание... :)
 

nikolz

Well-known member
А нифига - вы опять врете! :p
Во первых у вас нет TLSR8269.
Я специально сделал "камень" из TLSR8269.
Вот последние программирования его 100-й прошивкой:
Посмотреть вложение 7969

Не поднимается он EVK и вообще пока ничем.
Но я придумал то, чего нет у EVK и не будет. Продам за дорого Telink-у :p
извинитесь за врете, покажу TLSR8269,
иначе - хамите перед своей женой.
 

nikolz

Well-known member
pvvx,
смешно читать как Вы здесь испражняетесь.
Право дело - как дите малое.
 

pvvx

Активный участник сообщества
pvvx,
смешно читать как Вы здесь испражняетесь.
Право дело - как дите малое.
Я тут по делу - распространяю информацию. А вы уже зеркало смотрите...
Вот сейчас слепил читалку внутренней Flash по swire для случаев если кто попытается защитить прошивку в TSLR и вырубит в boot все внешние концы (EVK с таким не справится - скорости не хватит).
Если не превышать скоростей то swire на ~1.25 мегабита один запрос-установку регистра SPI контроллера выходит такая борода:
upload_2019-9-28_19-21-42.png
На CS так-же. Долго это выходит, но всё-же читает внутреннюю Flash блоками по 16 байт...
Но на EVK nikolz-а в таком режиме уйдут часы из-за его умелых замеров длительности импульсов swire :)

В SDK аналогичное описано в скриптах rf.tls и wf.tls (чтение/запись flash через swire).
 

nikolz

Well-known member
Я тут по делу - распространяю информацию. А вы уже зеркало смотрите...
Вот сейчас слепил читалку внутренней Flash по swire для случаев если кто попытается защитить прошивку в TSLR и вырубит в boot все внешние концы (EVK с таким не справится - скорости не хватит).
Если не превышать скоростей то swire на ~1.25 мегабита один запрос-установку регистра SPI контроллера выходит такая борода:
Посмотреть вложение 7977
На CS так-же. Долго это выходит, но всё-же читает внутреннюю Flash блоками по 16 байт...
Но на EVK nikolz-а в таком режиме уйдут часы из-за его умелых замеров длительности импульсов swire :)

В SDK аналогичное описано в скриптах rf.tls и wf.tls (чтение/запись flash через swire).
Благодарю за заботу, но нахрена мне это надо?
Слепили воровскую отмычку и хвалитесь.
Докатились до цугундера.
 

nikolz

Well-known member
Вот ответ чисто установленного SDK на Win10 (запуск иконки Telink IDE):
Посмотреть вложение 7962
На Win7 - там сообщение длиннее, но о том-же, что ему не нравится версия java. Подавай какую-то древнюю...
Ну а далее и сборка не пашет.
Так што давайте описывайте, как же народу его запустить... :)
Показываю картинку работы SDK на Win10.
Установилось без проблем.
upload_2019-9-29_7-45-33.png
аналогично все работает и на Win XP
Успехов в изучении основ работы на винде.
Суетливый Вы наш.
 

nikolz

Well-known member
pvvx,
специально для Вас показываю 8269 но не все а только 4 шт.
upload_2019-9-29_8-14-38.png
Хамящий Вы наш.
-----------------------------
Ну теперь твоя душенька довольна?
 

pvvx

Активный участник сообщества
Ну теперь твоя душенька довольна?
Нет - не довольна.
Ни одного рабочего модуля не видно :p
Ну накупили дешевых модулей, а работать с ними так и не пробовали. Попробуете - узнаете, что потребуется. Тогда и поймете что, за чем и чего не хватает в EVK.
А eclipse в SDK всё равно не рабочий и конфликтует:
SDK\jre\bin>java.exe -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) Client VM (build 25.45-b02, mixed mode)
 

pvvx

Активный участник сообщества
@nikolz - Киньте бинарничек из E104-BT10-G. А то у меня пока одни E104-BT10-N, а другие ещё не пришли.
 

pvvx

Активный участник сообщества
Т.е. на это вы ответить не можете:
Вот ответ чисто установленного SDK на Win10 (запуск иконки Telink IDE):
Посмотреть вложение 7962
На Win7 - там сообщение длиннее, но о том-же, что ему не нравится версия java.
С бубном запускается, но как надо стучать в бубен пока оставим засИкреченным :p
 

pvvx

Активный участник сообщества
И как там USB с модулями E104-BT10-G? Вы их в лампочки будете вставлять? :)
Что сразу не купили готовую лампочку/люстру с ними? :) :) :)
 

pvvx

Активный участник сообщества
@nikolz - Киньте бинарничек из E104-BT10-G. А то у меня пока одни E104-BT10-N, а другие ещё не пришли.
Впрочем и так ясно, что ответа от @nikolz никогда не будет.
Пришла ещё пачка E104-BT10-N,
upload_2019-9-29_11-42-36.png
upload_2019-9-29_11-42-48.png
а вот E104-BT10-G пока в пути...
---
Странно работает установка скорости swire в регистре reg_swire_clk_div (REG_ADDR8(0xb2)). При задании другого делителя, вроде выходит переключение скачками, а не плавно...
При кварце 16 MHz в модулях E104-BT10, по молчанию имеем такой расклад CLK swire (так отвечает модуль):
upload_2019-9-29_11-52-5.png
Скорость шины запроса swire (к модулю) может варьироваться в достаточном пределе, а ответ чип дает на своей установке reg_swire_clk_div.
По этому сначала передаем последовательность установки скорости (5a 00 b2 00 делитель ff), а затем уже читаем. Но вот пока непонятна зависимость от чего тактируется swire и почему возникают нелинейности шага в reg_swire_clk_div и дискретностей тактирования самой swire.
В доках про это молчек.
 

pvvx

Активный участник сообщества
Telink в своих утилитах и документации предлагает ручную установку синхронизации скоростей swire. Автоматом сделать не смогли. Я ковыряю свой адаптер для swire на STM32F103C8T6, как наиболее доступный для всех ”самодельшиков”. На нем имеется ограничение для CLK swire в 32 MHz – это 32/5 = 6.4 mbps для swire master. Для устойчивости приема на стробе в 32 MHz имеем ограничение на приемную CLK swire в 1.5 раза, т.е. прием swire до 32/5/1.5=4.266667 mbps.

Городить триггеры или PLL и прочую логику нельзя – адаптер должен смочь собрать любой с максимальной сложностью в виде перепрошивки чего-то типа китайского STLinkV2 или какой мини платки с STM32F103C8T6 + пару проводов. Да и затраты не должны превышать 100 рупь. Пока выходит, что кроме проводков нужен ещё резистор…
 

pvvx

Активный участник сообщества
После этих затрат на "программатор до 100 рупь" из модуля E104-BT10-N/G любой участник сможет получить из него EVK. Но это необязательно, т.к. если уже есть "программатор до 100 рупь", то EVK не требуется. После работы "программатора до 100 рупь" (заливки в модуль программы) далее сами модули программируются по USB... Ну и "программатор до 100 рупь" нужен для раскирпичивания, с чем EVK не справляется.
 

pvvx

Активный участник сообщества
Всё - корявая beta версия готова. Стучать в личку.
upload_2019-9-30_1-22-31.png
 

pvvx

Активный участник сообщества
Работает через эмуляцию COM порта. Т.е. возможно использование Python с pyserial.
Можно работать и в программе терминала, правда в HEX:
upload_2019-9-30_1-33-10.png
Тогда в COM-порт вводятся байты, как для передачи в swire.
Старты и стопы на передачу STM32 разгребает сам, как и декодирование приема.
В примере: 5A 06 BC 80 ff ff ff ff ff - будет передано на swire '5A 06 BC 80' (START, addr, RW_ID), принято 4 байта, передан END.
На приеме вместо 1 принятого байта выдается 2 байта (по swire передается 10 бит на байт):
Байт1:
Если принят (декодирован) успешно, то два бита: Бит1 = cmd бит, Бит0 = end бит, остальные = 0.
Если не успешно (не было приема/строба и т.д.) то данный байт = 0xFF.
Байт2:
Сами 8 бит данных.
Пока такой протокол, но кому надо тот сможет поменять в исходнике программы STM32F103C8T6...
За всеми исходниками тоже стучаться в личку, т.к. они ещё не прибраны и не приукрашены для выкладываний.
 

pvvx

Активный участник сообщества
От платки с STM32 используются 3 вывода:
1. SWO Выход swire (GPIO_PA7 STM32F103): на резистор в 750 Ом и на SWI.
2. SWI Вход swire (GPIO_PA6 STM32F103): на SWS модуля TLSR8269
3. RST выход c OK: на Reset модуля TLSR8269.
Светодиод (GPIO_PС13 STM32F103) мигает при транзакции.
RST необходим для активации убитого или ещё какого замученного модуля.
Пример как это работает:
Activate.gif
Данную процедуру, назовем "Activate", выполняет сам STM32 по спец команде.
Доп команды:
[0x55,0x00] - притянуть RST к GND (в "Activate" не встроена, должна исполняться до него)
[0x55,0x01] - отпустить RST (в "Activate" уже встроена)
[0x55,0x02,nnnn] - "Activate", где nnn - кол-во циклов (65535 циклов = 3.3 секунды)
Для текущих модулей достаточно 520.
За это время конденсатор на сбросе успевает зарядиться (после отпускания RST).

В программе, после нажатия "Activate":
upload_2019-9-30_2-18-18.png
Останавливает CPU модуля до исполнения любой команды.

Считаем PC из TLSR8269 после "Activate":
upload_2019-9-30_2-19-49.png
Адрес PC = 0x00000000.
Скороcть swire из модуля указана в строке состояния и выставлена в меню программы после "Activate".
Далее можно прочитать Flash, стереть Flash, записать рабочую прошивку и т.д.

Help-а в программе нема и не будет никогда: При подносе курсора - на все пипки вылезают всплывающие подсказки.
Я не собираюсь раскрашивать ничего - пусть берется и занимается кто-то другой для выкладывания "в народ".
Для этого все исходники отдам если постучаться в личку...
 
Сверху Снизу