Size: a a a

2020 September 25

VK

Viacheslav Kaloshin in Embedded Group
не, сишка как раз тупая и много в ней знать не надо. а вот узнать например о том, что каналов dma в stm совсем не дофига, можно только либо на практике, либо вгрязаясь в даташит.
источник

AZ

Aleksander Zholtkovs... in Embedded Group
Viacheslav Kaloshin
чем поделиться? как поговорить, когда лучше прием байтиков по dma против побайтного, а когда нет? или чем лучше event-driven от thread-driven модели?
"thread-driven модель" - это как?
источник

MP

Max Payne in Embedded Group
Viacheslav Kaloshin
не, сишка как раз тупая и много в ней знать не надо. а вот узнать например о том, что каналов dma в stm совсем не дофига, можно только либо на практике, либо вгрязаясь в даташит.
даааа, не надо. особенно когда

sscanf("%d", my_var);

копилиться без ворнингов
источник

VK

Viacheslav Kaloshin in Embedded Group
Andrei Kartashev
А это тут причём? Программировать и разрабатывать софт - это ортагональные навыки. Вроде как обсуждали проверку кандилата на умение программировать
Одно без другого не бывает. Вон, в том тесте как раз "жизненный" пример про MIN и когда в него суют разное. А я например как раз дал задачу типа "напиши код, который берет наименьшую температуру"
источник

MP

Max Payne in Embedded Group
Aleksander Zholtkovskii
"thread-driven модель" - это как?
наверное он имел ввиду обрабатывать все в потоках (RTOS)?
источник

VK

Viacheslav Kaloshin in Embedded Group
Max Payne
даааа, не надо. особенно когда

sscanf("%d", my_var);

копилиться без ворнингов
хочется не бояться такого? вон, Rust придумали 🙂 там такого 100% не будет :)
источник

VK

Viacheslav Kaloshin in Embedded Group
Aleksander Zholtkovskii
"thread-driven модель" - это как?
да, создают туеву хучу потоков. есть такие ... товарищи. И да, в некоторых случаях это норм.
источник

MP

Max Payne in Embedded Group
Viacheslav Kaloshin
хочется не бояться такого? вон, Rust придумали 🙂 там такого 100% не будет :)
а это уже съезд с темы - мы обсуждаем Си и его окружающую экосистему: молчаливые компиляторы, ноль тестов, 99% легаси кода, отсутствие инструментации
источник

VK

Viacheslav Kaloshin in Embedded Group
а некоторые любят кучу if зафигачить, как в ардуинах рекомендуют (забыл как такой подход называется)
источник

MP

Max Payne in Embedded Group
Max Payne
а это уже съезд с темы - мы обсуждаем Си и его окружающую экосистему: молчаливые компиляторы, ноль тестов, 99% легаси кода, отсутствие инструментации
в таких условиях не знать про implicit cast это самоубийство
источник

VK

Viacheslav Kaloshin in Embedded Group
Max Payne
а это уже съезд с темы - мы обсуждаем Си и его окружающую экосистему: молчаливые компиляторы, ноль тестов, 99% легаси кода, отсутствие инструментации
Все есть. Есть и линтеры, которые заорут на такое, не написанные тесты - это не проблема экосистемы вообще
источник

VK

Viacheslav Kaloshin in Embedded Group
ну а легаси ... мне везет, у меня его мало 🙂
источник

MP

Max Payne in Embedded Group
отсутствие тестов как на всех уровнях врученной программисту системы, как и во всех dependency - это один из столпов экосистемы.

"есть линтеры" - хорошо еще если билд у кастомера не на баш скрипте написан, какой там линтер?
источник

СС

Сиие Сууие in Embedded Group
Они актуальные всегда но это так на самую базу и без полного охвата да и больше по языку чем по МК
источник

AK

Andrei Kartashev in Embedded Group
Viacheslav Kaloshin
Одно без другого не бывает. Вон, в том тесте как раз "жизненный" пример про MIN и когда в него суют разное. А я например как раз дал задачу типа "напиши код, который берет наименьшую температуру"
Как это не бывает? В кровавом энтерпрайзе уже давно эти функции выполняют разные люди
источник

VK

Viacheslav Kaloshin in Embedded Group
Max Payne
отсутствие тестов как на всех уровнях врученной программисту системы, как и во всех dependency - это один из столпов экосистемы.

"есть линтеры" - хорошо еще если билд у кастомера не на баш скрипте написан, какой там линтер?
повторюсь про мух и пчел 🙂
источник

СС

Сиие Сууие in Embedded Group
Stas Koynov
волотайл значит спросили, а чеж не спросили про атомики и их разницу..., или почему на одном атомике низя сделать примитив синхронизации, зато бред про макрос MIN.... зачем его писать если он есть в stdlib.h боже он даже есть у меня на говно пиках...
Затем что может быть не мин а что-то своё что надо понимать
источник

MP

Max Payne in Embedded Group
Viacheslav Kaloshin
повторюсь про мух и пчел 🙂
с каких пор крылатые выражения стали приниматься как аргумент?)))
источник

VK

Viacheslav Kaloshin in Embedded Group
Andrei Kartashev
Как это не бывает? В кровавом энтерпрайзе уже давно эти функции выполняют разные люди
в кровавом интерпрайзе есть все, да 🙂 но тут не про кровавый
источник

СС

Сиие Сууие in Embedded Group
Faberge
Только про вызов malloc с нулем не совсем понятно, это все-таки нюанс реализации и зависит от конкретного компилятора?
Малок как по мне можно вычеркнуть динамика в контроллерах неоч затея вцелом
источник