[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Chicken-users] Re: Chicken OSless

From: Ivan Shmakov
Subject: [Chicken-users] Re: Chicken OSless
Date: Fri, 02 May 2008 02:16:28 +0700
User-agent: Gnus/5.110006 (No Gnus v0.6) Emacs/21.4 (gnu/linux)

>>>>> Shawn Rutledge <address@hidden> writes:

 >> I'm curious whether or not there's been work on running Chicken's
 >> binaries on a OSless piece of hardware. I've been trying to convince
 >> my boss that it would be worth while investigating dynamic languages
 >> for embedded systems.

 > I never tried but wondered about it too.

 > I was thinking it would be very hard to use Scheme on a
 > Harvard-architecture chip like an Atmel.  There could be an
 > interpreter, but anything new you define would have to go in SRAM
 > (all 4K of it, in the case of the ATmega's).  You cannot execute
 > machine instructions out of SRAM, and you cannot write new
 > instructions to the Flash at runtime,

        Can't you?  IIRC, there's support for the SPM instruction in
        some of the ATmega parts.  It seems that it's used to allow for
        firmware update.

        Flash typically has somewhat low endurance (10 ^3 .. 10 ^4 write
        cycles) to be used as the main memory, though.

 > so the only choice would be to interpret some kind of VM instructions
 > that are stored in SRAM, or interpret Scheme directly, or some kind
 > of tokenized representation.


 > But I'm thinking of the use case where the embedded system is on a
 > network and you connect and feed it some S-expressions to evaluate.
 > For a standalone fixed-purpose system though, if you can compile the
 > whole program ahead of time, there are big chunks of implementation
 > that you don't need anymore, right?  It's just static (unchanging)
 > machine code being executed, like any other microcontroller program
 > except less efficient. :-)

        There's Schlep [1], though it's not a Scheme implementation.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]