On Tuesday, 17 February 2015 at 22:07:38 UTC, Henri Sundelin wrote:
Hello folks,

I'm trying to evaluate a possibility to use D for an embedded case. We want to use the same application base from the high end to the low end. In this case high end means full Linux server, and low end must be a single chip solution, with no OS. Processor families may vary, only thing certain is GCC backend.

High end side is obviously a no brainer, but the low end stuff is a big question. We do have a requirement for OO programming and design by contract pre/postconditions etc. OO requirement is actually not too heavy, models are not dynamic or complicated, but are suitable for embedded in "object-based" sense what Ada83 talked about in the olden days..

I've been trying to find what has been done in the D embedded area so far, and the issue turns always to the runtime itself. However I've not been able to find complete runtimes meant for embedded applications, just either full-blown or just bare-bones minimum stuff.

My big question is:
- is there any suitable runtime currently available for embedded?
- How much RAM would be needed for such runtime in real life?

So if anyone is working on these fronts, I'd appreciate any input..:)

//Henri

please have a look at
https://bitbucket.org/timosi/minlibd
There are several readme files that explain various aspects of using D in small systems. It has a working example for stm32f4 but should be easy to use with any suitable processor. I have recommended 64/64k rom and ram but it could work with 32/32. It might work with smaller memory but the prices of bigger processors are so low nowadays that I have not yet done any work in this area.

I just got the first prototypes of our stm32 usb stick boards. There will be at least stm32f0 and f4 boards available in 2 months and at least the f4 board will have support for D. They are sold at reasonable price and we may provide free samples to the users of this forum.

Installing gdc for cross compiling may be a difficult task. We will provide a compiler server with some peripheral libraries. The service is free for evaluation use.

Check the documentation in the repo. Do not hesitate to ask if you still have something you want to know.


Reply via email to