В продолжение темы о скриптах в МК, чтобы на раздувать "сводный
системный". Потестрировал ParTcl (от zserge): https://caxapa.ru/783481.html
https://github.com/zserge/partcl
https://github.com/rhempel/umm_malloc
Наверное, это самый обезжиренный вариант из всех. Тестировал на STM32, тактовая 72 МГц. Интерпретатор занимает около 3 КБ кода. Неотъемлемая часть - malloc/realloc/free, для этого нашёл занятный проект umm_malloc, он добавляет ещё половину КБ. Минимальный скрипт требует кучу размером около килобайта. Что-то более осмысленное - два килобайта и более, насколько хватит амбиций. Простенькая строчка скрипта исполняется порядка 1 миллисекунды. Наверное, навскидку быстродействие можно оценить порядка 1/1000 от похожего сишного кода.
Легко добавляется функционал, если чего-то не хватает. В порядке упражнения реализовал функцию expr для интерпретации математических выражений с приоритетами операторов и скобками, добавилось ещё около 1,5 КБ. Если немного напрячься, можно использовать изолированную кучу и контроль роста стека, чтобы скрипт не мог завалить всю систему.
В целом хорошая штука.