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

BLE модули TB-04/TB-03F (TLSR8253F512)

pvvx

Активный участник сообщества
Я вообще telink-ide не использую. Хватает обычного Эклипса и cross compiller.
Тогда надо маяться в Eclipse с разными SDK от Telink и особенно с примерами. Плюс необходимо будет поставить какю-то версию MinGW, или CygWin, или MSys.
Проще поставить IDE и сделать import SDK/проекта и не думать не о чем...
 

pecherskih

Member
Тогда надо маяться в Eclipse с разными SDK от Telink и особенно с примерами. Плюс необходимо будет поставить какю-то версию MinGW, или CygWin, или MSys.
Проще поставить IDE и сделать import SDK/проекта и не думать не о чем...
Я бы согласился, но у меня получается, что думать всё равно надо. Может pvvx что подскажет, на счет ошибок в Эклипсе. Или Вы отлаживаетесь как то по другому, например через BDT?
 

pvvx

Активный участник сообщества
Я бы согласился, но у меня получается, что думать всё равно надо. Может pvvx что подскажет, на счет ошибок в Эклипсе. Или Вы отлаживаетесь как то по другому, например через BDT?
Уже везде, почти во всех темах писал - я не использую отладчики типов JTAG. Они требуют время больше чем записать новый код в Flash с вписыванием нового printf() для отладки в какой есть интерфейс или на GPIO ослом.
С TLSR использовал только PowerProfiler и редко осел, мелкую и очень редко отладку выводил в BLE.
 

pecherskih

Member
Уже везде, почти во всех темах писал - я не использую отладчики типов JTAG. Они требуют время больше чем записать новый код в Flash с вписыванием нового printf() для отладки в какой есть интерфейс или на GPIO ослом.
С TLSR использовал только PowerProfiler и редко осел, мелкую и очень редко отладку выводил в BLE.
Ну что ж, спасибо и на том. Может кто то ещё подскажет как Эклипс полечить. В качестве бонуса, упомяну этого хорошего человека в своей новой статье на Хабре :) Вот мои предыдущие статьи. Я ведь не только для себя BLE изучаю. Я ещё его популяризирую :)
 

Slacky

Member
Тогда надо маяться в Eclipse с разными SDK от Telink и особенно с примерами. Плюс необходимо будет поставить какю-то версию MinGW, или CygWin, или MSys.
Проще поставить IDE и сделать import SDK/проекта и не думать не о чем...
Ну msys все равно стоит уже ... Мне так понятней. Те примеры от оригинальной SDK, там черт голову сломит, если честно ...

Я пока пытаю MCU. Вот получу, то чего хочу, начну BLE прикручивать :))
 

pvvx

Активный участник сообщества
Или Вы отлаживаетесь как то по другому, например через BDT?
EVK для BDT возможно сделать на модулях с TLSR8269. Только у него, из имеющихся в продаже, есть ноги USB и SWM. EVK от Telink построен на многоножечном чипе, а таких нет на али за дешево. Ну и т.к. исходники EVK Telink зажал, то я пропатчил их бинарник для урезанного по ногам корпуса TLSR8269.
Для программирования я так-же использую программатор на TLSR8269 с аппаратным Telink Swire. Он гораздо быстрее заливает программу в Telink чипы. С ним есть возможность считывать-менять регистры и прочее...
 

pecherskih

Member
EVK для BDT возможно сделать на модулях с TLSR8269. Только у него, из имеющихся в продаже, есть ноги USB и SWM. EVK от Telink построен на многоножечном чипе, а таких нет на али за дешево. Ну и т.к. исходники EVK Telink зажал, то я пропатчил их бинарник для урезанного по ногам корпуса TLSR8269.
Для программирования я так-же использую программатор на TLSR8269 с аппаратным Telink Swire. Он гораздо быстрее заливает программу в Telink чипы. С ним есть возможность считывать-менять регистры и прочее...
Если бы у меня на аватарке была шляпа, я бы ей снял :) В самом деле, патчить чужие бинарники, для меня недоступный уровень. Ноу меня проблема не в программировании процессоров. С этим худо-бедно и BDT справляется. Мне нужна возможность отлаживать программу. С nrf52 я использовал Keil, там отладка есть. Да, в точке останова рушится связь по BLE, но зато можно посмотреть что при этом лежит в регистрах. Да и к тому же есть и остальная программа со своей логикой, которую то же отлаживать надо. Короче, если не получиться наладить работу Эклипса, придется всё в UART выводить :-(
 

pvvx

Активный участник сообщества
С этим худо-бедно и BDT справляется. Мне нужна возможность отлаживать программу.
BDT делает отладку. Но не стыкуется ни с какой IDE.
Отладка по SWire не полноценная - нет точек останова. Telink пытался встроить EVK в OpenOCD, но ничего хорошего из этого не вышло.
В BDT необходимо закинуть map файл в его каталог и отладка будет работать. Будут отображаться все переменные программы с их именами.
По SWire просто считываются или записываются любые области SoC. Можно остановить-запуcтить CPU, но точки останова он не умеет.
Но самое главное - BDT очень медленный в плате программирования и прочем. Работает с регистрами через Lua скрипты...
 

pvvx

Активный участник сообщества
У Telink не только с EVK-BDT беда. Нет и C++ :)
 

