
CoreCLR ARM 32-bit progress - barhun
https://github.com/dotnet/coreclr/issues/3977
======
jsingleton
Nice work. It will be great to use ASP.NET Core on a Pi with official support.

I tried .NET out on the Pi using Mono, years ago when it was relatively new
but after the software floating point OS was deprecated. The weird hardware
floating point CPU made it pretty much unusable. Even simple things like
DateTime objects would fail to work correctly.

Similar issues were in Java IIRC but they had a special build of that. I think
Sony had a fixed build of Mono but I haven't tried it. It will be good to have
official .NET support outside of Win 10 IoT.

~~~
MrBuddyCasino
Interesting, imho Java makes no guarantees about FP portability if you don't
enforce it with the strictfp keyword, you'd get 80bit on x87 and 64bit on
other architectures.

Why would this cause failing tests though? Does that mean they relied on
extended precision?

~~~
jsingleton
Not sure of the specifics. Java SE is now included with the official OS
(Raspbian/NOOBS) [0]. When the Pi first launched you had to use the soft FP
version of the OS or Java wouldn't work but this had a significant performance
penalty. They added official support for hard FP a few years ago [1]. I
believe the .NET issue was similar in that the VM (CLR i.e. JVM) didn't
support the hard FP version of the OS. FP on the Pi processor is a bit weird
and a non-standard implementation from what I've read.

P.S. In researching this post I noticed that one of my projects (a globe wake
lamp) has been included in the latest project book (p108) [2]. First I've
heard of this! This is actually an old version and there is a newer write-up
on my blog [3].

[0]:
[https://www.raspberrypi.org/downloads/noobs/](https://www.raspberrypi.org/downloads/noobs/)

[1]: [https://www.raspberrypi.org/blog/oracle-java-on-raspberry-
pi...](https://www.raspberrypi.org/blog/oracle-java-on-raspberry-pi/)

[2]: [https://www.raspberrypi.org/magpi-
issues/Projects_Book_v2.pd...](https://www.raspberrypi.org/magpi-
issues/Projects_Book_v2.pdf#110) [pdf]

[3]: [https://unop.uk/pi-glowbe-mark-2/](https://unop.uk/pi-glowbe-mark-2/)

------
FlorianRappl
This is a major step forwards. Having .NET on ARM is one of the most important
milestones imho.

~~~
pjmlp
It was already there, but not the main version.

.NET Compact and Micro had ARM versions.

There is also an Arduino (AVR) that uses .NET Micro as their OS.

~~~
FlorianRappl
Exactly :)! For the Arduino you are potentially referring to the Netduino,
which allows you to write applications targeting the .NET Micro Framework.

~~~
teh_klev
Re: Netduino - I've got one of them, works really well with Visual Studio,
i.e. hitting break points, stepping through code running on the board etc.

------
su8898
Great work. Can't help but notice most of the contributors in this issue are
Samsung Electronics employees. Interesting to see Samsung in the .net world!

~~~
sequence7
You can build Tizen apps in .Net now I imagine they're working to improve
compatibility across all Tizen devices. Samsung is also now a member of the
.Net foundation

[https://www.tizen.org/blogs/dh0922/2016/tizen-.net-
developer...](https://www.tizen.org/blogs/dh0922/2016/tizen-.net-developer-
preview)

~~~
pjmlp
Which will be the fourth reboot on the Tizen SDK stack, so I don't know if
they will actually win anything with it.

They already went through Meego APIs, replaced by Bada OS C++ APIs, replaced
by C and Enlightenment APIs, alongside HTML5 apps.

As a developer I would be weary to invest any resources in so unstable OS
design.

~~~
cptskippy
Assuming they implement the entirety of the .NET APIs then a developer would
have to invest very little to get on their platform. One would hope anyways.

------
headmelted
Fantastic!

I was looking into this just yesterday to see how far away it was, so the
timing is really fortunate for me.

Between this and the VS Code builds we should now have pretty solid support
for developing .NET on Pi and/or Chromebook, so I'm really excited to get
rolling with it, especially seeing as I have some free time this week. I'll
try to write up my experiences too in case it helps anyone else.

------
alexellisuk
Looking forward to an official Docker image for this. The Raspberry Pi is
probably the main board we think of when people say 'ARM' \- but the Pine64
and Odroid C2 are maybe better suited - being 64-bit and the Odroid having
twice as much memory.

What kind of .NET runs on Windows 10 IoT though (on the RPi Model 3)??

~~~
Kipters
.NET Core + .NET Native, but that's on Windows, not Linux (.NET Core has been
running on Windows ARM since Windows Phone 8)

------
lostmsu
Still waiting for it to run on any Android device.

