On Thursday, 30 April 2015 at 00:14:18 UTC, Martin Nowak wrote:

Wonder if it makes more sense to start from zero and add as few files as
possible.

When I started I did not know D enough to understand what druntime does. Just picked the easy way. The amount of required changes has got smaller in every release. It is easy to maintain: I get mainstream updates and bug fixes just by patching. Mike has done some work with an empty runtime and Adam has a chapter in his book. I do not know any real programs made from this base


Druntime doesn't do much useful stuff for a µC anyhow.

- GC and rt.lifetime (new, arrays)
- Moduleinfo
- EH unwind support
- AA implementation
- vectorized array ops
- core.time/sync/thread/demangle

UC programs mostly use static resources but I think 'new' is useful to initialize class objects at runtime. I got exceptions to work but I do not know how much use they have. There should be some time routines.


What might be interesting is this.

- core.bitop
- maybe core.atomic
- some gcc simd module
- libc bindings for core.stdc.math and core.stdc.stdio for printf


Printf is a little tricky. It is actually a file operation to stdout and that is actually a syscall to kernel. In a controller board we may have several devices where we can send data like uart and oled display. (I even have a video output where video signal is generated with just one spi and one timer)
I think java style would be better here like
console = new Formatter (new uartWriter (uart2) )
console.printf("",...)
This way the formatter can be reused and is not bound to any hardware.


I think it is possible to make a minimum bare metal runtime fom scratch. However, there are some requirements: - A team. One man project may never get ready and it will not receive enough attention. It is also often tailored to personal needs which makes it difficult for others to use. - An insider. A project from unknown people will just be ignored. (I think we may have one now)
- A project coordinator. I think we will find one.
- Some people who want to work. We may have a couple.

If people thik we should start, I am with.

Reply via email to