pvvx

Активный участник сообщества
Ну что ж, спасибо и на том. Может кто то ещё подскажет как Эклипс полечить.
Там нечего лечить. Eclipse не Arduino и настраивается на свой вкус и цвет.
По применению Eclipse как Arduino у Telink всё сделано и дано полное описание в их PDF. Т.е. сделать import, выбрать в меню сборки пример - на этом всё и соберется.
Вот мои предыдущие статьи. Я ведь не только для себя BLE изучаю. Я ещё его популяризирую :)
BT4.0 давно кануло в лету... С тех пор в BT5+ введено всяких новых фич больше, чем весь BT4.0...
 

pvvx

Активный участник сообщества
BT5+ пока не пользуется популярностью. Т.е. вообще в инет не проектов с применением BT5.0 и выше. В проектах Умных домов BT5+ не используется, т.к. основные причины в адаптерах и ядрах Linux.

По поводу BLE ядра Linux только в этом году начали исправлять и избавлять от наслоившихся багов от залезших туда Ардуинщиков (кентов из Intel – наверно это была диверсия, по другом не понять). Ладно там hard нестыковки c адаптерами, дык ещё налепили тупостей из-за которых нет полной поддержки стандарта ещё BT4.0. Алгоритм работы ядра с BLE вообще писал кто-то из детсада и это ещё скажется много раз, пока полностью не перепишут с нуля... В итоге BT5 можно считать что не работает в Linux. Наслоения в виде питоновских либ дело в ядре не исправят.
 

pvvx

Активный участник сообщества
Основная бяка в ядре Linux с BLE, в том, что команда сканирования или соединения блокирует уже имеющиеся соединения. Дети не смогли сделать распределение внутренних задач драйвера по времени. В итоге если имеем максимальный рекламный интервал в 10 сек по спецификации BLE, то соединение с таким устройством занимает 2 периода и блокирует все остальное задачи драйвера BLE на 20 секунд, хотя сами адаптеры тут не при чем. Android и Windows с этим справляются без проблем, т.к. нефиг писать как в Arduino линейный однозадачный Loop(). Только ардуино головного мозга мешает распределить задачу по времени, даже если адаптер однозадачный…
 

pecherskih

Member
BT4.0 давно кануло в лету... С тех пор в BT5+ введено всяких новых фич больше, чем весь BT4.0.
Ну так я пишу о базовых вещах, которые в 4.0 и 5.0 одинаковы. Хотя может быть вы и правы, надо уже переходить на BLE5.0 Просто у меня пока таких задач не было, я ведь что вижу делаю, то и пою пишу
 

pecherskih

Member
Там нечего лечить. Eclipse не Arduino и настраивается на свой вкус и цвет.
По применению Eclipse как Arduino у Telink всё сделано и дано полное описание в их PDF. Т.е. сделать import, выбрать в меню сборки пример - на этом всё и соберется.
Т.е. из Эклипса нельзя запрограммировать контроллер и это и это нормально?
 

pecherskih

Member
Да - это норма для Telink :) Хотя писали где-то, что сделали командную строку к BDT :)
У меня так:
Посмотреть вложение 12166
И запускается это
Спасибо за ответ. Я уже думал что это у меня руки кривые. Буду тогда разбираться как вы это шаманство с программированием делаете. Ещё раз спасибо.
 

Slacky

Member
Сверху Снизу