如何运行基于 Erlang 的机器人?是否可以将其转换为 .hex 并在微控制器上运行?
我正在研究 Erlang 机器人项目。我制作了一个wallfollower机器人程序,它有两个文件1.一个与硬件通信的C程序(我认为我们不能直接使用Erlang)和2.Erlang程序来调用这些函数。我想知道在哪里(平台)可以运行这个机器人。
是否可以在基于微控制器(8051 或 ARM7)的硬件上运行该机器人?
是否可以将 Erlang 程序转换为 C 代码或直接转换为 .hex 文件?
I am working on Erlang robotic project. I have made a wallfollower robot program which has two files 1. a C program to communicate with hardware(I think we can not directly use Erlang for this) and 2. Erlang program to call these functions. I want to know where(platforms) I can run this robot.
Is it possible to run this robot over micro-controller (8051 or ARM7) based hardware?
Is it possible to convert Erlang program into C code or directly into .hex file?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可能想看看这个项目:
http://erlang-embedded.com/
他们提出了今天在伦敦举行的 Erlang Factory 会议上。
此外,您可能需要联系来自意大利卡塔尼亚的 DMI(以前称为 DIIT)的人员。他们花了很多年的时间研究 Erlang 支持的机器人:
http://eurobot.dmi.unict.it /?p=16
希望这会有所帮助。
You might want to have a look to this project:
http://erlang-embedded.com/
They presented it today at the Erlang Factory Conference in London.
Also, you might want to contact someone from the DMI (formerly DIIT) from Catania, Italy. They spent many years working on Erlang powered robots:
http://eurobot.dmi.unict.it/?p=16
Hope this helps.
据我所知:
没有任何 Erlang VM 通过微控制器的端口(假设它甚至有意义)
没有任何方法可以将 Erlang BEAM 代码转换为 .hex 格式:BEAM VM 代码需要一个虚拟机来运行。
如果您想要具有微控制器任务/线程功能的轻量级东西,为什么不考虑 TinyOS 呢?
To the best of my knowledge:
there isn't any port of Erlang VM over micro-controllers (assuming it would even make sense)
there isn't any way to turn Erlang BEAM code to .hex format: BEAM VM code needs a virtual machine to operate in.
If you want something lightweight with task/threading capability for micro-controllers, why not consider TinyOS ?
Erlang VM 所做的不仅仅是为您解释 erlang 字节码。它还处理进程间消息传递,并完成许多繁重的工作,使 erlang 如此强大且具有容错能力。将 erlang 代码翻译为机器代码还需要翻译大部分 vm 代码。您最好将虚拟机本身移植到微控制器并在其上运行应用程序。
The Erlang VM does a lot more than just interpret the erlang bytecode for you. It also handles the interprocess messaging, and does a lot of the heavy lifting that makes erlang so robust and fault tolerant. translating erlang code to machine code would require translating a good portion of the vm code as well. You'd be better off porting the vm itself to a micro-controller and running the apps on that.