Hi, I'm looking at the feasibility of targetting a couple ARM processeors in a similar manner to ocapic at its core. What I'm looking to end up with is a bytecode interpreter running coopertatively multi-tasked ocaml apps, that I can feed in more bytecode at runtime (start a new task, replace an existing task, or interpret a bytecode sequence in an existing task.) The framework for this on the embedded target would be in C (not assembly). Ideally I'd also have a shell on the host development that I could used to interactively compile and interpret ocaml code running on the target. I would also like to crosscomple (including metacompilation) for the target on the host machine, where I could have a sources file that switch between host and target code to produce applications for the target. Ideally the shell on the host would have access to the same environment used for cross compilation. I have not used OCaml all that much, so I don't know yet how how difficult (or feasible) that this task would be. Since the bare metal framework of the embedded target would be in C, I would develop and test it first on the host system. (Linux on x86_64). The ARM processors I'm looking to target are: STM32F407ZGT6 ARM Cortex-M4, 1MB Flash, 196KB RAM (Has floating point) STM32F103RB ARM Cortex-M3, 128 KB Flash, 20K RAM (No floating point) On both I'd like to be able to run bytecode both out of Flash and RAM. (Primarily flash, but RAM for debugging). Speed is on overly important as long as I can control when the garbage collection is run (could be done in C in the multitasker?). Dwight