Netduino home hardware projects downloads community

Jump to content


The Netduino forums have been replaced by new forums at community.wildernesslabs.co. This site has been preserved for archival purposes only and the ability to make new accounts or posts has been turned off.
Photo

.NETMF vs C


  • Please log in to reply
3 replies to this topic

#1 johncc

johncc

    New Member

  • Members
  • Pip
  • 6 posts

Posted 15 May 2013 - 11:57 AM

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



#2 NooM

NooM

    Advanced Member

  • Members
  • PipPipPip
  • 490 posts
  • LocationAustria

Posted 15 May 2013 - 05:29 PM

my opinoin: yes, it lacks some documentation, especially for the netmf core and porting kit.

than: there is no nice ide for compiling the firmware itself, and gcc support is limited (at least right now for stm32f4's)

 

i found it easiert to write c/c++ code for my stm than messing around with the firmware.

 

the compiler secretlabs uses is very expensive, there are some ports of the firmware, but well, i personally havent found it easwy to use.

 

 

right now iam playing a lot with 8 bit avr's - they have a brilliant (and for me well known) ide - atmel studio is just visual studio with a different compiler. they are very fast - a 16mhz avr beats my 168mhz stm32f4 a lot - thats becouse netmf is interpreted. there are lots of tutorials and code.

 

tuts and samples is something i havent found a lot of the stm32's.

 

 

dont get me wrong - netduino/netmf is kinda nice, but my opinion is it will take some more years of work to make it really good/outstanding.


Edited by NooM, 15 May 2013 - 08:54 PM.
bad language filter


#3 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 15 May 2013 - 05:48 PM

Hi johncc,

 

We've set up the newer firmware source so that it's pretty easy to change your pin configurations (to move around your SPI ports, change the # of SPI ports you want to use, etc.) when you go from prototype to production.  There has also been a lot of work done to enable free GCC compiler support--so that should really help in these scenarios too. 

 

We are spoiled here by our $2000+ compiler, and we want everyone to have free tools for that :)  One of the main goals with Netduino gen2 was to have enough free space that GCC-compiled firmware--in the cases where it is larger--will still fit with plenty of room to spare for your app.

 

As far as app development goes, NETMF provides a really amazing developer experience and helps us create products more quickly with more features and less potential for contention issues and bugs.  We build real-world commercial hardware at Secret Labs using NETMF.

 

For documentation, yeah it would be nicer if there were more comments in the NETMF documentation.  And you bring up a good point about SPI speeds and such not having a good reference source.  Let me include that as part of a larger conversation we're having and see what we can come up with.

 

Thank you,

 

Chris



#4 nakchak

nakchak

    Advanced Member

  • Members
  • PipPipPip
  • 404 posts
  • LocationBristol, UK

Posted 19 May 2013 - 12:16 PM

Personally I have always treated the netmf source as the documentation, but I fully agree more documentation would be a boon. I personally feel documentation is an issue across the whole netmf community not just netduino. That said there is a lot of info in the porting kits chm files. I often look to netmf for delivering applications and using as a controller, then implement in c or asm bespoke functionality as a separate (hardware) module, also makes ut easy to reuse the functionality with other platforms and also for evaluating new platforms... Nak.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

home    hardware    projects    downloads    community    where to buy    contact Copyright © 2016 Wilderness Labs Inc.  |  Legal   |   CC BY-SA
This webpage is licensed under a Creative Commons Attribution-ShareAlike License.