Очевидно, если Вы серьезно относитесь к UML в конечном счете, необходимо использовать инструмент программного обеспечения UML как те предложенные в других ответах, но я нашел, что электронная доска является одним из лучших инструментов для схематического изображения UML, особенно во время стадии проектирования, или когда Вы исследуете различные альтернативы. Ничто не бьет электронную доску для скорости/гибкости в моем уме. Они являются также великими для сотрудничества, принимающего Вас, расположены физически.
В своей предыдущей работе я использовал busybox на BlackFin.
мы скомпилировали для него perl + php, после изменения s / fork / vfork / g он работал довольно хорошо ... более или менее. Отсутствие MMU - плохая идея. Фрагментация памяти довольно легко убьет сервер. Все, что я сделал, это:
for i in `seq 1 100`; do wget http://black-fin-ip/test.php; done
Он умер, когда я шел к своему боссу и говорил ему, что сервер умирает в процессе производства :)
Домашняя среда исполнения Forth действительно может быть реализована в очень небольшом объеме памяти. Я знаю человека, который сделал его на Cosmac в 1970-х. Время выполнения ядра составляло всего 30 байт.
Рассматривали ли вы простое использование / bin / sh
, предоставляемого busybox ? Или какой из рекомендуемых ими меньших языков сценариев ?
Я бы порекомендовал LUA (или eLUA http://www.eluaproject.net/ ). Некоторое время назад я «портировал» LUA на Cortex-M3. С моей точки зрения, у него был размер флэш-памяти 60 ~ 100 КБ, и для работы требовалось около 20 КБ ОЗУ. Я выделил самое необходимое, но в зависимости от вашего приложения этого может быть достаточно. Еще есть возможности для оптимизации, особенно в отношении требований к оперативной памяти, но я сомневаюсь, что вы сможете комфортно использовать его при 8 КБ.
Рассматривали ли вы порт в C из Tiny Basic ? Или, возможно, переписать p-машину UCSD Pascal p-machine для вашей архитектуры с Z-80?
Если серьезно, JavaScript мог бы стать хорошим встроенным языком сценариев, но я понятия не имею, какой минимальный объем памяти требования относятся к VM + GC, а также к тому, насколько сложно удалить зависимости ОС. Некоторое время назад я играл с NJS , который может соответствовать вашим потребностям. Этот интересен тем, что компилятор написан на JavaScript (самостоятельный хостинг).
Erlang - http://erlang.org/
он может уместиться в 2 МБ
http://www.experts123.com/q/is-erlang- small-enough-for-embedded-systems.html
Пролог - http://www.gprolog.org/
Согласно поисковому запросу в Google "маленький пролог" размер исполняемого файла можно сделать довольно маленьким, избегая связывания встроенные предикаты.
Я слышал, что CHIP-8, XPL0, PicoC и Objective Caml были портированы на графические калькуляторы. В статье Википедии "Lego Mindstorms" перечислены несколько языков программирования, которые якобы работают на платформе Lego RCX или Lego NXT. Соответствует ли какой-либо из них вашим критериям "живого кодирования"?
Вы, возможно, захотите проверить другие Форты микроконтроллеров в Форт-вики . В ней перечислены, по крайней мере, 4 Форта для Atmel AVR: amforth (о которых вы уже упоминали), PFAVR, avrforth и ByteForth
.
(Ссылки на эти интерпретаторы, а также данный вопрос StackOverflow, включены в викибук "Embedded Systems").