Jump to content
cubeberg

Windows IoT program

Recommended Posts

(Tried to quote @@jpnorair. Anyone else have problems with quote?)

 

The .NET framework for Linux is Mono. I remember it as being someone's hobby project, but a colleague tells me that Microsoft are now actively supporting this. The .NET microframework is significantly cutdown compared to the full .NET framework (but still has a lot). Strangely the microframework is interpreted compared to the full framework which is JIT compiled. You'd really think that this would be the case where full native compilation would make sense.

 

I also found it odd that when asked what dev boards you had experience of that no .NET framework stuff like Netduino was mentioned. I know it's not that popular, but you think that's one time it would be on the list.

 

Neither did the STM32F429I board got mentioned, even if I guess it is rarer than the Netduino. The price tag is very attractive, but the it looks like it is not very active for the .NET group on this one.

 

http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/PF259090

Share this post


Link to post
Share on other sites

... but have now seen some strong hints that it'll be .NET microframework.

Eww, I got an Netduino and some of the older Fez boards but never got into them. You don't get real time control and even worse, you'll never know when garbage collection kicks in.

Share this post


Link to post
Share on other sites

The .NET framework definitely doesn't suit things where you need real time control. Your C# code gets compiled to IL and is interpreted (with garbage collection). It's more than capable of handling your "average" Arduino-level project though. I've had a Netduino Plus managing the lighting and door in my garage without missing a beat for 3 years. It's running a small webserver, serving up simple pages and responding to REST URLs, so it's providing its own UI.

 

The big plus is it is comfortable for someone like me (a C# developer - and there are a lot of us around) to get into microcontroller stuff. Compared to Arduino, the IDE and debugging is a dream. It feels just like running C# on the desktop in Visual Studio.

 

If you're happy using something like a MSP430 then it will feel a little too basic and it's probably not the device for you! Anything timing critical or high performance - definitely not.

 

For anyone shifting from desktop development to microcontroller it's perfect. It's what got me started. You can probably tell that I feel a little defensive over my old friend. Having said that though, I haven't felt the urge to use one since I moved up to a MSP430.

Share this post


Link to post
Share on other sites

Ah well, that was a highly appreciated excuse for NOT digging into them and C#. Somehow my brain is not really wired for OOP. Meanwhile I solved some minor programming exercises in Python, so there is some hope now.  :blush:

 

Have a nice weekend,

Stephan

Share this post


Link to post
Share on other sites

The .NET framework for Linux is Mono. I remember it as being someone's hobby project, but a colleague tells me that Microsoft are now actively supporting this.

It isn't being actively supported as such, but they did release more open documentation on the .NET framework and accepted an agreement with xamarin allowing xamarin to continue with their work on mono without fear of litigation from microsoft. About as close to supporting it as you're going to get really.

Share this post


Link to post
Share on other sites

I've been reading up all I can on the galileo and its workings, of course just about everything out there so far assumes the default setup with the galileo having the yocto linux distro preinstalled and supposedly being programmed from the modified arduino IDE which won't be so useful. Still, learning all you can about it can't do any harm.

 

Considering intel seem to want the quark being used as a microcontroller, its a bit odd it has none of its own GPIO, but then I guess it is x86 and its not like x86 is world renowned for having GPIO. The galileo uses a GPIO expander on the i2c bus instead. Apparently the chip itself has some sort of high speed mode, but the arduino software doesnt support it out of the box, it has been the cause of many concerns among the arduino users as I/O is otherwise quite slow (some LCD's dont work for instance), whether we will be stuck with the same issue with microsofts tools or not remains to be seen.

Onboard level translation between 3.3v and 5v, jumper selectable to run at 3.3v native if you wish. A bit of an odd one, the IORef pin will be set by the 3.3/5v jumper. The analogInput range will also match the state of this jumper so in 3.3v mode you can only record upto 3.3v without damage supposedly. Yet the ADC will always reference signals to 5v (the AREF pin is non functional). That could have resulted in some headscratchers if I hadn't read it beforehand.

The onboard EEPROM is also an i2c device. That is an odd choice to me, I'm sure they could have emulated the EEPROM in a file on the flash instead although I guess most people are hardly short of i2c addresses.

There is also a VIN jumper. There is no onboard 5v regulator on the galileo so the VIN pin is instead connected to 5v. Of course if you have a shield which genuinely uses VIN this will cause problems so there is a jumper to disconnect it. Personally I'd have preferred if it wasnt connected in the first place, but I am not everyone. If I do get the board, the jumper will be coming off and staying off.

Under the boards own arduino firmware, mPCIe cards are not supported, you have to use the larger SD card install to access them. Even then only the intel N135 and N6205 cards are supported (and the N6205 is a half size card requiring an adaptor), its possible to install more though. This information is less relevant to us, remains to be seen what the situation will be with microsofts tools.

 

I'm interested to see what microsofts setup is going to be with these boards. Then it will be time to come up with some project ideas.

Share this post


Link to post
Share on other sites

Thank you for the perspectives SixSixSevenSeven.

 

What little I have read about the galileo has been puzzling - I haven't really made sense of where it fits among the other products out there.

In specifications it appears to come someplace between the Connected Launchpad and the Raspberry Pi

(more RAM than the former, not as many built-in peripherals as the latter), but at 3x the cost.  

Maybe comparable to various routers (DD-WRT, etc.), but without the extra networking gear?

 

The best hypothesis I have so far is that galileo might be good for handling Windows only or legacy hardware (if it will handle devices that only have Windows drivers, and especially ones that won't work with newer versions of Windows)?  But that is just a guess, I have no evidence to support it.  Thoughts?

Share this post


Link to post
Share on other sites

Was thinking that the lack of graphics options was a massive disadvantage for it vs the pi. But then it struck me, mPCIe is a PCIe 1x interface with USB too.

http://www.aliexpress.com/item/Mini-PCIe-To-PCI-express-slots-expension-adapter-mPCIe-to-PCI-e-1x-riser-card-supports/1920719568.html

Right, so we can attach full size PCIe 1x cards to mPCIe.

http://www.tomshardware.co.uk/forum/320434-33-tomshardware

http://www.tomshardware.co.uk/forum/249291-30-card

not only that but you can run some GPUs off of PCIe 1x.

 

Well drivers will stand in the way and its a damn awkward setup, but if you wish, it seems it isnt a technical impossibility to get graphics out of the galileo.

 

 

 

But with that slightly off topic thought out of the way.

Nope. No idea where the galileo really fits into things these days. I havent seen one running anything but yocto, debian or ROS (technically atop debian) yet so Microsoft wise it remains to be seen what will happen. Apparently it is capable of running a modern UEFI, but windows 8 doesnt support the i586 architecture, it requires i686. I havent seen anything about it running a good old fashioned BIOS.

Share this post


Link to post
Share on other sites

I don't know if anything has changed. But on the front of GFX card the PCIe standard should enable 16x cards to run in a 1x slot. I remember someone running a beefy AMD card (HD6970, maybe) from an atom based eeepc. Of course this was running windows, so drivers already existed. That would be the biggest hurdle.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...