D for embedded system
Timo Sintonen
t.sintonen at luukku.com
Tue Jan 8 12:13:53 PST 2013
There are hundreds of ARM processors from several vendors from
megahertz to gigahertz and from kilobytes to gigabytes. When we
talk about ARMs it should be good to mention what kind of ARM we
are using.
My interest is stm32f4 but everything I have done should be
useful in the whole cortex-m series.
A minimum library has been working for a while and I think that D
really is my choice. There have been a little silence when I have
investigated linker problems and I am not able to use all my time
for this anyway. When we now have so many interested people, I
think I should go on.
My library is done with minimum set of files with minimum changes
to them. There are about 20 changes required to get it compiled.
This version can be run with 64 kb rom and 16 kb ram. It would be
possible to get the library smaller by commenting out all
unnecessary functions from all files. At this moment I want to
keep the library as close to the original as possible.
This library does not yet have threads, but I have planned a
minimun thread library which is somewhere between fiber and
thread. Garbage collector is the gcstub version, which just calls
directly malloc and free. The library does not require libc but
there should be a proper libgcc. (a libgcc for cortex-m3 and -m4
is not built by default when compiling gcc) The only functions
needed outside are malloc, free, calloc and realloc and
__aeabi_read_tp which returns the tls pointer.
Next I think I will make a list of required changes and then I
will make a simple makefile to compile the library. If anybody is
interested, please send an email to me and I will send those
files back to you.
More information about the D.gnu
mailing list