From: Anil Madhavapeddy <anil@recoil.org>
To: Goswin von Brederlow <goswin-v-b@web.de>
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] OCaml on the Arduino (or similar)
Date: Tue, 1 Jul 2014 09:29:57 +0300 [thread overview]
Message-ID: <019F55C6-1953-47A8-9E43-742DE0072BE9@recoil.org> (raw)
In-Reply-To: <20140630140228.GB23123@frosties>
On 30 Jun 2014, at 17:02, Goswin von Brederlow <goswin-v-b@web.de> wrote:
> On Sun, Jan 19, 2014 at 05:05:30PM +0100, Adrien Nader wrote:
>> On Sun, Jan 19, 2014, Dario Teixeira wrote:
>>> Hi,
>>>
>>>> Arch-Arm-Linux (e.g. for Raspberry Pi) also has OCaml-packages.
>>>
>>>>
>>>> Regarding Arduino I don't know it.
>>>> Possibly the hardware is too weak for running Linux?
>>>
>>> Depends on which Arduino you are talking about. The Uno
>>> and most other common variants are based on a fairly puny
>>> (by today's standards) Atmel 8-bit processor. But there
>>> are other more powerful Arduino boards (like the Due)
>>> based on ARM Cortex-M processors. There are ports of Linux
>>> to some Cortex-M variants, but I don't know if these happen
>>> to be the same as those used in the Arduino Due...
>>>
>>> But anyway, if you need something powerful enough to run Linux,
>>> you might also consider other boards like the Raspberry Pi or
>>> the BeagleBone Black. The latter in particular is a pretty
>>> powerful device and has tons of GPIO pins.
>>>
>>
>> You could run something like Mirage too. ;-)
>>
>> http://www.openmirage.org/
>>
>> --
>> Adrien Nader
>
> Mirage though requires hardware virtualization, which means a quite
> recent and powerfull arm board. The Raspberry Pi is way to old for
> that (Note: the cpu is way older than what other boards have).
To be more precise, the Mirage/Xen/ARM backend requires hardware
virtualization in order to provide the bootloader and device libraries.
The majority of other libraries should just work once these are
supplied.
There's an effort underway to complete a FreeBSD kernel module backend,
which would output a kthread-based module. This would run on the rPi,
since you could strip down the FreeBSD kernel to pretty much just
have the bootloader, virtual memory manager, and the required devices
drivers.
>
> I've written an exokernel that lets me run ocaml barebone on the
> Raspberry Pi:
>
> https://github.com/mrvn/ocaml-rpi
>
> It's at a proof-of-concept stage. You can run simple code with output
> on the serial console. The graphics gets initialized too but there is
> no ocaml interface for it yet though. I've run into a problem that the
> GC will crash after a while that I got stuck on.
>
> The exokernel might be a good starting point for other boards (where
> mirage doesn't run) too. You don't need much to get the ocaml runtime
> running on some board.
Or indeed, just use this as a base as well! The reason we selected
kFreeBSD is to make bootstrap of the device drivers easier, and
gradually rewrite them.
-anil
prev parent reply other threads:[~2014-07-01 6:30 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-19 0:12 Jon Harrop
2014-01-19 8:58 ` Adrien Nader
2014-06-30 16:50 ` Peter Zotov
2014-01-19 10:45 ` oliver
2014-01-19 15:58 ` Dario Teixeira
2014-01-19 16:05 ` Adrien Nader
2014-06-30 14:02 ` Goswin von Brederlow
2014-07-01 6:29 ` Anil Madhavapeddy [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=019F55C6-1953-47A8-9E43-742DE0072BE9@recoil.org \
--to=anil@recoil.org \
--cc=caml-list@inria.fr \
--cc=goswin-v-b@web.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox