- Процитирую сам себя: "Разработка ПО большого объёма на языках с
динамической типизацией, как правило затруднена, но в целом
скорость разработки на таких языках может быть сильно выше..."
Помимо прочего, скриптовые языки обычно выполняют роль "клея",
склевивающего разные компоненты (отдельные программы,
библиотеки...) Ко многим скриптовым языкам есть "биндинги" ко
многим C/C++ библиотекам. Кроме того, почти все скриптовые языки
позволяют REPL, что может ускорить разработку fk0(379 знаков, 30.10.2020 02:00, ссылка, картинка)
- Спасибо еще раз. Не полезу - стар-с :(( - MBedder(30.10.2020 02:04)
- К слову, так получилось что на неделе впервые за полугода сел
писать на Си. Не на Питоне. Какой же он нудный, ваш компилятор -
почти ассемблер :) Все ему разжуй, по шагам. Cкpипaч(252 знаков, 30.10.2020 10:22)
- Нас эта ситуация полностью устраивает. Чтобы не набежали пионэры с
адуринами. - SciFi(30.10.2020 10:29)
- пока вы тут жуете это древнее гавно один раз, пионеры с ардуинами
уже сожрут всех клиентов и свалят на багамы LordN(92 знаков, 30.10.2020 10:35)
- Странно. Чаго тогда за 2 недели два автора воделий на аурдино
пришли с просьбой выкинуть нах аурдину и сделать по человечески? symbions(2 знаков, 30.10.2020 14:11)
- Я уже давно продвигаю решение в виде условно кроссплатформенного
фреймворка и коллекции дополнительных инструментов, например
конфигураторов PLL под какую-либо платформу. Это позволит размазать
временные и финансовые затраты на написание драйверов на все
сообщество. evgeniy1294(611 знаков, 30.10.2020 13:12)
- А где этот концепт изложен? - Dingo(31.10.2020 14:12)
- Удачи, дело нужное. symbions(1 знаков, 30.10.2020 14:16, картинка)
- Из той же оперы, "деревянный менеджмент". Купили для поставки
заказчику мегаомметр у "Радиосервиса", прибор отличный, в
госреестре, с поверкой, но есть один минус - софт под него работает
только под виндой, а заказчик сидит на Астре. evgeniy1294(417 знаков, 30.10.2020 13:31)
- Один раз мне дали полную свободу по решению одной задачи Дoктyp77(447 знаков, 30.10.2020 13:30)
- Один далеко не уедешь. Увы, но метод "британского музея" в больших
масштабах -- очень даже имеет смысл. В организации имеет смысл
внедрять "внутрифирменный opensource"... - fk0(30.10.2020 13:19)
- Классика жанра же: когда делаешь макрос, его всегда, кроме случаев
когда невозможно, нужно делать выражением (а не оператором --
потому, что сам макрос могут вставить в контекст выражения, а не
оператора), и обязательно брать в скобки тело макроса! И аргументы
макроса тоже нужно брать в скобки, потому, что в общем случае
неизвестно с каким аргументами вызывали макрос, может там
MACRO(a+b, a*b), и неизвестно как оно состыкуется с операторами в
макросе. fk0(2672 знаков, 11.09.2020 03:09, ссылка, ссылка)
- Тебе не нужен STM32 + "Си". Тебе нужен Си отдельно и STM32, если
вообще нужен, отдельно. Кусочно-выборочно процитирую сам себя: дело
не только в C. Нужен некий кругозор на тему "как работает
компьютер". Лучше читать Роба Пайка "Практику программирования" --
она не даёт примеры в отрыве от компьютера, а в тесной связке с ОС,
ближе к практике. И принципиально полезно было бы поставить linux,
научиться в нём хоть как-то работать из командной строки и
выполнить примеры из книги fk0(4553 знаков, 10.09.2020 00:46, ссылка, ссылка)
- Есть мысль перейти на RTOS для снижения временных затрат на
реализацию программной части, отладку и профилировку. Важна
поддержка со стороны хоста (PC,IDE) чтобы видеть времянки, логи,
состояние. Какие используете RTOS? Есть ли опыт применения ThreadX?
Какие RTOS можно выделить в качестве ключевых? RxTx(118 знаков, MCU, полностью, 18.06.2020 10:35 - 11:07)
- ChibiOS посмотрите. Мелкая и удобная. antm(202 знаков, 18.06.2020 20:39, ссылка)
- я FreeRTOS использую, ключевое приемущество - чето не нравится -
взял и переписал или доделал. на заре пользовал ThreadX. когда
памяти больше чем нужно и процессор быстрее чем быстро - то
экономия в разработке есть - велосипед писать не нужно. - klen(18.06.2020 19:32)
- Используем ThreadX в составе платформы Renesas Synergy, для отладки
есть TraceX, dxWAk(240 знаков, 18.06.2020 13:55, картинка)
- Да, интересно, а насколько легковесны такие вызовы (в тактах,
например): fk0(294 знаков, 18.06.2020 15:47)
- Допустим, я хочу сделать в threadX логгер. Он будет писать в
кольцевой буфер в памяти, из которого медленно и печально будет
выпечатываться в компорт. Задача достаточно классическая.
Логгировать одновременно могут все потоки. Как сделать кольцевой
буфер -- понятно. В принципе он может быть реализован на
lockless-алгоритмах, но.... Но поскольку компорт медленный, то
буфер может быть в переполненном состоянии (регулярно), то потоки
пытающиеся писать в лог должны ожидать fk0(1061 знаков, 18.06.2020 14:15)
- Я бы использовал очередь, в потоке, который логирует ошибку dxWAk(447 знаков, 18.06.2020 15:05, картинка)
- Собственно и вопрос-то в том как сделать самодельную очередь.
Потому, например, что готовая очередь может по каким-то причинам не
подходить. Например, работает только с сообщениями фиксированного
размера. Да, можно пересылать указатели на сообщения, но тогда на
каждое нужно выделять память. Кроме того, если очередь реализована,
условно, через системный вызов -- то работа с такой очередью
становится очень тяжёлой, по сравнению с другими примитивами
синхронизации, которые по fk0(213 знаков, 18.06.2020 15:13)
- я не знаю за threadX но на тнео, фриртос итд так. abivan(788 знаков, 18.06.2020 15:02)
- Бинарный семафор. Самый приоритетный из ожидающих проснется,
заберет семафор, проверит место. Если места достаточно - отправит
данные. Если недостаточно - снова встанет на этом же самом
семафоре. - LightElf(18.06.2020 15:01)
- "времянки, логи, состояние" можно смотреть через J-Scope - BlackMorda(18.06.2020 12:58)
- Ага. А с чего будет снижение затрат-то? На борьбу с ОСью не будет
не потрачено ничего, особенно на синхронизацию? В одном большом
проекте половина багов -- синхронизация (дедлоки, data race и т.п.)
А у тебя Valgrind (DRD, Hellgrind) не будет. Ты ж про
"синтетический порт" на ПК и слышать небось не хочешь. Мол одной
левой и так отладим. Основной функцией ОС является распрделение
ресурсов вычислительной системы. И она нужна, если ты это руками
сделать не можешь. И в fk0(2533 знаков, 18.06.2020 11:00)
- С многопоточностью и синхронизацией у меня ок из-за того что до
этого на PC я делал несколько многопоточных и многопроцессных втч
network проектов, как либ, так и серваков или там GUI приблуд. Так
что этого я не боюсь. Про RTOS я подумываю не потому что мне нужна
вытесняющая многозадачность. Как раз нет, RxTx(1898 знаков, 19.06.2020 00:17, ссылка, ссылка)
- Можно использовать ADA с рантаймом Ranvenscar - там есть задачи - OlegPowerC(18.06.2020 14:28)
- Если ресурсов немеряно, задача распределения ресурсов решается
проще. Приходишь на склад - а там столько, что не унести. А
достоинства RTOS никуда не делись - пишешь потоки и ффсе. Нужно
просто подобрать удобные потоки под RTOS, а все, требующее сложной
синхронизации сделать ручками. - VLLV(18.06.2020 13:16)
- Полагаю, что готовые библиотеки работы с Ethernet и выше
(WEB-сервер, SSL, что там еще понадобиться может) они требуют ОС.
Их использование, вместо изобретения велосипеда, это снижение
затрат. В остальном согласен, скорее всего ОС там не поможет. - AlexBi(18.06.2020 12:39)
- +1 - evgeniy1294(18.06.2020 11:07)
- Пользуйся: fk0(245 знаков, 11.06.2020 16:21 - 16:40)
- Надо понимать, что класс -- это не структура. Применительно к C++
мне больше нравится слово тип. Тип -- это сущность существующая
преимущественно в момент компиляции и обладающая некоторыми
свойствами, в машинном коде она превращается в функции и структуры
в конечном счёте, а то и вовсе ни во что не превращается, если все
вычисления проделаны при компиляции. Тип на самом деле это очень
легковесная конструкция. Это лишь абстракция служащая для
определения отношений между fk0(1609 знаков, 26.04.2020 11:13)
- Процитирую самого себя: "Зачем вообще использовать "экспоненциальное скользящее среднее", кроме как от бедности (не хватает ресурсов CPU)? Я картинку уже давал, повторяю. Если с простым, нормальным, обычным, скользящим средним в графике есть нули, fk0(406 знаков, 01.11.2019 12:14, ссылка, картинка)
- Выскажу ещё раз: FreeRTOS сырая недоделка, смысла особого, без реализации ряда перечисленного (см. ниже) не имеет и, хуже того, наоборот вносит существенные ограничения для программиста. Если бы стояла задача выбрать ОС для МК, то я бы скорей fk0(12815 знаков, 18.10.2019 02:15, ссылка)
- Топик посвящён программированию микроконтроллеров в условиях необходимости экономии электроэнергии и архитектуре ПО в целом. fk0(5489 знаков, 24.10.2011 02:41)