ARM Cortex-M Microcontroller startup files

Jens Bauer via Digitalmars-d digitalmars-d at puremagic.com
Thu Apr 30 14:00:50 PDT 2015


On Thursday, 30 April 2015 at 06:43:18 UTC, Timo Sintonen wrote:
{snip}
> I think it is possible to make a minimum bare metal runtime 
> from scratch.
{snip}

Yes I think it won't be too difficult.
All are good points that we should have in mind, while deciding 
on how we proceed.
-Also Mike's input is valuable. I agree with both of you.

Mike, Timo, Martin and Johannes:
Here's what I planned a few week ago ...
1: Get the toolchain working for Cortex-M0, Cortex-M3 and 
Cortex-M4. (Done, thanks to you).
2: Create a bunch of startup files for different devices as an 
appetizer. (Done, but ongoing)
3: Create a linker-script suitable for the casual MCU programmer. 
(Almost done)
4: Create a simple Makefile as an example. (Pending)
5: Create a set of files, which can be shared across all MCUs 
(for instance containing the *int*_t) types. This could later 
grow to a bare-metal druntime. (Pending)
6: Create a couple of driver files for one of the STM32 
microcontrollers. (Pending)
7: Create a complete example project, similar to those already 
written in C, which demonstrates that it can be done completely 
in D.
...
10: Present this to Reinhard Keil, as the ARM Keil tools now use 
LLVM. I am sure Reinhard will find the D language intriguing. But 
as he is very busy, I would like to wait until I have a fully 
functioning example, which shows that D is now ready for 
microcontrollers.

If step 10 is done too early, it might not be as appealing as if 
we have a working demo.

Mike, Timo and I all have different "approaches" and "needs".
We can definitely use this to our benefit. D)iversity is great. =D
I have the impression that Martin seems to have a good overview 
and also knowledge about different MCUs.


More information about the Digitalmars-d mailing list