вообщем если побольше поиграться с потоками, то окажется, что много какие задачи удобно ими решаются. и приложение писать быстрее с потоками и вытесняющей многозадачностью, чем выдумывать эффективную стейт-машину, мучаться с интерраптами, вываливать кишки каждой задачи в main loop и т.д. и т.п. у каждого разработчика свое мнение на этот счет
Комментарии: 15
Andor
Виртуальную машину ещё можно сделать
Hizhnyak
Нл ведь я могу передавать данные от adc к шине через dma, не загружая мк, делать несколько задач одновременно используя таймер?
Max
а в это время вася, ковыряясь в носу, заведет пару потоков и уйдет гулять с девушкой. лично мое мнение таково - если задача эффективно (как по затратам человекочасов, так и по соотвествию текущим и будущим критериям) решается через однопоточное приложение - значит делаю однопоточное. если задача решается эффективнее с использованием многозадачной OS/RTOS - значит использую OS/RTOS
Hizhnyak
То есть, иногда, реализация на многопоточной ос легче?)
Max
"легче" понятие растяжимое. уточните. легче по памяти? ...если задача решается с использованием arduino/esp за 2 дня и мне заплатят за нее как за месячную разработку - то буду педалить на arduino/esp :D
Hizhnyak
Имелось ввиду эфективное в плане затрат нервов и времени Ну... тут все, мб такие
Max
да. но опять же, it depends. например, если в МК мало памяти, куча уже готового кода без ОС - нахрена туда пихать freertos?
Hizhnyak
Но, я так понимаю, что на выполнения отдельных задач, тоже необходим свой стек и обьем памяти?
Max
ага
Hizhnyak
+ память затрачиваемая на саму ос
Max
ага
Hizhnyak
=> уже не так апетитно использовать, когда имеешь, допустим 128 кб флеша
Max
ага опять таки - какая OS? какой там конфиг? это как спрашивать "блондинку или брюнетку?"
Hizhnyak
А в плане командной разработке? Тогда ведь можно поручить ращработку задач группе людей а потом вставить все решения в исполниюения в течении одного системного тика?
Max
в плане командной разработки - уже давно есть git. и ежедневные 5-минутки, планирование и куча методик, от ватерфолла до скрама, которые решают проблемы коллаборации вообще рекомендую выбирать тот или иной инструмент (в контексте нашего разговора - ОС или без ОС) исходя из бюджета и времени. вне денег и времени любой инструмент теряет смысл, потому что можно делать что хочешь, хоть грабли на интерраптах, хоть комбайн на freertos, и все равно не будет никакой оценки результата. одно субъективное мнение.