-
- Да, C++ было бы неплохо, но острой необходимости в нём нет. У нас 90% задач сводится к управлению портам, отправки/приёму данных через UART, ну и сетевые протоколы (UDP, TCP, HTTP, SNMP, DHCP и пр.). Под всё это есть собственные отлаженные FDA(256 знак., 27.02.2020 12:14)
- только зачем то C++, когда надо опросить порт, дрыгнуть ножкой и в ком порт чего-то кинуть. При этом на 8-ми битнике это сводится к чтению нескольких страниц и получению результата, а в 32-х битнике тонны документации, рассматриванию библиотек, User_(232 знак., 27.02.2020 10:54)
- Я C++ в большом программировании то не люблю, там пишу на C/Go/ADA изучаю раст. А в микроконтроллер его тащить такое... луче уж ADA SPARK. Под кресты нет толком формальной верификации - OlegPowerC(27.02.2020 02:32)
- Под ADA - для русского заказчика или таки для Пентагона? - Крок(27.02.2020 10:29)
- Язык Ада распространяется по баллистическим траекториям. - fk0(27.02.2020 23:18)
- Говорят, у нас Oberon имеет такую же тенденцию. - Evgeny_CD(28.02.2020 00:00)
- ADA уже умеет многое, но ее по прежнему игнорируют. Под STM32 много проектов. Так же есть поддержка RISC-V - OlegPowerC(27.02.2020 11:33)
- Уточняю вопрос: это личный выбор языка в силу удобства (пристрастия) или требование заказчика? - Крок(27.02.2020 12:02)
- Личный конечно. И с ним пока тяжело - но все впереди, у Ады как раз в Embeded есть потенциал - OlegPowerC(27.02.2020 12:04)
- Уточняю вопрос: это личный выбор языка в силу удобства (пристрастия) или требование заказчика? - Крок(27.02.2020 12:02)
- Язык Ада распространяется по баллистическим траекториям. - fk0(27.02.2020 23:18)
- A под Go, Ada, C есть что ли, верификация эта? "Мамой клянус"? C++ позволяет хотя бы не вошкаться руками с адресами, битами и байтами и наделать меньше ошибок, в основном логических. А в голом C всё отлаживать нужно, каждую мелочь (которая либо fk0(105 знак., 27.02.2020 10:11)
- Frama-C , gnatprove . Конечно есть. В C++ тоже есть уже контракты но это пока ещё совсем начало длинного пути, а пока Rust уже в Embeded.... - OlegPowerC(27.02.2020 11:30)
- т.е. меня даже поправят, если у меня указатель в массиве вылезет за его размер? - Лагунов(27.02.2020 10:29)
- На SPARK можно сделать pre post условия и прога не скомпилится если такое будет возможно. Ну на C тоже если использовать Frama-C например. - OlegPowerC(27.02.2020 11:35)
- Бензоколонка человеческим голосом сообщит. То есть в голом Си она тупо зависнет, а тут что-то пробормочет, а потом зависнет :-) - SciFi(27.02.2020 10:35)
- Это к слову об использовании WDT, тут не раз холивар поднимался разными людьми... POV_(215 знак., 27.02.2020 23:35, )
- Во-первых не обязательно прошивка кривая. Вследствии воздействия на МК внешних факторов, например, произошёл сбой в работе CPU и зацикливание его на некотором участке кода. Прибор не выполняет своих функций. Хорошо, если это настольный прибор fk0(1055 знак., 28.02.2020 00:34)
- и да, и такое было. Льет и выключается только рубильником (но очень редко). И девочки там все обученные. Рубильником щелкают мгновенно! :-) - Лагунов(28.02.2020 09:23)
- Это "за всё хорошее против всего плохого". Я просто не сталкивался с таким? и потому не понимаю о чем речь, не приходилось решать проблемы которых не знаю. - POV_(28.02.2020 00:37, )
- Во-первых не обязательно прошивка кривая. Вследствии воздействия на МК внешних факторов, например, произошёл сбой в работе CPU и зацикливание его на некотором участке кода. Прибор не выполняет своих функций. Хорошо, если это настольный прибор fk0(1055 знак., 28.02.2020 00:34)
- ну говорушечный модуль у меня есть. Если вставлю в HardFault_Handler фразу, то да. :-) - Лагунов(27.02.2020 16:30)
- Это к слову об использовании WDT, тут не раз холивар поднимался разными людьми... POV_(215 знак., 27.02.2020 23:35, )
- Под ADA - для русского заказчика или таки для Пентагона? - Крок(27.02.2020 10:29)
- А может полноценность определяется эффективностью решения задач за которые бабло платится? Ты еще билгейтса поучи как проги писать. - POV_(27.02.2020 00:40, )
- Эффективность решения в чём измерять? Вот бюджет в человекочасах потраченный на разработку и отладку измеряется просто и ассемблеры и 8-битные контроллеры там не выигрывают. - fk0(27.02.2020 01:46)
- АСМ - не торт, но 8 бит-то тут при чем? Если нет необходимости паралельно (прерывания-гиперлуп) менять многобайтные переменные, то нет проблем... POV_(645 знак., 27.02.2020 22:23, )
- Если измерять в человекочасах, то с заметным отрывом победит тот язык (среда), в котором есть больше готовых библиотек, подходящих для решения поставленной задачи. AlexBi(571 знак., 27.02.2020 11:26)
- Близко к истине, но есть ньюансы способные развернуть всё на 180 градусов. Так обычно можно сделать прототип, демку, но когда доходит до продуктового уровня, то начинаются ньюансы. И в память впихнуть нужно, и тактов не хватает, и какие-то баги в fk0(144 знак., 28.02.2020 00:11)
- А потом (как всегда внезапно) потребуется реализовать непредусмотренное в готовой библиотеке поведение или вылезет редко проявляющаяся бага - и разбирательство в чужих потрохах займет 5X от съэкономленного времени. - LightElf(27.02.2020 12:35)
- Чем более популярна библиотека, тем больше шансов, что бага уже выловлена. Хотя, какой-то риск имеется. Но, с другой стороны, собственная библиотека\код тоже может преподнести сюрпризы. Кругом есть риски. И современные процессоры могут удивить AlexBi(35 знак., 27.02.2020 16:26)
- Готовые популярные библиотеки имеют тенденцию становиться "библиотеками всего и сразу". При этом там запасливо раскладываются многослойные мегауниверсальные абстракции, жутко ведущие себя при любом нетривиальном применении и при этом LightElf(72 знак., 28.02.2020 11:34)
- "Библиотеки всего и сразу" вполне предсказуемо ведут себя в абсолютном большинстве обычных применений, иначе они не стали бы популярными. Обычно именно обычное применение и требуется. - AlexBi(28.02.2020 16:15)
- Железок и софтов для "обычного применения" - как говна за баней, смысл этим заниматься? Бапки несут именно за необычные применения. - LightElf(28.02.2020 16:36)
- Люто плюсую. Истину глаголите, коллега. - my504(28.02.2020 20:33)
- Железок и софтов для "обычного применения" - как говна за баней, смысл этим заниматься? Бапки несут именно за необычные применения. - LightElf(28.02.2020 16:36)
- "Библиотеки всего и сразу" вполне предсказуемо ведут себя в абсолютном большинстве обычных применений, иначе они не стали бы популярными. Обычно именно обычное применение и требуется. - AlexBi(28.02.2020 16:15)
- Готовые популярные библиотеки имеют тенденцию становиться "библиотеками всего и сразу". При этом там запасливо раскладываются многослойные мегауниверсальные абстракции, жутко ведущие себя при любом нетривиальном применении и при этом LightElf(72 знак., 28.02.2020 11:34)
- Чем более популярна библиотека, тем больше шансов, что бага уже выловлена. Хотя, какой-то риск имеется. Но, с другой стороны, собственная библиотека\код тоже может преподнести сюрпризы. Кругом есть риски. И современные процессоры могут удивить AlexBi(35 знак., 27.02.2020 16:26)
- Эффективность решения в чём измерять? Вот бюджет в человекочасах потраченный на разработку и отладку измеряется просто и ассемблеры и 8-битные контроллеры там не выигрывают. - fk0(27.02.2020 01:46)