D for embedded system
ibuclaw at ubuntu.com
Sun Oct 21 06:11:15 PDT 2012
On 20 October 2012 19:40, Johannes Pfau <nospam at example.com> wrote:
> Am Sat, 20 Oct 2012 17:27:33 +0200
> schrieb "Timo Sintonen" <t.sintonen at luukku.com>:
>> On Saturday, 20 October 2012 at 14:35:44 UTC, Martin Nowak wrote:
>> > I recently did a project on the STM32F0-Discovery board.
>> > After having used a nice arm-none-eabi-*/openocd toolchain I
>> > wonder what is needed to build a cross-gdc.
>> > As these devices are really short on Flash and RAM I would've
>> > only translated the peripheral headers
>> > without using any runtime.
>> > Not sure though if you can get classes without full typeinfos
>> > support.
>> Object is a parent for all classes so nothing can be compiled
>> without it. One test I made shows that object and typeinfo would
>> take 16-20 kb flash. In addition we need some libc code and
>> application code. STM32F0 may be too small. My target is STM32F4
> It's sad that we don't have a documentation about features which
> require runtime support. If you manage to get this working please make
> some notes about what features need the runtime (You can use the gdc
> wiki, gdcproject.org/wiki or the d wiki:
> http://prowiki.org/wiki4d/wiki.cgi?FrontPage )
> BTW: Here's the dmd commit which introduced betterc:
> but right now it only disables moduleinfo generation, afaics.
> You probably already noticed that you can compile stuff without druntime
> support just fine (compile with -nophoboslib), as long as you only use c
> import core.stdc.stdio;
> extern(C) in main(int argc, const char* argv)
> printf("Hello World!\n".ptr);
> return 0;
> As soon as a feature requires runtime support you'll get linker errors.
What an awful name for a flag... (I suppose I better use
-ffreestanding / -fhosted to map to that then).
*(p < e ? p++ : p) = (c & 0x0f) + '0';
More information about the D.gnu