Kokios yra interaktyvios kalbos, kurios veikia mažoje atmintyje?

Aš ieškau bendrosios paskirties kalbų

  • turi interaktyvų (tiesioginio kodavimo) kvietimą
  • veikia tik 32 KB RAM arba 8 KB, kai kompiliatorius yra atskiroje mašinoje.
  • veikia tik 8–32 KB RAM (be MMU).

Žemiau yra mano sąrašas, ką praleidau?

  • Python . „PyMite VM“ turi 64x blykstę, 8K RAM. LPC, SAM7 ir ATmegas taikiniai su 8K ar daugiau. Hostingas.
  • Lua : eLua dažnai užduodami klausimai rekomenduoja 256K blykstę, 64K RAM.
  • FORTH : amforth reikalauja 8K flash, 150 baitų RAM, 30 baitų EEPROM ant ATMEGA.
  • Schema : Armpit Scheme Mažiausias tikslas yra LPC2103 su 32K Flash, 4K SRAM.
  • C : Interaktyvus C veikia 68HC11 be blykstės ir 32K SRAM. Hostingas.
  • C : picoc atviro kodo, kryžminio sudarymo, interaktyvioji sistema C. AVR kompiliavimas reikalauja 63K flash, 8K RAM. RAM gali būti sumažinta bandant išsaugoti lenteles „flash“ atmintyje.
  • „C ++“ : „ AngelScript“ yra atviro kodo, baito kodo, C / C + +, kaip skriptų kalba su paprastais vietiniais skambučiais.
  • Tcl : TinyTCL veikia DOS, 60K dvejetainėje. Lengva nešiotis.
  • PAGRINDINIS : TinyBasic : inicijavimas su 64 KB krūva gali būti pritaikomas.
  • Lisp
  • „PostScript“ : (dar neradau mažos atminties FOSS įgyvendinimo)
  • Shell : bitlash : interaktyvus komandų apvalkalas „Arduino“ (ATmega). Taip pat žr . AVRSH .
67
04 июля '09 в 21:29 2009-07-04 21:29 „Dwhall“ yra nustatytas liepos 04 d., 09:29, 2009-07-04 21:29
@ 15 atsakymų

Yra daug Tcl versijų, skirtų įterptiniam programavimui:

http://wiki.tcl.tk/1363

8
05 июля '09 в 0:07 2009-07-05 00:07 atsakymas pateikiamas ars liepos 05'09, 0:07 2009-07-05 00:07

Girdėjau, kad CHIP-8, XPL0, PicoC ir Objective Caml buvo perkelti į grafinius skaičiuotuvus. Vikipedijos straipsnyje „Lego Mindstorms“ yra programavimo kalbų, kurios tariamai veikia „Lego RCX“ arba „Lego NXT“ platformoje, sąrašas. Ar bet kuris iš jų atitinka jūsų kodavimo kriterijus?

border=0

Galbūt norėsite patikrinti kitą „Forths“ mikrovaldiklį „Forth“ wiki. Jame išvardijami ne mažiau kaip keturi „AVM“ „Atmel“ vertinimai: amforth (kurį jau minėjote), PFAVR, avrforth ir ByteForth.
(Nuorodos į šiuos vertėjus ir šį klausimą „StackOverflow“ yra įtrauktos į „ Įterptųjų sistemų “ wikibook).

7
24 дек. David Cary atsakymas . 2009-12-24 20:58 '09 ne 20:58 2009-12-24 20:58

Greitas vykdymas kieme gali būti įgyvendintas labai mažoje atmintyje. Aš žinau ką nors, kas ją padarė „Cosmac“ aštuntajame dešimtmetyje. Šerdis buvo tik 30 baitų.

6
04 июля '09 в 23:04 2009-07-04 23:04 Atsakymas pateikiamas „ ConcernedOfTunbridgeWells“ liepos 4 d., 09:04, 2009-07-04 23:04

