Pull to refresh
0
0
Artur Troian @Amr

Solutions architect

Send message
Производство в Китае, закупаем напрямую у HopeRF
У нас устройства с LoRa PHY по два года живут питаясь от 3.7В 2000mAh
Иногда сложно добиться отсутствия зависимостей. Да и надо ли?
Мы у себя похожий подход как у автора используем, удобно особенно если количество библиотек за сотню
Вы очень зря иронизируете. Вот идея для стартапа, которую вы возможно рассматривали но в итоге проигнорировали.

Посмотрите на решения вроде TravisCI, CircleCI и иже с ними, для opensource бесплатно, а если нужно для комерческого использования? Будь так любезный и купи подписку.
Это заблуждение или как говорят, ваши коллеги скорее всего не умеют готовить embedded проекты на С++.
Стандартная либа в таких проектах обычно не используется, а вот все плюшки языка доступны
Возможно автор хотел сказать что if (strcmp(s, r) == 0) наиболее часто использующийся случай для проверки равны ли строки. Я бы наверное оформил это таким образом
if (strcmp(s, r) ==0 ) — проверить равны ли строки
if (strcmp(s, r) !=0 ) — проверть не равны ли строки

А так да, говорить что if(strcmp(s,r)==0) неверно, неверно :)
Kubedash вроде анонсировали EOL
Мы делаем следующим образом (и вроде Keil RTX так же умеет)
При аллокации стека к размеру добавляем footer в котором содержится некий magic number. При переключении контекста начало и размер стека известны, соответственно можно проверить значение в футере и таким образом предположить было ли переполнение.

До сих пор удивляюсь, почему в CPU для embedded без MMU нету например вот такого решения stack limit.
Аппаратная проверка на каждом push/pop (STM/LDR для Cortex-M) вместо программных костылей imho намного эффективнее.
Кстати решение с переносом стека в начало RAM работает только если стек один. Когда на борту RTOS данный подход не поможет.
-finstrument-functions к сожалению также не совсем панацея (разве что вместе с проверкой границ стека во время context switch) так как позволяет проверять стек только на границах функции и если переполнение произошло по середине с последующим pop то содержимое памяти уже повреждено, а мы об этом не знаем :(
А в целом статья поднимает интересную тему, спасибо.


UPD: ARMv8-M поддерживает stack limit. Ждем STM32 на новой архитектуре

Успел увидеть ваш первый комментарий, спасибо :)
Насколько понимаю CppCat урезанная версия PVS-Studio, соответственно другая ветка кода, дополнительная команда, тестирование и т.д. А если продавать тот же PVS-Studio, но для индивидуальных разработчиков?
Относительно лицензии для индивидуальный разработчиков, я бы с довольствием приобрел если бы она стоила 100-200 у.е. даже в варианте подписки на год.
Вы не хотели бы рассмотреть вариант подписок которые предлагает например JetBrains для своих продуктов?

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Registered
Activity