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

Embedded SW/Firmware Engineer

Отправить сообщение

Отладка позволяет использовать breakpoint, удобным образом смотреть содержимое памяти и модифицировать ее, выполнять программу пошагово.

Ваш JTAG умеет вот так просканировать I2C шину? Видали такое ?

На отладочные символы места нет, а на CLI есть?

Да. Обычно UART-CLI настраивается переменными окружения при сборке. Можно вообще оставить только одну, две конкретные команды shell(a).

Вот и получится, что CLI займет мизерную память в прошивке.

А программисту напарник вовсе не нужен. Взаимодействие с другим программистом - это дополнительные сложности, всегда. А то, что результат получается медленнее - это не забота программиста. 

Прям вспоминаю кадры из детства


Вот меня всегда интересовал вопрос — если парное программирование эффективнее одиночного, то, по-идее, программирование в тройках должно быть еще более эффективным?Никто не пробовал?

Вот эти пробовали

Отладка позволяет использовать breakpoint, удобным образом смотреть содержимое памяти и модифицировать ее, выполнять программу пошагово.

А как быть когда прошивку просто не удается отлаживать по SWD или JTAG в IDE банально из-за нехватки on-chip NOR-Flash памяти для сборки *.bin(аря) с отладочными символами (опции компилятора -g3 -ggdb -gdwarf-2)? A?...

Я тесты пишу ещё до написания самого кода. TDD наше всё.

У меня в среднем код тестов в три раза превышает код функционала.

Тесты как правило простые по три строчки каждый. Там и отлаживать нечего.

Потом в UART CLI можно включить параноидальное логирование и отлаживать код анализируя синий лог в UART

А можно примеры каких-нибудь девайсов с поддержкой PMBUS?

чип PM6766 для питание серваков
https://www.st.com/en/power-management/pm6766.html

Потом, пошаговая отладка по SWD имеет свойство очень долго загружаться.
Буквально делаешь в Eclipse команду Terminate and Relaunch и IDE думает, думает , думает и только черед 2 минуты происходит долгожданный reboot.

Это как?

Уж лучше и быстрее через UART-CLI отлаживаться.

Если Вам нужна сборка из скриптов в условиях кросс платформенности, то надо было просто Cmake скрипты писать. А не сочинять python скрипты.

Cmake для этого и создан.

Надо ли учитывать силу Кориолиса при калибровке акселерометра?

Какой тип ADC внутри акселерометра? SAR ADC? дельта-сигма АЦП? flash ADC?

Как преобразовать измеренные акселерометром значение перегрузки (g) в привычные человеку метры на секунды в квадрате, если ускорение свободного падения везде на земном шаре разное и увеличивается при возрастании широты?

Каков алгоритм калибровки акселерометра?

Как по показанию акселерометра можно распознать аварию автомобиля?

 сделав в базовом виде CI/CD, запустив отдельный сервер для сборки (что, как выяснилось, редкость для embedded) и реализовав удалённую (насколько это возможно) отладку. 

У нас же в организации, как я ни пытался убедить микроменеджера настроить DevOps, так ничего и не вышло. Ответ всегда один:
--"Нет времен затачивать пилу, надо пилить!"
--"Времени на раскачку нет!"

Почему важно собирать код из скриптов
https://habr.com/ru/articles/723 054/

Сборку из скриптов уже оценил ряд серьезных и успешных российских организаций. Вот, например, Whoosh написал даже текст про свой опыт настройки DevOps: Сборка и отладка прошивки IoT-модуля: Python, make, апельсины и чёрная магия. Ещё Wiren Board выступали на конференции с докладом CI/CD прошивок для микроконтроллеров в Wiren Board.

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

1
23 ...

Информация

В рейтинге
367-й
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность

Специализация

Embedded Software Engineer, DevOps
Senior
Git
Bash
CI/CD
C
Embedded system
Programming microcontrollers
Software development
Algorithms and data structures
System Programming
Development of drivers