From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id 7D68B7F9A8 for ; Mon, 30 Jun 2014 16:02:31 +0200 (CEST) Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of goswin-v-b@web.de) identity=pra; client-ip=212.227.15.4; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="goswin-v-b@web.de"; x-sender="goswin-v-b@web.de"; x-conformance=sidf_compatible Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of goswin-v-b@web.de) identity=mailfrom; client-ip=212.227.15.4; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="goswin-v-b@web.de"; x-sender="goswin-v-b@web.de"; x-conformance=sidf_compatible Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@mout.web.de) identity=helo; client-ip=212.227.15.4; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="goswin-v-b@web.de"; x-sender="postmaster@mout.web.de"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AiYBAL1ssVPU4w8EnGdsb2JhbABag1/GMwGBCxYPAQEBAQEGDQkJFCiEAwEBBTIBQRULGAklDwUoPYgkARjAAh+HCheMfYIRFoMXgRYFml2GcBKQQA X-IPAS-Result: AiYBAL1ssVPU4w8EnGdsb2JhbABag1/GMwGBCxYPAQEBAQEGDQkJFCiEAwEBBTIBQRULGAklDwUoPYgkARjAAh+HCheMfYIRFoMXgRYFml2GcBKQQA X-IronPort-AV: E=Sophos;i="5.01,575,1400018400"; d="scan'208";a="69586457" Received: from mout.web.de ([212.227.15.4]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-SHA; 30 Jun 2014 16:02:30 +0200 Received: from frosties.localnet ([78.43.112.61]) by smtp.web.de (mrweb004) with ESMTPSA (Nemesis) id 0MNg5K-1WzyX90yLK-007H9U for ; Mon, 30 Jun 2014 16:02:29 +0200 Received: from mrvn by frosties.localnet with local (Exim 4.82) (envelope-from ) id 1X1cA8-000664-BE for caml-list@inria.fr; Mon, 30 Jun 2014 16:02:28 +0200 Date: Mon, 30 Jun 2014 16:02:28 +0200 From: Goswin von Brederlow To: caml-list@inria.fr Message-ID: <20140630140228.GB23123@frosties> References: <03b201cf14ab$155f1630$401d4290$@ffconsultancy.com> <20140119104527.GC2012@siouxsie> <1390147118.92654.YahooMailNeo@web121701.mail.ne1.yahoo.com> <20140119160530.GA10935@notk.org> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20140119160530.GA10935@notk.org> User-Agent: Mutt/1.5.23 (2014-03-12) X-Provags-ID: V03:K0:NQbsDNv/zfoRsGornK4nXLsf4IxUr02RWKqoibd7N37EhqjkCup 1QmRe6XlJdgkYysNc7rVExQ3xwrVj/C+3GNQfPkJqv/M+esE+CNE8PSADeyaBeDfP1TTuXS 8rUhN9nQMoQi97tIsD6o2XGpTBLlNgxouPHu2CJgi9os/lRSSKXoKEY4cbK1MpCncqBP/GK xsseJ6Pu4rjszaSsUlE/Q== Subject: Re: [Caml-list] OCaml on the Arduino (or similar) 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). 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. For Arduino the hard part would be to gte ocaml itself build. I don't think 16-bit values are supported. MfG Goswin