Ocaml for ARM cortex M4?

时间:2014-11-21 12:33:26

标签: arm ocaml cross-compiling

我想知道是否可以在像STM32F407(1MB闪存,196kB RAM)这样的处理器上交叉编译用Ocaml编写的应用程序? (没有操作系统)。

我看过Cross-compiling ocaml apps for ARM;这个实验似乎已经在beaglebone上完成了;比STM32更强大,Linux也更强大。

还有OcaPIC(http://www.algo-prog.info/ocaml_for_pic/web/index.php?id=ocapic) - 适用于PIC处理器。 ARM Cortex M4有类似的端口吗?

1 个答案:

答案 0 :(得分:3)

我不知道某个端口,但请参阅相关的邮件列表主题12

要开始,您可以使用与构建C或Arduino代码相同的工具链来交叉编译OCaml字节码解释器(ocamlrun),然后运行32位OCaml字节码。 棘手的部分是将运行时移植到没有OS(分配内存等)的情况下工作。像Mirage这样的项目部分基于Xen的miniOS为Xen做过。 也许你可以使用FreeRTOS,ChibiOS等来开始。

一旦有效,您可以使用ocamlopt查看本机代码,它支持armv4到armv7,但我不知道ARMv7E-M是否是该超集。

或者你可以编写一个嵌入在OCaml中的DSL来生成最终在你的MCU上运行的C代码,就像Haskell使用Ivory 3和Atom 4一样。