Как стать автором
Обновить

Комментарии 8

Очень занятный проект. Необходимость генерации профиля под конкретное приложение напрягает, потому что несколько усложняет цикл отладки в процессе разработки. Я пару лет назад запилил свой похожий велосипед на C++17, который даже в одном продукте работает; более богатая система типов современного C++ позволяет избавиться от препроцессинга и в то же время не гонять строки через интерфейс трассировки целиком. В итоге я, правда, всё равно им не доволен: реализация вышла сложной, есть потребность в нетривиальной статической инициализации, API неудобный, да и от макросов не получилось избавиться. Сижу ищу альтернативы получше, и в связи с этим вопрос:

Есть ли решение проще и производительнее? В данной статье мы рассмотрим одно из таких

Можете огласить весь список конкурирующих решений, пожалуйста?

Необходимость генерации профиля под конкретное приложение напрягает

Можно использовать сразу P7. На сайте так и написано) Моей целью было изучить решения, что позволят мне в дальнейшем получать телеметрию с минимальной тратой ресурсов (да, преждевременная оптимизация и попытка залезть в бутылку).

Из открытых похожих решений слышал про FreeMASTER, но не пользовался. Так же вроде как у ST что-то похожее демонстрировалось на конференции, но могу ошибаться. Если узнаете что-то наверняка, напишите пожалуйста.

Для микроконтроллеров ST имеется программа STM Studio, которая позволяет смотреть графики изменения внутренних переменных с периодом от 1мс, обращаясь напрямую по адресу

Увы я не могу оценить Вашу ссылку без регистрации st.com. Для дебага это может быть удобно - бесспорно.

Но телеметрия рассмотренная в этой статье - это возможность собирать данные в поле, с множества устройств, активировать и деактивировать счетчики удаленно, с частотой больше чем 1мс и без зависимости от проприетарных инструментов. На сколько я знаю помимо телеметрии библиотека предоставляет так же логирование с функциями с перменными числом аргументов, но без форматирования на целевом процессоре.

Т.е. вы приводите пример хорошего дебаггера, а автор пример инструментов мониторинга систем в дикой среде и без привязки к конкретному производителю.

Согласен с вами, немного попутал.

Увы я не могу оценить Вашу ссылку без регистрации st.com. Для дебага это может быть удобно - бесспорно.

STM Studio - программа помогающая отлаживать исходный код, выводя на график значения переменных, при этом необходимо быть подключенным к отлаживаемому устройству через SWD и соответствующий программатор. Согласно информации с st.com сейчас STM Studio not recommended for new design. Новая, похожая, разработка называется STM32CubeMonitor.

Для телеметрии подходит, мягко говоря, слабо

Поменять камень. Для стм32 все это есть из коробки ide. И городить дополнительный порт из уарта для отладки не надо - есть свой специальный.

Это всё имело бы смысл, если бы речь шла об отладке на столе. У меня (и у автора публикации) задача шире, и включает в себя сбор телеметрии с устройства в полевых условиях для диагностики и тонкой доводки контуров управления. Одним лишь UART дело тоже редко ограничивается.

В данном проекте препроцессор используется чтоб полностью убрать строки и из передачи и из бинарника, отсылаются только значения переменных аргументов, временная метка и пара сервисных полей вроде счетчика, айди. За счет этого и получается впечатляющая скорость и минимальный требуемый bandwidth для передачи данных.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории