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.

Reply via email to