Bare metal D
teachop
is-not at given.com
Sun May 5 13:25:58 PDT 2013
On Sunday, 5 May 2013 at 18:00:45 UTC, Timo Sintonen wrote:
> On Sunday, 5 May 2013 at 10:56:53 UTC, Iain Buclaw wrote:
>> On May 4, 2013 6:40 PM, "teachop" <is-not at given.com> wrote:
>>>
>>> Looking for help / advice getting D running in an embedded
>>> system. The
>> compiler building for gdc and newlib went smoothly (mostly)
>> thanks to this
>> web page:
>>> http://gdcproject.org/wiki/Cross%20Compiler/crosstool-NG
>>>
>>> I have given the bitbucket-hosted timosi/minlibd a fair bit
>>> of time and
>> not been able to link correctly and get an output. The
>> library built
>> wihtout error. The example there isn't complete. My targets
>> are AVR32 and
>> ARM Cortex M3 but am first focusing only on the M3.
>>>
>>> Any advice on getting this going? Thanks.
>>
>> Seek me out if there are any blockers preventing you from
>> doing this.
>> Otherwise please document everything you do. :)
>>
>
> I have been able to compile, link and run a test program in
> stm32f4 with the tools and libs in my repo.
> The major thing that is missing is memory allocation. The one I
> used was heavily related to my hardware and I am now making a
> more general version.
>
> Another file that is missing is a startup file. The file should
> have code that sets the state of the processor so that we can
> call main. This means usually setting the clock oscillator,
> interrupt controller and memory controller. This file is
> totally processor dependent and the processor vendor does
> provide this. The license of those files may prevent me to
> share them in my repo.
>
> There has also been issues in linking. When an operating system
> loads an elf file, it can look the elf headers and find out the
> section locations. When the file is loaded into flash memory,
> this information is lost. Linker script variables are used to
> mark the locations but they may still be wrong.
>
> I have been a busy lately but I try to get a working example
> as soon as possible. It is possible and it has been done and it
> has worked.
>
> Meanwhile, I am interested to hear what kind of processors you
> are using. I can answer stm32 related questions if that is your
> target.
Thanks for the replies both of you. Probably the best approach
is if I order in an inexpensive ST Micro "discovery" board so I
can track along with your work. My first real goal is for ARM
and specifically the NXP LPC1788.
More information about the D.gnu
mailing list