Un buon linguaggio interpretato per un piccolo progetto integrato [chiuso]

8

Ho un microcontrollore mbed che ha un piccolo ARM Cortex M3 su di esso. Fondamentalmente, le mie risorse efficaci per il progetto sono ~ 25 KB di RAM e ~ 400 KB di Flash. Per I / O avrò una tastiera PS / 2 , un framebuffer VGA (con output di caratteri), e una scheda SD per salvare / caricare programmi (fino a un paio di MB forse).

Chiedo perché sto cercando di capire quale linguaggio di programmazione implementare sulla cosa. Sto cercando un linguaggio interpretato che sia facile da implementare e che non infranga la banca sulle mie risorse. Intendo anche che sia almeno possibile scrivere sul dispositivo stesso, anche se l'editor può essere interpretato (yay, bootstrap).

Ad ogni modo, ho esaminato alcune semplici lingue. Alcuni buoni candidati:

Qualcuno ha fatto qualcosa del genere o conosce qualche lingua che possa adattarsi a questo disegno di legge o avere commenti sui miei tre candidati fino ad ora?

    
posta Earlz 18.09.2012 - 02:56
fonte

4 risposte

6

Per quello che hai descritto, FORTH è probabilmente l'ideale. FORTH funziona regolarmente su piattaforme molto più piccole delle tue. (16K totale è una grande macchina per FORTH.) Ci sarà una seria curva di apprendimento, se non hai mai guardato FORTH prima.

Esiste un'implementazione di Scheme chiamata TinyScheme (come ricordo), che potrebbe valere la pena dare un'occhiata. L'ho sentito per la prima volta da un pezzo su Slashdot, su un ragazzo che l'ha usato come nucleo del suo motore di malware. (Sì, è vero: il suo compito era scrivere malware, per un motivo o per l'altro, e farlo in TinyScheme significava che il loro carico utile poteva essere molto più piccolo.)

    
risposta data 18.09.2012 - 08:38
fonte
11

Ho intenzione di dimostrare che Lua è di gran lunga la scelta migliore. Puoi compilare Lua ovunque sia possibile eseguire C ed è uno dei linguaggi di scripting più chiari in circolazione. È massicciamente flessibile come lingua e le abilità sono abbastanza trasferibili. C'è anche una versione specificatamente integrata di Lua .

Addendum: apparentemente possibile per ridurre il footprint della memoria a poco più di 25K.

Addendum 2 - Le cose diventano pazzesche: c'è un'opzione sollevata da questo domanda SO . Scoiattolo è un linguaggio che ho sentito ma mai usato. Apparentemente è persino più piccolo di Lua a causa dell'uso del conteggio dei riferimenti.

    
risposta data 18.09.2012 - 03:04
fonte
1

Per quanto riguarda i linguaggi di scripting incorporabili, i 2 che conosco sono LUA e < a href="http://www.compuphase.com/pawn/pawn.htm"> PAWN .

Penso che ci siano versioni di Python e amp; altri di questi linguaggi sono portati su sistemi embedded, ma tendono ad essere la varietà Linux incorporata. A seconda della piattaforma (nessuna idea se si tratti di un piccolo MCU con 8K ROM o un PC integrato) potrebbe essere un'opzione.

    
risposta data 18.09.2012 - 05:39
fonte
1

Ricordo di aver letto qualche tempo fa su Tcl / Tk e il suo uso nei router.

Estratto dal paragrafo "Sviluppo integrato" trovato nel link :

Because Tcl is a very compact language, and is easily integrated with special hardware, it is a popular choice for embedded development. You'll find Tcl hidden away on many devices, including many networking products from Cisco and others, and set-top boxes including Tivo. Embedding Tcl within other software projects is of course also hugely popular, and has become the dominant control language in some industries, such as in electronic design automation (EDA) and computer-aided design (CAD) applications.

    
risposta data 18.09.2012 - 03:03
fonte

Leggi altre domande sui tag