Norėčiau rekomenduoti LŽŪU (arba eLUA http://www.eluaproject.net/ ). Prieš kurį laiką aš „perkėliau“ LŽŪU į „Cortex-M3“. Nuo mano galvos viršaus jis buvo 60 ~ 100 KB blykstės dydis, o paleisti reikėjo apie 20 KB. Aš išmontavau reikiamus dalykus, tačiau, priklausomai nuo jūsų paraiškos, tai gali pakakti. Vis dar yra galimybių optimizuoti, ypač dėl RAM reikalavimų, tačiau abejoju, kad galite jį paleisti 8 KB.

5
06 июля '09 в 17:09 2009-07-06 17:09 atsakymas pateikiamas Ron liepos 06'09 09:17 2009-07-06 17:09

Wren atitinka jūsų kriterijus - pagal nutylėjimą ji yra sukonfigūruota naudoti tik 4 tūkst. RAM. AFAIK jis nematė realaus naudojimo, nes mano parašytas vaikinas nusprendė, kad jam nereikia vertėjo, pilnai veikiančio tikslinėje sistemoje.

Kalba, kurią akivaizdžiai veikia ML ir Forth.

4
02 янв. Atsakymą pateikė Darius Bacon 02 Jan. 2012-01-02 05:22 '12 at 5:22 2012-01-02 05:22

Galite pažvelgti į labai galingą „AvrCo Multitasking Pascal“ AVR. Galite jį išbandyti http://www.e-lab.de . Versija MEGA8 / 88 yra nemokama. Yra tonų vairuotojų ir simuliatorių su JTAG derintuvu ir gražiais gyvais ar imituotais visų standartinių įrenginių vaizdais (LCDCHAR, LCDGRAPH, 7SEG, 14SEG, LEDDOT, KEYBOARD, RC5, SERVO, STEPPER ...).

2
28 окт. atsakymas duotas avra spalis 28 2010-10-28 16:56 '10, 16:56, 2010-10-28 16:56

Ar laikėte „C Tiny Basic“ uostą ? Arba galbūt perrašykite „p-machine UCSD Pascal“ į savo architektūrą iš „Z-80“?

Tačiau rimtai „JavaScript“ sukurtų gerą įterptųjų skriptų kalbą, bet nežinau, kokie minimalūs atminties reikalavimai VM + GC yra ir kaip sunku pašalinti OS priklausomybes. Prieš kurį laiką grojau su NJS , o tai galėjo atitikti jūsų poreikius. Tai įdomu, nes kompiliatorius parašytas „JavaScript“ (nepriklausomas priegloba).

2
08 июля '09 в 17:25 2009-07-08 17:25 Atsakymą pateikė Jamesas Hugardas liepos 8 d. 09:17 17:25

Norėčiau rekomenduoti „ MY-BASIC“ , ji veikia ne mažiau kaip 8 KB RAM ir lengvai perkeliama.

1
20 апр. atsakymas duotas paladin_t Bal 20 2015-04-20 07:40 '15, 7:40 2015-04-20 07:40

Trūksta EmbedVM, čia yra pagrindinis puslapis, čia yra svn repo. Nepamirškite patikrinti kaip [ 1 , 2 ] vaizdo įrašą pirmame puslapyje;)

Pagrindiniame puslapyje:

„EmbedVM“ yra maža įterptinė virtualioji mašina, skirta mikrokontroleriams su „C“ tipo kalbos sąsaja. Jis buvo išbandytas su GCC ir AVR mikrovaldikliais. Tačiau kadangi virtuali mašina yra gana paprasta, ji turėtų būti lengvai perkeliama į kitas architektūras.

VM imituoja 16 bitų procesorių, kuris gali pasiekti 64 KB atmintį. Tai gali veikti tik 16 bitų ir 16 bitų ir 8 bitų reikšmių matricose. Nėra paramos sudėtingoms duomenų struktūroms (struktūrai, objektams ir pan.). Funkcija gali turėti ne daugiau kaip 32 vietinius kintamuosius ir 32 argumentus.

