我正在寻找通用编程语言
有一个交互式(实时编码)提示
当编译器托管在单独的机器上时,单独工作32 KB RAM或8 KB工作
在总共只有8-32 KB RAM的微控制器上运行(没有MMU).
到目前为止,下面是我的清单,我错过了什么?
Python:PyMite VM需要64K闪存,8K RAM.目标LPC,SAM7和ATmegas 8K或更多.托管.
Lua:eLua FAQ推荐256K闪存,64K RAM.
FORTH:amforth在ATmega上需要8K闪存,150字节RAM,30字节EEPROM.
方案:armpit方案最小的目标是具有32K闪存,4K SRAM的LPC2103.
C:Interactive C在68HC11上运行,没有闪存和32K SRAM.托管.
C:picoc是一个开源,交叉编译,交互式C系统.编译为AVR时,需要63K闪存,8K RAM.可以通过努力将RAM保持在闪存中来减少RAM.
C++:AngelScript是一个开源的,基于字节码的,类似于C/C++的脚本语言,具有简单的本机调用.
Tcl:TinyTCL在DOS上运行,60K二进制.看起来很容易移植.
BASIC:TinyBasic:初始化为64K堆,可能是可调整的.
口齿不清
PostScript :(我还没有找到低内存的FOSS实现)
Shell:bitlash:Arduino(ATmega)的交互式命令shell.另见AVRSH.
ConcernedOfT.. 8
自制的Forth运行时确实可以在很少的内存中实现.我知道有人在20世纪70年代在Cosmac上创造了一个.核心运行时只有30 个字节.
自制的Forth运行时确实可以在很少的内存中实现.我知道有人在20世纪70年代在Cosmac上创造了一个.核心运行时只有30 个字节.
我听说CHIP-8,XPL0,PicoC和Objective Caml已被移植到图形计算器中.维基百科"Lego Mindstorms"文章列出了一系列据称在Lego RCX或Lego NXT平台上运行的编程语言.他们中的任何一个符合您的"实时编码"标准吗?
您可能想要查看Forth wiki上的其他微控制器Forths.它列出了Atmel AVR至少4个Forth:amforth(你已经提到过),PFAVR,avrforth和ByteForth.
(这些解释器的链接以及此StackOverflow问题都包含在" 嵌入式系统 "wikibook中).
我会推荐LUA(或eLUA http://www.eluaproject.net/).我曾经将LUA"移植"到Cortex-M3上.从我的头顶开始,它的闪存大小为60~100KB,运行时需要大约20KB的RAM.我确实剥离了最基本的东西,但根据你的应用,这可能就足够了.仍然有优化的空间,特别是关于RAM要求,但我怀疑你可以在8KB中运行它.