- [Мелкие встраиваемые скриптовые и компилируемые языки.] Сводный топик. Лучше пройтись поиском - почти все языки не раз у
нас обсуждались - Evgeny_CD(29.09.2017 14:02 - 26.02.2024 18:32, dao, полностью)
- Интерпретатор WEB PICµBASIC для PIC контроллеров. Driver_gv(210 знак., 11.09.2025 19:06, ссылка, ссылка)
- Раз пошла такая пьянка. Регулярно пополняемый список bodis(1 знак., 10.09.2025 16:25, ссылка)
- Toit - загрузка и обновление программ отлайн, без перезагрузки МК bodis(1 знак., 10.09.2025 15:06, ссылка)
- berry - ультралегкий скриптовый интерпретируемый язык. Входит в
прошивки Tasmota32 bodis(1 знак., 10.09.2025 15:05, ссылка)
- ucode - небольшой скриптовый язык общего назначения с синтаксисом,
очень похожим на ECMAScript. Входит в сборки OpenWrt 22.03 и выше bodis(1 знак., 10.09.2025 12:08 - 15:04, ссылка)
- libfawk. Совершенно случайно наткнулся. Интересная штука. SciFi(1 знак., 10.09.2025 14:16, ссылка)
- Microvium. Читаю про это, занятная штука, местами оч. интересно.
Было бы интересно применить в деле... SciFi(1 знак., 05.09.2025 16:31, ссылка)
- Технология eBPF. Байткод (довольно толстый, 8 байт на инструкцию),
компилятор LLVM/Clang, подтягивается GCC. Интерпретатор и JIT.
Верификатор, способный гарантировать, что код не повиснет и не
полезет в чужую память. Множество наработанных тулзов, так как
технология активно развивается в контексте ядра Linux и не только. - SciFi(12.08.2025 11:10)
- CircuitPython. CircuitPython is based on MicroPython. Most, but not
all, CircuitPython development is sponsored by Adafruit and is
available on their educational development boards. Nikolay_Po(2 знак., 26.05.2024 02:45, ссылка, ссылка)
- [MiniC] Evgeny_CD(1 знак., 26.02.2024 18:32, ссылка)
- [Q3VM] A lightweight (single file: vm.c) embeddable
interpreter/Virtual Machine (VM) for compiled bytecode files (.qvm)
based on good old C-language input (.c). A complete C compiler to
generate .qvm files is included (LCC). The interpreter is based on
the Quake III Arena virtual machine (hence the name q3vm) but the
interpreter is not tied to Quake III Arena and can be used for any
kind of project. Благодарности SciFi за наводку Evgeny_CD(35 знак., 22.02.2024 22:05, ссылка, ссылка)
- [EmbedVM] is a small embeddable virtual machine for microcontrollers with a
C-like language frontend Evgeny_CD(36 знак., 18.02.2023 03:34, ссылка, ссылка)
- micropython был? RED_DRAGON(35 знак., 23.09.2022 22:37, ссылка)
- Сравнение эффективности, в т.ч. скриптовых языков. 2017 г. Toчкa oпopы(1 знак., 22.09.2022 21:12, ссылка)
- [Squirrel] Evgeny_CD(1 знак., 02.07.2022 23:14, ссылка)
- Наверное не совсем мелкий, но для большого контроллера может
подойти, старый, лет 20 уже: S-Lang. Встраивался, как я помню, в
Slrn, или mutt, вроде... Требует какого-то подобия операционной
системы и полноценной C-библиотеки. - fk0(04.11.2020 12:22, ссылка)
- Раз сводный топик, то ещё раз Squirrel, который вполне может
конкурировать с Lua. - fk0(04.11.2020 12:17, ссылка, ссылка)
- Самсунговский JerryScript: легковесная реализация JavaScript для
IoT. Он правда не совсем мелкий, но зато относительно вполне
серьёзный ЯВУ. В большие микроконтроллеры вполне влезет. fk0(205 знак., 04.11.2020 12:15, ссылка, ссылка)
- В поисках идей для GUI наткнулся на ZOE. Он сделан на языке REBOL.
Не пойму - он встраиваемый, скриптовый? - bodis(04.11.2020 10:04, ссылка, ссылка)
- mJS - уже писали, но не упомянут Dingo(5 знак., 03.11.2020 07:59, ссылка)
- -> Evgeny_CD(1 знак., 18.02.2023 03:57, ссылка)
- Lua - странно, что до сих пор не упомянут. можно перенести. Dingo(5 знак., 03.11.2020 05:52, ссылка)
- Угу, обсуждались, ещё вон PicoC был → - Николай Коровин(24.12.2017 00:59, ссылка)
- Это не языки, а один язык - Tcl. А вот по-настоящему мелкий - это Pawn. SciFi(375 знак., 29.09.2017 17:54, ссылка)
- Можно и это по tcl сюда? - Dingo(29.09.2017 17:49, ссылка)
- small version of Tcl -> подборка - Evgeny_CD(29.09.2017 14:16, ссылка)
- LIL - Little Interpreted Language. Сильно упрощенный Tcl. -> - Evgeny_CD(29.09.2017 14:08, ссылка)
- Picol упрощенный недоTcl -> home --> - Evgeny_CD(29.09.2017 14:04, ссылка, ссылка)
- Jim - компактный, но быстрый и фичастый интерпретатор TCL -> - Evgeny_CD(29.09.2017 14:03, ссылка)
- Долбалбаный линукс! UDP сокет. Хочу читать по байту: recv(fd,
&buf, 1, 0); Сука, читает только первый байт из пакета,
остальные исчезают. ЧЯДНТ?! Причем ioctl(fd, FIONREAD, &bytes);
показывает что весь пакет пришел. - IBAH(10.09.2025 16:42, dao, полностью)
- Долбаный линукс!!! Как настроить терминал, чтобы printf() отображал
сразу, а не после /r/n ? Час глюк искал, пока не сообразил, что это
не баг, а фича. - IBAH(10.09.2025 14:09, dao, полностью)
- (не факт, что сюда). Простейший Lenovo G500 на Pentium 2020m c 8+8
и SSD. В одном помещении, у меня, всегда включается. В другом, у
дебочки, не включается после выходных. Реакции на кнопку Power НЕТ,
пока не привезут ко мне. пробовали с двумя разными зарядниками +
АКБ с износом 40%. Не влияет. - De_user(08.09.2025 21:00, dao, полностью)
- шнур питания - Ralex(10.09.2025 12:15)
- Пока основная версия - пыль (комочек) около "спички" 32768 Гц. При
повышенной влажности запросто может прекратить генерацию, и тогда
запуска не будет. Дважды вымыл мат. плату изопропиловым спиртом
99,8%, пере-подключил все шлейфы, посмотрим. - De_user(10.09.2025 00:57)
- Девочка? Заземлить надо. Как ноут (если это ноут) заземлять тот ещё
вопрос. Но надо - symbions(09.09.2025 21:32)
- странное скажу, - но похожие симптомы у меня были на каком-то
старом ноуте "асер эспайр" при севшей батарейке! заменил батарейку
БИОСа и всё стало включаться :) Кстати, и на стационарнике с
топовой когда-то материнкой под FX8350 - та же байда была. Не
включался, особенно после простоя на выходных. Заменил батарейку и
всё починилось :) - Adept(09.09.2025 01:33)
- чтобы отсечь мистику, я бы вывесил на проводах внешнюю кнопку
параллельно штатной и попросить девочку пробовать включать с
навески. полечится, тогда смотреть исправность штатной кнопки. не
полечится, тогда искать схематику и анализировать цепи включения
питания.. - jury093(09.09.2025 01:30,
)
- Карма у нее хреновая, видать ☺ - Eddy_Em(08.09.2025 23:59)
- Был случай - сидел я в тамошнем ДОПР'е... У сестры крестника не
включался нотбук Lenovo. И так и сяк я его пытал, но он оказался
твёрд и не выдал тайну. В итоге - девчонке купили новый, а этот -
отдали куме. Всё работает, все довольны. - Toчкa oпopы(08.09.2025 23:46)
- Я тут немного прих%*ел от мистических корреляций в программном
обеспечении на ПК il-2(1151 знак., 08.09.2025 12:25, dao, полностью)
- свежак kgp для мелко-ricsv'ов. хост x86_64-linux-gnu_haswell-avx2.
по просьбе мосье Nikolay_Po туда где нужно втащен fence.i. привентивно добавлена поддержка
QuingKe V3F/V5F и соответсивенно ch32v415/416/417 klen(2816 знак., 11.07.2025 20:24, dao, ссылка, полностью)
- нереальный конечно человек по производительности )) - Ralex(05.09.2025 16:46)
- Товарищ Клён! Имею на руках CH32V006, это ядро QingKe2C. А сборка
поддерживает только CH32V003 с его QingKe2A. Разница в расширениях
RV32EC у 003 и RV32EmC у 006. m: hardware multiplication, i.e.,
Zmmul extension. Nikolay_Po(376 знак., 04.09.2025 21:49)
- Можешь озвучить свои мысли про picolibc? MRS Toolchain имеет её, и
рекомендует использовать. Работал? Её позиционируют как будущую
замену newlib-nano. VVB(125 знак., 30.07.2025 21:45, ссылка)
- Чудо
свершилось ложная тревога! В этой сборке стал так и не стал запускаться GDB. В предыдущей он не работал из-за
какой-то проблемы с плавающей точкой. Теперь запускается по-прежнему не запускается отладка, хотя сам GDB в системе
запускается: Nikolay_Po(2221 знак., 12.07.2025 00:02, ссылка)
- Diptrace 5.. регулярно начал мандить - 3дэ модель не в размер
читает (единицы измерения путает?). Даже при попыте поправить
модель уже готового паттерна это может начаться. Вредительство
небратьев или косяк? - POV(08.07.2025 23:12, dao, полностью)
- Корел-дроу, прости господи. 18 номер. Решил подкорректировать файл
двухлетней давности. А она отвечает " этот файл версия 23. На этой
программе не смогу.". При этом в свойствах файла указано, что он
18. В связи с чем возникает два бестактных вопроса. 1) Может быть
такой глюк в родной программе? 2) Есть в природе CD 23 версии?
Желательно портабля. - Kpoк(03.09.2025 10:29, dao, полностью)
- Правильно ли я понимаю, что опция -lto в компиляторе-линкере может
применяться только для программ, которые будут расположены "одним
куском"? Если у меня есть фрагменты, которые я силами линкера
размещу по отдельным адресам, или перенесу в ОЗУ, тогда -lto
запутается и получится не рабочий результат? В Keil (clang) для ARM
у меня так получается. - AlexBi(28.08.2025 16:21, dao, полностью)
- По электронным нагрузкам подскажите, какие, например, годятся для
снятия переходной характеристики? - Visitor(25.08.2025 16:53, dao, полностью)
- Кто использовал SDM3065X ( 6 ½ digit DMM - digital multimeter) ?
Интересует соединение прибора с компьютером. У меня получилось
частично. Закуплен прибор под маркой АКИП 2101, который выпущен
китайцами и укастрирован до 5 ½ разрядов. Но софт на диске приложен
от Siglent . =L.A.=(3 знак., 24.08.2025 11:37, dao, ссылка, ссылка, полностью)
- USB-COM в Windows. Десятки/сотни устройств с разными серийными
номерами подключаются к разным виртуальным COM-портам. Как сделать,
чтобы все устройства подключались к одному и тому же COM-порту?
Сделать одинаковый серийный адрес не предлагать, так как иногда два
таких устройства могут быть подключены одновременно. В этом случае,
конечно, должны быть разные COM-порты. - Ale3000(21.08.2025 10:12, dao, полностью)
- Есть еще такой вариант, как предлагает FTDI (но я его не
пробовал)... UniSoft(1 знак., 22.08.2025 23:45, ссылка)
- Предлагаю забыть маздай как страшный сон и перейти на линукс.
Скажем, у меня 100500 устройств с абсолютно одинаковыми VID/PID при
помощи udev имеют вменяемые наименования в директории /dev. Eddy_Em(590 знак., 22.08.2025 23:21)
- Как вариант, просто отключить использование серийного номера... Но
это, если свои устройства. UniSoft(203 знак., 22.08.2025 23:17)
- Тоже раздражает.. Чип фтди.. Много устройств проходит через руки и
каждый Инкрементирует vcom.. - Balda(21.08.2025 12:34)
- Это нужно чтобы проще было выбирать COM-порт в программе? Cофт, с
которым работают это USB-COM, свой самописанный или чужой
проприетарный? Сколько этих USB-COM используется одновременно? - reZident(21.08.2025 12:26)
- Посмотрите COM-Port Manager for Windows Bhg2(38 знак., 21.08.2025 12:25, ссылка)
- Как это сделать в Windows я не знаю, в Linux это (и многое другое)
можно сделать в скриптах udev. Вариант поставить "малинку" и из нее
отшлюзоваться через Ethernet на Windows-хост не рассматриваете? - Cкpипaч(21.08.2025 10:34)
- Как вариант: сделать промежуточный брокер. Траффик USB
преобразуется в пакеты Ethernet с маркировкой из серийного номера
устройства. Далее можно даже виртуальный COM не использовать, а
расшифровывать пакеты Ethernet. bodis(55 знак., 21.08.2025 10:26)
- ждем карманный вариант от китайцев? LordN(81 знак., 22.08.2025 07:34, dao, ссылка, полностью)
- к вопросу о приличном стационарном мультиметре (давно уже успешно
пользуюсь 6,5 разрядным В7-78/1 (хоть можно найти чуть лучше его
прототип в виде агилентов, кейтли, и прочих, на вторичном рынке,
при цене от 30т, но вот реально иногда не стало хватать точности в
некоторых на некоторых задачах (не, выкрутиться всегда можно, но
вот увидел на авито 7,5 разрядный кейтли DMM7510). Не, за 800-тыр,
что торгуют его а ПРИСТе и пр, - нафиг не надь, а за 150т.р. с
Авито - очень Adept(2962 знак., 21.07.2025 20:10, dao, ссылка, ссылка, полностью)
- У вас когда в Menu -> Calibration заходишь, что пишет в
пунктах Adjust Date и Calibration Date ? - VoltNuts(30.07.2025 16:22,
)
- 1. Это у СПЕЦСЕРВИС54 была акционная цена 123т и 133 неделю? 2.
"Почему на высоких входных сопротивлениях мультиметрах и
нановольтовой точности, используются обычные щупы". VoltNuts(475 знак., 28.07.2025 11:56,
)
- да, там цена один день было 123т, но, видимо "под покупателя" и за
"нал", т.к. мне буквально сказали "кто хотел, - тот купил". И
седьмой разряд там, вполне себе рабочий, на токе уж точно, а на
напряжении немного шумноват, но рабочий. Думаю на экранированных
щупах будет совсем хорошо. ТермоЭДС контактов кстати появляется в
полный рост, так что вопрос хороших щупов не такой однозначный - Adept(28.07.2025 16:59)
- Не точность, а дискретность. Разница существенная. - Codavr(27.07.2025 19:33)
- там и точность неплохая, а часто и разрешающей способности
достаточно, т.к. нужно оценивать изменение относительно предыдущего
значения - Adept(28.07.2025 16:54)
- +1. Попутно возникает вопрос: а кто эту хрень поверить сможет? - enc(28.07.2025 08:26)
- Парижская палата мер и весов :-) - Kpoк(28.07.2025 08:53)
- Даже для них это задача не тривиальная. Приличный нормальный
элемент имеет класс 0.001 (это в процентах). А это всего 5
десятичных разрядов. ЫЫyкпy(223 знак., 28.07.2025 09:26)
- Поверка, это ваще педесц... Сделали калибратор фазы. Оказалось, в
РФ его поверять нечем. Потом нашлась контора, которая, с трудом, но
асилила. Потом, они-жэ(если память не изменяет), купили себе
калибратор и оформили его в стойке, как эталон фазы. Щас нам, на
нём, за конские деньги, делают поверку фазометров. ;О) А нам,
наученным опытом, приходится занижать характеристики, чтобы
обеспечить метрологию. - mse homjak(28.07.2025 11:02)
- А тем временем тихо охреневаю с характеристик 7510, если по
измерению напряжений, ожидаемо на порядок+ точнее 6,5-разрядных, то
по токам точнее в 10000 раз (десять тысяч, Карл!!), охренеть!!
После двухчасового прогрева, - шумы при измерении постоянного тока,
порядка единиц пикоампер!! Adept(1 знак., 23.07.2025 21:01, ссылка)
- Интересно, что за задачи такие? У меня одно время стоял DMM6510 и
его 6.5 были сильно избыточны и реально ни разу не потребовались. - Andreas(21.07.2025 20:34)
- FreeRTOS. Вывод отладочной информации в UART. Что-то я не
справляюсь. Сделал функцию быстрого вывода блока символов в буфер с
последующей передачей при помощи DMA. Отладил, работает отлично.
Потокобезопасно - быстро и блокирует прерывания в критической
секции. Nikolay_Po(659 знак., 11.08.2025 21:34, dao, полностью)
- Решено тут: Nikolay_Po(1 знак., 20.08.2025 15:16, ссылка)
- Немного продвинулся. Подробности на форуме FreeRTOS. Nikolay_Po(1084 знак., 18.08.2025 19:46, ссылка)
- FreeRTOS имеет специальную функцию idle BlackMorda(1 знак., 13.08.2025 20:34, ссылка)
- Зачем печатать из задач? Класть в задаче в оперативку нужное.
Завести задачу с самым низким приоритетом и печатать из неё? - jlm(13.08.2025 20:03)
- Я ниже так и предложил, сделать по аналогии с ОС Windows, у которой
1 принтер и куча приложений/задач, желающих на нём попечатать. - vpv.vpv(14.08.2025 07:16)
- Так и есть в данном случае, один принтер на всю систему, называется
printf() и, что может быть логичней, чем брать и печатать на него
из любого места. - petrd(14.08.2025 07:49)
- откройте из двух терминалов один порт - Vit(14.08.2025 08:49)
- Такое нельзя сделать. Но это не аналогия для данной ситуации. - petrd(14.08.2025 09:13)
- А я думаю - аналогия! Я бы сделал одну задачу-драйвер, для UART,
как для принтера. В нашем случае, последовательного. Внутри этой
задачи прерывания, DMA, монопольный (!) доступ к телу (железу) и
пр.. А все остальне задачи обращаются не к UART'у, а к
обслуживающей его задаче, вернего уровня приложений: "Не будет ли
так любезен Джинн вот это вот передать?". И ждать, когда
UART'овский Джин твой флажок сбросит, т.е. запрос будет обработан. - vpv.vpv(15.08.2025 10:54)
- Следите! Уже сделано так. Все имеют доступ к printf(), внутри него,
когда сообщение готово, вызывается _write() в котором сообщение
отправляется в завернутый в критическую обертку StreamBufferSend().
В задаче из завернутого в критическую обертку StreamBufferRecieve()
это сообщение копируется, его длина и адрес передается в DMA, пуск
DMA, начинается транзакция в UART, задача ставится на ожидание,
пока от прерывания DMA не придет уведомление о завершении
транзакции. C приходом petrd(503 знак., 15.08.2025 11:47)
- Начало новой транзакции никак не мешает завершению передачи
предыдущего символа. Вы же, по опустошению буфера DMA, UART не
выключаете? Nikolay_Po(213 знак., 15.08.2025 12:59)
- Нет, конечно, ничего не выключаю. Похоже на воду дую ....
размышляю, пришло уведомление о завершении транзакции ДМА, а UART
еще передает, задача успела вытащить следующее сообщение, засунула
адрес и длину в ДМА, стартует, а от UART запроса к ДМА еще не
поступало, ну и, значит, стоп, ДМА ждет когда придет запрос от
него. - petrd(15.08.2025 13:21)
- Изобретаем journald вместе. Люблю такое :) - Cкpипaч(15.08.2025 10:55)
- не нужно передёргивать с ситуациями. компорт компа это USART с
дополнительными сигналами. здесь же аж голый USART. можете
семафорить, можете ещё как лочить, но обеспечьте отсутствие одновременного доступа Vit(1 знак., 14.08.2025 09:57, ссылка)
- Завёл тему на форуме FreeRTOS Nikolay_Po(1 знак., 13.08.2025 19:37, ссылка)
- Дошёл до того, что сделал пример, демонстрирующий проблему.
Демонстрирует. Nikolay_Po(3623 знак., 15.08.2025 13:42, ссылка)
- Перечитайте еще раз документацию на xStreamBufferReceive() где
сразу же сверху написано NOTE: Судя по вашему коду выполянется
vTaskSuspendAll(), но это ничего не дает и не является
сериализацией доступа ("последовательнизацией" для записывающих
потоков). Судя по всему, xStreamBuffer не потокобезопасный и у вас
просто "ломается", приходит во внутреннее неконсистентное
состояние. И там же, прямо написано как нужно сделать чтобы он
работал нормально. "One way to achieve such EmbedProg(336 знак., 14.08.2025 04:47,
, ссылка)
- Сделал такую штуку для наблюдения за состоянием задач. Можно
заглядывать в TaskState и StackRemainder: Nikolay_Po(1080 знак., 13.08.2025 14:00, картинка, картинка)
- Сделать так, как это сделано в других ОС, в которых UART один, а
пользовательских задач и желающих что-то на него вывести - много.
Тот же Windows и принтер. :))) Зачем изобретать велосипед? - vpv.vpv(13.08.2025 06:45)
- А к железке могут "единомоментно" несколько тысяч клиентов
подсоединиться? Иначе не понимаю, зачем там вообще ртось! - Eddy_Em(12.08.2025 21:34)
- как вариант реализации, можно и на статическом буфере petrd(1218 знак., 12.08.2025 08:25)
- IMNHO, отжимать ресурс с монопольным доступом для какой-то отладки
это жЫрный моветон. неявное выделение памяти и неопределенность
аппетитов потребителей могут накрыть медным тазом любое разумное
начинание. припоминается форк-бомба. ну и зачем-то появился
vfprintf, кто-то когда-то использовал имена устройств вывода, а не
только стандартные потоки или файлы, явно. в том же фортране
форматрованный вывод можно было не только на терминал пользователя
запустить, но и на Vit(1497 знак., 12.08.2025 02:36)
- Как мне кажется, SWO не относится к быстрым механизмам. По сути это
тот же UART, пусть высокочастотный, но без ДМА и прерываний, т.е.
побайтовый вывод с ожиданием готовности в бесконечном цикле. RTT -
это быстро, но требует JLINK, подходит только для м/к, чье
отладочное ядро умеет читать-писать память без остановки
процессора, выхлоп RTT идет на сеггеровский терминал, т.е. добавить
свой анализатор вывода не просто. В современных м/к достаточно
много UART и DMA, мне пока не AlexBi(286 знак., 12.08.2025 09:18)
- Спасибо за мнение. Отладка у меня останется и в релизе. Оставлю
гребёнку с Rx/Tx UARTa - типа порта консоли. Компортов в МК у меня
штук шесть. Из них для работы требуется два-три. Так что выделение
ресурса для отладки - дело осознанное и умышленное. Nikolay_Po(95 знак., 12.08.2025 08:07)
- [off] Eddy_Em(251 знак., 11.08.2025 23:10)
- Я бы сделал так. Сделал задачу (поток) для передачи через UART.
Ссылки на данные и их размер передавал бы в этот поток из других
потоков. - mmc(11.08.2025 21:47)
- Стек раздуветься из за глубоко вложенных функций и локальных
переменных. Надо поискать есть ли аллокация локальных буферов и
перенести в кучу или аллоцировать глобально. - framer_bum(11.08.2025 21:43,
)