Be virtualios mašinos atminties, maža struktūra, kurioje yra virtualios mašinos būsena, ir pagrįstas atminties kiekis, kurį įterpia VM funkcijos vienoje kamino, nereikalauja papildomų atminties reikalavimų virtualiai mašinai. Visų pirma, VM yra nepriklausomas nuo dinamiškos atminties valdymo.

„EmbedVM“ yra optimizuotas pagal dydį ir paprastumą, o ne greitį. Pati „VM“ AVR mikrovaldikliu užima apie 3 KB atminties. AVR ATmega168, veikiančiame 16 MHz, VM gali atlikti apie 75 VM instrukcijas per milisekundę.

Visi atminties skambučiai, kuriuos atlieka virtuali mašina, apdorojami naudojant funkciją „atgalinio ryšio“ vartotojas. Taigi, kai kurios arba visos „VM“ atmintinės gali turėti išorinius atminties įrenginius, „flash“ atmintinę ir pan. arba aparatūros „atminties kortelės“ funkcijos virtualiai mašinai.

Kompiliatorius yra UNIX / Linux komandų eilutės įrankis, kuris perskaito į * .evm failą ir sukuria baitekodą įvairiais formatais (dvejetainis failas, intel hex, C masyvo iniciatoriai ir specialus debug išvesties formatas). Jis taip pat generuoja simbolio failą, kuris gali būti naudojamas prieigai prie virtualiosios atminties įrenginio duomenų iš priimančiosios programos.

C tipo kalba atrodo taip: http://svn.clifford.at/embedvm/trunk/examples/numberquizz/vmcode.evm

1
07 февр. atsakymas pateikiamas Morten Jensen 07 vasaris 2013-02-07 05:19 '13, 5:19, 2013-02-07 05:19

Ar jūs tik naudojote /bin/sh kuriuos suteikė busybox ? Arba mažesnėse skriptų kalbose jie rekomenduoja?

0
04 июля '09 в 22:31 2009-07-04 22:31 atsakymas pateikiamas dmckee liepos 04 d. , 09:31 val. 2009-07-04 22:31

Savo ankstesniame darbe naudoju BlackFin.

mes užpildėme perl + php, pakeitus s / fork / vfork / g, jis veikė gana gerai ... daugiau ar mažiau. Nėra MMU nėra gera idėja. Atminties fragmentacija bus gana lengva nužudyti serverį. Viskas, ką padariau, buvo:

 for i in `seq 1 100`; do wget http://black-fin-ip/test.php; done 

Jis mirė, kai nuėjau į savo viršininką ir jam pasakiau, kad serveris mirs gamyboje :)

0
04 июля '09 в 22:48 2009-07-04 22:48 atsakymą pateikė elcuco liepos 04 d. , 09:48 , 2009-07-04 22:48

Prolog - http://www.gprolog.org/

Pagal „Google“ „proog mažą“ paiešką vykdomojo failo dydis gali būti gana mažas, vengiant susieti įmontuotus predikatus.

0
17 сент. atsakymą pateikė Larry Watanabe 17 sep. 2009-09-17 21:37 '09 9:37 pm 2009-09-17 21:37

Espruino programoje taip pat yra „JavaScript“.

Jis yra specialiai sukurtas mikrokontroleriams, ir yra įvairių mikroschemų (dažniausiai STM32) komplektai, tinkantys visai sistemai tik su 8 KB RAM.

0
14 авг. Gordon Williams atsakymas 14 rug. 2015-08-14 13:09 '15, 13:09 val. 2015-08-14 13:09

Er>http://er>

Jis gali tilpti 2 MB

http://www.experts123.com/q/is-er>

17 сент. atsakymą pateikė Larry Watanabe 17 sep. 2009-09-17 21:42 '09 21:42 2009-09-17 21:42