Building LDC runtime for a microcontroller
nise at nise.com
Mon Sep 7 20:55:54 UTC 2020
On Monday, 7 September 2020 at 19:12:59 UTC, aberba wrote:
> How about an alternative runtime + standard library for
> embedded systems...with a least bare minimum. I've seen a
> number of efforts to get D to run in those environments but
> almost none of them is packaged for others to consume.
Adam D. Ruppe's book "D cookbook" describes another way by
augmenting object.d in order to get "full D" to compile. I guess
this was written before betterC existed. It will be similar to
betterC, a very naked system without druntime. To be honest I
like this approach better as it opens up for gradually adding
A small runtime + standard library is about the only possibility
in order to fit in those microconroller systems. Alternatively it
might be better just start from scratch and implement often
limited functionality they requires. The problem as I mentioned
before was that OS dependent stuff is mixed with OS independent.
I think that OS independent should be broken out so that it can
more easily be used for embedded programming.
Memory management can be a problem too. OS independent library
code might expect full GC support and there seems to be no
documentation which functions that does and which doesn't. I was
thinking GC might not be that much of a problem for medium sized
microcontroller systems. In practice you can have a fixed pool
that is initialized from the beginning, non expandable. Still
there is a GC memory overhead penalty.
In the C/C++ world generic standard C libraries for embedded
systems are rare, often unfinished, limited, GPL soiled so there
are difficulties there as well. Often there are tons of POSIX
filth in them as they are assumed to run on some kind Linux
More information about the Digitalmars-d-learn