Arm 手臂皮质M4的Ocaml?

Arm 手臂皮质M4的Ocaml?,arm,ocaml,cross-compiling,Arm,Ocaml,Cross Compiling,我想知道是否有可能在STM32F407(1MB闪存,196kB RAM)这样的处理器上交叉编译用Ocaml编写的应用程序?(无操作系统) 我读过;这项实验似乎是在beaglebone上做的;因此,它比STM32更强大,并且使用Linux作为操作系统 还有OcaPIC()——它是为PIC处理器设计的。 ARM Cortex M4是否有类似的端口?我不知道有端口,但请参阅相关的邮件列表线程 首先,您可以使用构建C或Arduino代码时使用的相同工具链交叉编译OCaml字节码解释器(ocamlrun)

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

我读过;这项实验似乎是在beaglebone上做的;因此,它比STM32更强大,并且使用Linux作为操作系统

还有OcaPIC()——它是为PIC处理器设计的。
ARM Cortex M4是否有类似的端口?

我不知道有端口,但请参阅相关的邮件列表线程

首先,您可以使用构建C或Arduino代码时使用的相同工具链交叉编译OCaml字节码解释器(ocamlrun),然后运行32位OCaml字节码。 棘手的部分是在没有操作系统的情况下移植运行时(分配内存等)。像Mirage这样的项目已经为部分基于Xen miniOS的Xen实现了这一点。 也许您可以使用FreeRTOS、ChibiOS等来开始

一旦这一点起作用,您可以使用ocamlopt查看本机代码,它支持armv4到armv7,但我不知道ARMv7E-M是否是这一点的超集

或者您可以编写一个嵌入OCaml的DSL,生成最终在MCU上运行的C代码,就像Haskell对Ivory和Atom所做的那样