77 votes

Quelles sont les langues interactives disponibles qui fonctionnent dans une mémoire minuscule?

Je suis à la recherche pour des fins générales des langages de programmation

  • interactive (live coding) invite
  • travail à 32 KO de RAM par lui-même ou 8 KO quand le compilateur est hébergé sur une machine séparée
  • exécuter sur un microcontrôleur avec aussi peu que 8-32 KO de mémoire RAM totale (sans MMU).

Ci-dessous ma liste est si loin, ce qui me manque?

  • Python: Le PyMite VM besoins 64K flash, 8K RAM. Objectifs LPC, SAM7 et ATmegas avec 8K ou plus. Hébergé.
  • Lua: Le eLua FAQ recommande 256K flash, 64 KO de RAM.
  • SUITE: amforth besoins 8K flash, 150 octets de RAM, 30 octets EEPROM sur un ATmega.
  • Régime: aisselle Régime de La plus petite cible est le LPC2103 avec 32K Flash, 4K SRAM.
  • C: Interactive C s'exécute sur 68HC11 sans flash et 32 ko de SRAM. Hébergé.
  • C: picoc open source, la compilation croisée, interactive C système. Lors de la compilation pour le RÉGULATEUR, il faut 63K flash, 8K RAM. La RAM peut être réduite grâce à un effort pour garder les tables en flash.
  • C++: AngelScript open source, byte-code, C/C++ comme langage de script facile d'appels natifs.
  • Tcl: TinyTCL s'exécute sur le DOS, 60K binaire. Semble facile de port.
  • BASE: TinyBasic: Initialise avec un segment de 64 ko, peut être réglable.
  • Lisp
  • PostScript: (je n'ai pas trouvé de logiciels libres pour la mise en œuvre de mémoire faible encore)
  • Shell: bitlash: Une commande interactive shell pour Arduino (ATmega). Voir aussi AVRSH.

10voto

Un runtime homebrew Forth peut être implémenté avec très peu de mémoire. Je connais quelqu'un qui en a fabriqué un sur un Cosmac dans les années 1970. Le noyau d'exécution était juste 30 octets.

8voto

David Cary Points 1678

J'entends que CHIP-8, XPL0, PicoC, Objective Caml ont été portés pour calculatrices graphiques. Wikipedia "Lego Mindstorms" article répertorie tout un tas de langages de programmation qui aurait exécuté sur le Lego RCX ou Lego NXT plate-forme. Certains d'entre eux de répondre à votre "live coding" critères?

Vous voudrez peut-être consulter l'autre microcontrôleur voyages aller à la Suite du wiki . Il énumère au moins 4 voyages aller pour l'Atmel AVR: amforth (qui vous a déjà dit), PFAVR, avrforth, et ByteForth.
(Liens vers ceux des interprètes, ainsi que ce StackOverflow question, sont inclus dans les "Systèmes Embarqués" wikibook).

7voto

ars Points 35803

Il existe plusieurs versions de Tcl pour la programmation intégrée:

http://wiki.tcl.tk/1363

5voto

Ron Points 488

Je recommanderais LUA (ou eLUA http://www.eluaproject.net/ ). J'ai "porté" LUA sur un Cortex-M3 il y a quelque temps. Du haut de ma tête, il avait une taille de flash de 60 ~ 100 Ko et nécessitait environ 20 Ko de RAM pour fonctionner. Je me suis concentré sur l'essentiel, mais selon votre candidature, cela pourrait suffire. Il y a encore de la place pour l'optimisation, notamment en ce qui concerne les besoins en RAM, mais je doute que vous puissiez l'exécuter à l'aise dans 8 Ko.

5voto

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X