Yes, Cuno is right about the foreseeable future. But, I can tell you this: we already wrote SPI, I2C, GPIO for Windows.Devices namespace. We did it by creating the basics for a new, modern, truly OO object model at the .NET Framework level and using it from the Windows.Devices implementation. We have the basic support for System.Threading.Tasks in the works and 80% complete. We have Windows.System.Theading above it done. I am adding native threading on CMSIS-Core by hooking up the PendSV andf SysTick native exceptions in the Cortex core to our fully managed and fully customizable thread scheduler. Steve is way ahead in implementing RTOS based threading using CMSIS-RTOS for larger apps and external stacks rapid porting and compatibility. Jeff is 80% done with Ref counted GC for future C++/CLI support.
And all in less than 3 weeks.
That is because writing C# for embedded rocks, and it is the right (fun) thing to do!
I cannot tell you today that we will be compatible with NETMF, but things are going great, so I am keeping that on the table.
Let Microsoft feel the love, we want more people to push a good Alpha out before Christmas!
In the meantime, NETMF 4.4 is coming, likely in a few days. (ironing out the last of the known networking issues, we are taking the time to do it right)
(gdb) bt
#0 0x00005d0e in void Microsoft.Zelig.Runtime.TargetPlatform.ARMv7.ProcessorARMv7M.Context.RegistersOnStack::Assign(Microsoft.Zelig.Runtime.TargetPlatform.ARMv7.ProcessorARMv7M.Context.RegistersOnStack&)_-973264496 (other=0x1000555c,
this=0x10007f5c)
#1 0x0000026e in void Microsoft.Zelig.Runtime.TargetPlatform.ARMv7.ProcessorARMv7M.Context::ContextSwitch(Microsoft.Zelig.Runtime.ThreadManager,Microsoft.Zelig.Runtime.TargetPlatform.ARMv7.ProcessorARMv7M.Context.RegistersOnStack&)_-914444782 (
registers=<optimized out>, tm=<optimized out>) at ProcessorARMv7M_ContextSwitch.cs:374
#2 0x00000228 in void Microsoft.Zelig.Runtime.TargetPlatform.ARMv7.ProcessorARMv7M.Context::PendSV_Handler()_-287133902 () at ProcessorARMv7M_ContextSwitch.cs:472
#3 <signal handler called>
0xfffffff9: Cannot access memory at address 0xfffffff8
#4 0x0000951a in void Microsoft.DeviceModels.Chipset.CortexM.Drivers.InterruptController::CauseInterrupt()_124915640 () at InterruptController.cs:368
#5 0x0000312e in void Microsoft.CortexMOnMBED.Peripherals::CauseInterrupt()_-526723228 () at Peripherals.cs:52
#6 0x000050ba in void Microsoft.Zelig.Runtime.ARMv7ThreadManager::StartThreads()_-1627412167 (this=<optimized out>) at ARMv7ThreadManager.cs:85
#7 0x00003d96 in void Microsoft.CortexMOnMBED.ThreadManager::StartThreads()_509920601 (this=0x1000015c <G8>) at MemoryManager.cs:18
#8 0x000001e4 in void Microsoft.Zelig.Runtime.Bootstrap::Initialization()_1691794474 () at Bootstrap.cs:94