I have coded many micros/DSPs in C/assembly. I was very curious to try Netduino/.NETMF to make code development faster and easier. After doing two projects now with Netduino I am pretty impressed, but I also have two major concerns (from my limited perspective) which would seriously limit how often I would use Netduino/.netmf in future projects (versus, say, c code on the stm32):
1. Documentation - I haven't found a good source of documentation (aside from the forums which is hit or miss) for .netmf as implemented on netduino. I know there is the microsoft .netmf documentation, but this is sparse and intentionally not specific to any hardware. For example, when using an SPI port, what is the min/max clk frequency on a given version netduino? What are the available SPI ports and how do they map to the hardware? Wouldn't it be nice if there was online documentation where I could look up the SPI.Configuration and get all of this type of information rather than having to search it out bit by bit in forums or experimentally? I always feel that I "luck out" when I find these basic answers whereas when programming in C for example, it might take some work to get to the answer but I always know where to look and have complete confidence that I can get to the answer.
2. Limitation in easily extending to other platforms - I start prototyping with a .netduino, but want to eventually switch to my own hardware based on the .netduino (to eliminate a lot of unused hardware and add my own hardware). In doing so, I want to make use of some of the resources I free up (e.g. an SPI port that was used for ethernet which I don't need is now available for general use). However, it seems to me that the only way to do this in the general case would be to update the firmware to make use of these resources. I haven't done this but it seems to me this might be harder than just writing the native stm32 c code in the first place.
My question: I am a newbie at netduino/.net mf. For the experienced users out there, am I wrong in my concerns? Are there sources of documentation out there which I don't know about? Are there easier ways to extend .netmf to new hardware platforms that I don't know about -- or is it not as big a deal as I think to do that?
Many thanks for any input,
John