I am checking an option to use Erlang to control a Linux-based device (a programmable helicopter). Is there an efficient port of Erlang that works on top of an ARM9 processor?
If so, the usage scenario will be many processes running on a single node, with frequent message-passing, some access to binary files, and no shared data (no ETS, DETS or Mnesia). Is this scenario likely to perform well on an embedded Erlang?
_______________________________________________
erlang-questions mailing list
erlang-q...@erlang.org
http://erlang.org/mailman/listinfo/erlang-questions
Well, just it just compiles from source well.
I have experience using a S3C2440 board at 400 Mhz and on some informal benchmarks ( ring ) it is just 7 times slower than a 2,2 Ghz core 2 Duo Mac book.
From other erlang embedded experiences:
How do you control the hardware in C? Linux device drivers are very slow, when compared to direct memory access.
Doing NIFs and dynamic libs may be hard.
ARM processors are usually supported by the latest gcc version, and that is VERY good for Erlang porting.
If you try to compile Erlang with an older gcc version, you may get all the kind of "strange and wonderful" errors.
Check the gcc version of your toolchain!
My best regards
Paulo Ferreira
P.S.: Please replace "strange and wonderful" by the suitable words in your native language....
Looks like I'll have to compile from source - Embedded Erlang is not what I need because it includes its-own embedded Linux, and I need to install on an existing Linux.Can someone who has done this before be as kind as writing a minimal how-to for cross-compiling Erlang to ARM?
Thanks again,GuyOn Tue, Sep 20, 2011 at 5:16 PM, Paulo Ferreira <p...@isep.ipp.pt> wrote:
Well, just it just compiles from source well.
On 2011/09/19, at 09:14, Guy Wiener wrote:
> Hello Erlangers,
> I am checking an option to use Erlang to control a Linux-based device (a programmable helicopter). Is there an efficient port of Erlang that works on top of an ARM9 processor? If so, the usage scenario will be many processes running on a single node, with frequent message-passing, some access to binary files, and no shared data (no ETS, DETS or Mnesia). Is this scenario likely to perform well on an embedded Erlang?
>
> Thanks,
> Guy Wiener,
> Dept. of Computer Science and Applied Math,
> Weizmann Institute for Science.
I have experience using a S3C2440 board at 400 Mhz and on some informal benchmarks ( ring ) it is just 7 times slower than a 2,2 Ghz core 2 Duo Mac book.
>From other erlang embedded experiences:
How do you control the hardware in C? Linux device drivers are very slow, when compared to direct memory access.
Doing NIFs and dynamic libs may be hard.
ARM processors are usually supported by the latest gcc version, and that is VERY good for Erlang porting.
If you try to compile Erlang with an older gcc version, you may get all the kind of "strange and wonderful" errors.
Check the gcc version of your toolchain!
My best regards
Paulo Ferreira
P.S.: Please replace "strange and wonderful" by the suitable words in your native language....
_______________________________________________
erlang-questions mailing list
erlang-q...@erlang.org
http://erlang.org/mailman/listinfo/erlang-questions
Regards,
Gustav Simonsson
----- Ursprungligt meddelande -----
Från: "Tony Rogvall" <to...@rogvall.se>
Till: "Guy Wiener" <wiene...@gmail.com>
Kopia: "Erlang Questions" <erlang-q...@erlang.org>
Skickat: måndag, 26 sep 2011 13:48:05
Ämne: Re: [erlang-questions] Erlang on ARM9?
> The trapexit guide assumes you have a proper cross compilation toolchain.
Yes. And, if you want to compile R14B (i.e. the current Erlang
version), it's best to ignore the trap exit guide, it's intended
for R13B03 and earlier.
(I wrote the trap exit guide for R10B, based on things I'd picked up
since R7 or something. A bit after R13B04 came out, I changed the wiki
page to say "don't bother reading this if you're using R13B04 or
later" near the top. Maybe it's time for me to retire the whole page,
R14B is firmly established.)
> You can generate a ARM9 toolchain using OpenEmbedded either by following
> one of the guides online for creating a OE toolchain or by configuring OE
> for a ARM9 machine and building some app or system image with it, as that
> will also generate a ARM9 toolchain.
Another popular (free) toolchain is DENX ELDK
http://www.denx.de/wiki/DULG/ELDK
I haven't used OpenEmbedded, so I don't know if it's better or worse;
just mentioning it as another alternative.
Matt
It's pretty odd that in your case --build is an ARM. Are you typing those
commands on an ARM system or on an x86?
Or: I don't know what you're doing but it looks wrong.
As a quick way to give you more information, I've put a log which shows
exactly what I do to build my ARM version in a clean erlang source tree:
http://www.corelatus.com/~matthias/cross_arm.log.gz
The only non-comment difference between my ARM xconf file and the MIPS
one supplied with R14B03 is:
erl_xcomp_host=arm-linux
Matt
----------------------------------------------------------------------
You have erl_xcomp_build=arm-unknown-linux-gnu in your xcomp file,
try setting this value to 'guess' and see if that works, that will
run erts/autoconf/config.guess to grab the (most likely) correct
value for --build. It is also the default value for Erlang xcomp
conf files.
Regards,
Gustav Simonsson
----- Ursprungligt meddelande -----
Från: "Matthias Lang" <matt...@corelatus.se>
Till: "Guy Wiener" <wiene...@gmail.com>
Kopia: "Erlang Questions" <erlang-q...@erlang.org>
Skickat: måndag, 3 okt 2011 14:33:03
Ämne: Re: [erlang-questions] Erlang on ARM9?
Hi,
> My mistake: The build did not get stuck on some library, but erts is
> dependent on libcurses, which is not a part of the toolchain that I use
> (Sourcery lite). Can I compile Erlang somehow without this lib? Curses! :)
Have you tried passing
--without-termcap
when you run configure?
Matt