ARM Cortex-M D Runtime Port
Joakim
joakim at airpost.net
Sun Jan 5 23:20:28 PST 2014
On Monday, 6 January 2014 at 01:32:09 UTC, Mike wrote:
> On Sunday, 5 January 2014 at 17:07:10 UTC, Joakim wrote:
>> What new platform are you porting druntime to? I'm guessing
>> linux/ARM Cortex-M based on your previous posts. Hopefully, I
>> can reuse some of your work when I try ARM out.
>
> I'm porting to an STM32F4
> (http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1577) MCU,
> simply because that's the only hardware I have, and I'm
> familiar with it, but I hope it will be portable to any ARM
> Cortex-M MCU with little or no modification. I'm doing a
> bare-metal port (no OS) so Linux way out of scope for me.
>
> My goal to make something like the Arduino. So the end product
> would be end up with the following:
> * The hardware (I/O board). Think Arduino DUE
> (http://store.arduino.cc/index.php?main_page=product_info&cPath=11&products_id=243)
> * A compiler specific to the hardware (LCD with ARM Thumb
> backend, or GDC cross-compiled for arm-none-eabi
> * A port of the D runtime. Definitely not a complete port.
> Just enough to work the I/O and make use D programming
> constructs (classes, structs, exceptions, thread local storage,
> etc...)
> * A library, or set of libraries, to make programming the IO
> convenient. See the Arduino reference to get a an idea
> (http://arduino.cc/en/Reference/HomePage)
> * Possibly an IDE specific to microcontroller development.
>
> I'd like to eventually create a very tiny real-time OS like
> FreeRTOS(http://www.freertos.org/) and the like, but that is a
> very long-term goal.
>
> Other goals are:
> * Assist the LDC and GDC folks with supporting this platform,
> as this adventure truly stands on their shoulders and we're not
> going to get anywhere without them.
> * Show that the D language can replace C/C++ in the 32-bit MCU
> realm.
>
> Timo Sintonen is also well on his way to an ARM Cortex-M port
> (https://bitbucket.org/timosi/minlibd), but he's taking quite a
> different approach than I. I'm taking more of a bottom up
> approach and hope to discard the peripheral library, the C
> library, and anything else C/C++ and do everything in D.
>
> I've created a simple "hello world" tutorial here
> (http://wiki.dlang.org/Extremely_minimal_semihosted_%22Hello_World%22)
> so people interested in this or similar endeavors can have a
> convenient place to start.
>
> At the moment, I don't have any source code to publish, as
> everything I've built so far is simply for academic purposes (I
> have a lot to learn). But, I'd be happy to share what I have
> and what I've learned, and I hope in the coming months I'll
> have a repository with something useful.
>
> Mike
Great, nice to hear about a pure D approach to embedded. :) Keep
us updated on your progress. I suggest that you publish your
work-in-progress patches to a public repo somewhere, as I've been
doing with my Android/x86 port, so that those interested can
follow your work.
More information about the Digitalmars-d
mailing list