Thread overview
Path of least resistance towards D running on RISC-V
Dec 31, 2016
e-y-e
Dec 31, 2016
Nicholas Wilson
Dec 31, 2016
e-y-e
December 31, 2016
The HiFive1 [1] is the first commercially available RISC-V system on chip, programmable in C using the Freedom E SDK [2].

I have ordered one to tinker with and to help learn C properly, but I think it would be amazing to see D running on systems like this. I am a novice in low level stuff really, so I wonder what is the best way for this to happen? I assume LDC is the best compiler for the job (an LLVM supporting RISC-V exists [3] but needs to be upstreamed).

What's your opinion? Personally I think it would be a good demonstration of D as a cutting-edge systems language if it could be run on resource-constrained RISC-V systems like the HiFive1 (no FP, low memory & CPU).

[1] https://www.sifive.com/products/hifive1/
[2] https://github.com/sifive/freedom-e-sdk/
[3] https://github.com/riscv/riscv-llvm/
December 31, 2016
On Saturday, 31 December 2016 at 11:36:47 UTC, e-y-e wrote:
> The HiFive1 [1] is the first commercially available RISC-V system on chip, programmable in C using the Freedom E SDK [2].
>
> I have ordered one to tinker with and to help learn C properly, but I think it would be amazing to see D running on systems like this. I am a novice in low level stuff really, so I wonder what is the best way for this to happen? I assume LDC is the best compiler for the job (an LLVM supporting RISC-V exists [3] but needs to be upstreamed).
>
> What's your opinion? Personally I think it would be a good demonstration of D as a cutting-edge systems language if it could be run on resource-constrained RISC-V systems like the HiFive1 (no FP, low memory & CPU).
>
> [1] https://www.sifive.com/products/hifive1/
> [2] https://github.com/sifive/freedom-e-sdk/
> [3] https://github.com/riscv/riscv-llvm/

First step is to build the riscv-llvm and then use it to build LDC with it.
If you are trying to do low level stuff then the druntime is probably out.

Search for embedded d (ARM cortex M, 5(?) part series) for how to get rid of it (can't find it atm), or ask Adam.

Anyway, good luck!
December 31, 2016
On Saturday, 31 December 2016 at 11:49:52 UTC, Nicholas Wilson wrote:
> On Saturday, 31 December 2016 at 11:36:47 UTC, e-y-e wrote:
>> ...
>
> First step is to build the riscv-llvm and then use it to build LDC with it.
> If you are trying to do low level stuff then the druntime is probably out.
>
> Search for embedded d (ARM cortex M, 5(?) part series) for how to get rid of it (can't find it atm), or ask Adam.
>
> Anyway, good luck!

Thanks, I'll look around, I have an ARM Cortex M based Arduino board so I could test out the process using that.