Size: a a a

2020 August 03

NN

Nikita Nazarenko in Embedded Group
Нету в си умных указателей
источник

🅵

🅵🅾️🆇 in Embedded Group
:C
источник

I

Ivan in Embedded Group
В эмбеддед часто баги на низком уровне, их сложно автоматически отлавливать. Вот я счс в проекте участвую, у нас куча юнит-тестов, но они хорошо подходят для контроля отсутствия багов в логике приложения. Но все равно приходится сидеть искать ручками, почему не заводится spi или таймеры
источник

🅵

🅵🅾️🆇 in Embedded Group
Ivan
В эмбеддед часто баги на низком уровне, их сложно автоматически отлавливать. Вот я счс в проекте участвую, у нас куча юнит-тестов, но они хорошо подходят для контроля отсутствия багов в логике приложения. Но все равно приходится сидеть искать ручками, почему не заводится spi или таймеры
Ну потому и хочу в большинстве случаев все это дело обрабатывать на сервере через брокер (скажем чото типа москито)
источник

🅵

🅵🅾️🆇 in Embedded Group
Но взаимодействие с релехой и сенсорами все равно придется писать, в общем аппаратную часть, а не логику
источник

NN

Nikita Nazarenko in Embedded Group
А проёб в работе с dma тебе никакой анализатор не укажет, у него просто нет достаточной информации
источник

A

Alexander in Embedded Group
Nikita Nazarenko
Нету в си умных указателей
Они несут много накладных расходов.
Проверять что указатель не выходит за sizeof типа/массива - можно.
источник

A

Alexander in Embedded Group
Nikita Nazarenko
А проёб в работе с dma тебе никакой анализатор не укажет, у него просто нет достаточной информации
А тут MPU поможет.
источник

I

Ivan in Embedded Group
Nikita Nazarenko
А проёб в работе с dma тебе никакой анализатор не укажет, у него просто нет достаточной информации
Вот да, такие вещи только вручную получается отлавливать
источник

V🇱

Vyacheslav 🇱🇻 in Embedded Group
🅵🅾️🆇
Какую IDE порекомендуете под STM32 и Сишку?
Как блюсти качество кода?
Или прям вообще все сам, никакого ревью кода от компьютера и развитие через отстреленные конечности?
Atollic TrueStudio (до объединения в CubeMX)
источник

NN

Nikita Nazarenko in Embedded Group
Alexander
А тут MPU поможет.
Там тоже не без нюансов. Короче свалить всё на голову анализатора не получится, так же как и на тесты, именно в железной части.
источник

NN

Nikita Nazarenko in Embedded Group
Запомни - malloc у тебя нет.
источник

A

Alexander in Embedded Group
Nikita Nazarenko
Там тоже не без нюансов. Короче свалить всё на голову анализатора не получится, так же как и на тесты, именно в железной части.
Ну это да.
Но по крайней мере по call stack можно посмотреть где факап.
источник

NN

Nikita Nazarenko in Embedded Group
Это если ты его не затёр...
источник

NN

Nikita Nazarenko in Embedded Group
А иногда и понять что ты всего лишь ошибся и ходишь в невыровненый адрес
источник

I

Ivan in Embedded Group
Nikita Nazarenko
Запомни - malloc у тебя нет.
Но иногда всё же есть))
источник

I

Ivan in Embedded Group
Всякие сетевые стэки используют маллок, так что от задач зависит
источник

A

Alexander in Embedded Group
Ivan
Всякие сетевые стэки используют маллок, так что от задач зависит
LWIP свой менеджер памяти использует, заранее резервирующий память и недоступный для других процессов.
источник

NN

Nikita Nazarenko in Embedded Group
Ivan
Но иногда всё же есть))
Но до этого ещё дойти надо. uIP без аллокатора обходится, но на фиксированом количестве сокетов
источник

I

Ivan in Embedded Group
Alexander
LWIP свой менеджер памяти использует, заранее резервирующий память и недоступный для других процессов.
А ему нельзя подсунуть свой malloc, чтобы он общую кучу использовал? Для экономии RAM
источник