Модульные тесты невозможно внедрить опосля, когда продакшен код уже написан и отгружен.
Иной раз организация хочет расширить рынок и сертифицировать свой продукт. Впервые в жизни разработчики (под свой сорокет отроду) узнают, что для сертификации надо оказывается написать модульные тесты.
Нанимают тестировщика и считают, что проблема решена. Но не тут то было. Внезапно для себя они узнают, что их «продакшен код» совершенно, абсолютно не тесто пригоден.
Так получилось... Так вышло... Так сложилось исторически...
Просто нет базы для составления модульных тестов. В коде нет как таковых getter‑ов и setter‑ов, на основе которых обычно и строятся модульные тесты. Там условно одна или две функция‑Бог: void xxx_init(void ) и void xxx_invoke(void ).
Более того, их код с требуемыми сертификаций ключами компилятора GCC даже и не собирается вовсе!
При этом разработчики, чтобы прикрыть хвост еще стремятся обвинить во всем тестировщика, что это, дескать, он не справился с задачей модульного тестирования их горе legacy.
Модульные тесты невозможно внедрить опосля, когда продакшен код уже написан и отгружен.
Иной раз организация хочет расширить рынок и сертифицировать свой продукт. Впервые в жизни разработчики (под свой сорокет отроду) узнают, что для сертификации надо оказывается написать модульные тесты.
Нанимают тестировщика и считают, что проблема решена. Но не тут то было. Внезапно для себя они узнают, что их «продакшен код» совершенно, абсолютно не тесто пригоден.
Так получилось... Так вышло... Так сложилось исторически...
Просто нет базы для составления модульных тестов. В коде нет как таковых getter‑ов и setter‑ов, на основе которых обычно и строятся модульные тесты. Там условно одна или две функция‑Бог: void xxx_init(void ) и void xxx_invoke(void ).
Более того, их код с требуемыми сертификаций ключами компилятора GCC даже и не собирается вовсе!
При этом разработчики, чтобы прикрыть хвост еще стремятся обвинить во всем тестировщика, что это, дескать, он не справился с задачей модульного тестирования их горе legacy.
Это всё, что нужно знать о предпринимательстве в сфере технологий и производства в нашей стране. К моему глубочайшему сожалению, и без претензий к ГГ. Озаглавить можно "выживаем, как можем".
Вот такой вот переход к капитализму. Вот такой вот результат перестройки. Сохранись CCCР Зеленоград бы продолжал делать электронные платы для орбитальных станций. Но выбрали вот это.
Одна из наших главных проблем – продажи. Я по натуре разработчик и все еще нахожу увлекательным этот процесс. Но сегодня одной разработки недостаточно, чтобы предприятие развивалось и разработка получала ресурсы. Для работы над интересными проектами нам нужны продажи.
Видимо правильно говорят: "Писать картины - профессия. Продавать их - искусство."
+ Самосинхронизирующиеся коды (брат Bit Stuffing-а)
Можно 8 бит кодировать 10-ю битами (так в PCI). Во всех высокоскоростных последовательных протоколах информация о синхронизации должна быть встроена в передаваемый сигнал. На физическом уровне иногда используется метод канального кодирования 8b/10b (избыточность — 20 %) для устранения постоянной составляющей в передаваемом сигнале и для встраивания информации о синхронизации в поток данных .
Далее устанавливаете клиентский софт от Peak Systems, получаете бесплатный драйвер, бесплатную нормальную Windows клиентскую программу для прошивки (PCAN-View).
Вам не надо будет отдельно разрабатывать клиентскую утилиту. Вы просто берёте утилиту PCAN-View и драйвера.
Далее устанавливаете клиентский софт от Peak Systems, получаете бесплатный драйвер, бесплатную нормальную Windows клиентскую программу для прошивки (PCAN-View).
Вам не надо будет отдельно разрабатывать клиентскую утилиту. Вы просто берёте утилиту PCAN-View и драйвера.
Модульные тесты невозможно внедрить опосля, когда продакшен код уже написан и отгружен.
Иной раз организация хочет расширить рынок и сертифицировать свой продукт. Впервые в жизни разработчики (под свой сорокет отроду) узнают, что для сертификации надо оказывается написать модульные тесты.
Нанимают тестировщика и считают, что проблема решена. Но не тут то было. Внезапно для себя они узнают, что их «продакшен код» совершенно, абсолютно не тесто пригоден.
Так получилось... Так вышло... Так сложилось исторически...
Просто нет базы для составления модульных тестов. В коде нет как таковых getter‑ов и setter‑ов, на основе которых обычно и строятся модульные тесты. Там условно одна или две функция‑Бог: void xxx_init(void ) и void xxx_invoke(void ).
Более того, их код с требуемыми сертификаций ключами компилятора GCC даже и не собирается вовсе!
При этом разработчики, чтобы прикрыть хвост еще стремятся обвинить во всем тестировщика, что это, дескать, он не справился с задачей модульного тестирования их горе legacy.
Модульные тесты невозможно внедрить опосля, когда продакшен код уже написан и отгружен.
Иной раз организация хочет расширить рынок и сертифицировать свой продукт. Впервые в жизни разработчики (под свой сорокет отроду) узнают, что для сертификации надо оказывается написать модульные тесты.
Нанимают тестировщика и считают, что проблема решена. Но не тут то было. Внезапно для себя они узнают, что их «продакшен код» совершенно, абсолютно не тесто пригоден.
Так получилось... Так вышло... Так сложилось исторически...
Просто нет базы для составления модульных тестов. В коде нет как таковых getter‑ов и setter‑ов, на основе которых обычно и строятся модульные тесты. Там условно одна или две функция‑Бог: void xxx_init(void ) и void xxx_invoke(void ).
Более того, их код с требуемыми сертификаций ключами компилятора GCC даже и не собирается вовсе!
При этом разработчики, чтобы прикрыть хвост еще стремятся обвинить во всем тестировщика, что это, дескать, он не справился с задачей модульного тестирования их горе legacy.
Вот такой вот переход к капитализму. Вот такой вот результат перестройки. Сохранись CCCР Зеленоград бы продолжал делать электронные платы для орбитальных станций. Но выбрали вот это.
Видимо правильно говорят:
"Писать картины - профессия. Продавать их - искусство."
Можете пополнить свой шоурум блок схемой для MT-32K_LTE_V2
Нашел ее на сайте
На сайте https://rutracker.org
по запросу: "Исходники Яндекс-приложений (x86, x64)" и нашел MT-32K_LTE_V2
https://habr.com/ru/news/712888/
Был как-то на Микроне. Чистых комнат не видел, зато остальные помещения чистыми ну никак не назовешь.
На сайте https://rutracker.org https://habr.com/ru/news/712888/
по запросу: "Исходники Яндекс-приложений (x86, x64)" и нашел MT-32K_LTE_V2
Это оно?
+ Самосинхронизирующиеся коды (брат Bit Stuffing-а)
Можно 8 бит кодировать 10-ю битами (так в PCI).
Во всех высокоскоростных последовательных протоколах информация о синхронизации должна быть встроена в передаваемый сигнал.
На физическом уровне иногда используется метод канального кодирования 8b/10b (избыточность — 20 %) для устранения постоянной составляющей в передаваемом сигнале и для встраивания информации о синхронизации в поток данных .
Какой с этого выигрыш?
Можно вообще купить за 1500руб отладочную плату JZ-F407VET6 и портировать на нее open-source проект PCAN-Pro-X.
Вот репозитории на выбор
https://github.com/mkelehk/pcan_pro_x_g431
https://github.com/moonglow/pcan_pro_x
https://github.com/eeshuibuxing/pcan_pro_x
Далее устанавливаете клиентский софт от Peak Systems, получаете бесплатный драйвер, бесплатную нормальную Windows клиентскую программу (PCAN-View).
Можно вообще купить отладочную плату JZ-F407VET6 и портировать на нее open-source проект PCAN-Pro-X.
Вот репозитории на выбор
https://github.com/mkelehk/pcan_pro_x_g431
https://github.com/moonglow/pcan_pro_x
https://github.com/eeshuibuxing/pcan_pro_x
Далее устанавливаете клиентский софт от Peak Systems, получаете бесплатный драйвер, бесплатную нормальную Windows клиентскую программу для прошивки (PCAN-View).
Вам не надо будет отдельно разрабатывать клиентскую утилиту.
Вы просто берёте утилиту PCAN-View и драйвера.
Можно сделать еще проще. Купить отладочную плату JZ-F407VET6 и портировать на нее open-source проект PCAN-Pro-X.
Вот репозитории на выбор
https://github.com/mkelehk/pcan_pro_x_g431
https://github.com/moonglow/pcan_pro_x
https://github.com/eeshuibuxing/pcan_pro_x
Далее устанавливаете клиентский софт от Peak Systems, получаете бесплатный драйвер, бесплатную нормальную Windows клиентскую программу для прошивки (PCAN-View).
Вам не надо будет отдельно разрабатывать клиентскую утилиту.
Вы просто берёте утилиту PCAN-View и драйвера.
Самое обидное, когда у MCU NOR FLASH с запретом до-записи, как у FC7300x и STM32G серии
Приходится изворачиваться
Пуск LittleFS (NVRAM с запретом до-записи flash)
https://habr.com/ru/articles/925372/
Мне передали, что тот ведущий сотрудник, который придумал этот code-style в НПП ИТЭЛМА в 2025 умер от передозировки алкоголем.
Да, но тогда надо его сконфигурировать на OTG разъеме.
Да. Вы правы! Голосование говорит само за себя. cube monitor - отстой.
Спасибо Вам, что дали наводку на J-Scope. Попробовал. Понравилось. С сегодняшнего дня я бросаю STM32CubeMonitor в помойку и отдаю приоритет J-Scope.
STM32CubeMonitor - это ярчайший пример того, как контора ST угробила хороший продукт STMStudio в пользу какой-то мути типа CubeMonitor .
На радость фирме Segger со своим J-Scope!
Полностью в Вами согласен! Уж лучше J-Scope или тот же STMStudio (который map поедал)
Хорошая новость.
У Вас остался какой-либо дистрибутив STMStudio версии 2.х? Тот который работает с *.map файлами.