Whatever device you purchase, they will come with a firmware on it - but you should always update it to the latest, that gets installed when you install the GHI SDK. This is an easy update process, so you won’t have a problem.
When I said C socket, I meant the letter C not the language. C on a Gadgeteer socket is a CAN enabled socket.
It seems like you may not quite understand what netmf is and what you’re asking here about. A quick rundown is that netmf provides an operating environment for user-written code, running on a hardware platform. And Gadgeteer are some additional libraries that wrap certain devices (modules) with drivers that make them easy to program. Netmf is programmed in C# or VB.
What we discussed above was a dual solution - hardware to meet the CAN bus connection, as well as the first two software layers necessary (not to be confused with OSI layers!). Hardware wise, you use the CAN module plugged into a Cerberus (or other mainboard that has CAN capability on a C socket). Software wise, the Cerberus comes with a netmf firmware loaded which you can then keep updated (as I mention, update it when you get it) and you can then create your user-written code leveraging the Gadgeteer module’s driver, and deploy that to your Cerberus. That then means you never have to delve into the depths of C code for the microcontroller you’re using.
Your C# code then just needs to deal with the data that you can get off the bus (via the driver). Does all that help give you a little more idea about how you can achieve this ?
No, that’s not correct. There is a GHI feature called “RLP” that allows you to load limited C/C++ code in conjunction with Netmf. But if you wanted to remove netmf, the Cerberus is purely a STM32F4 based hardware platform, but then you have to do ALL the hard work that NETMF includes.
To program in Netmf you need to program in C# or VB (but that’s not exactly what you said). Netmf is different to .Net, so don’t get them confused. Netmf doesn’t do everything you can do in .Net. You don’t have to be a .Net developer to program for Netmf, but if you were I can imagine the transition time would be very quick.
No, that is not correct. You can extend hardware however you like. You would write the driver in C# (managed driver) or if needed you could drop down into C/C++ on GHI’s products you could use RLP. But largely, most features can be done in managed code, so it’s unlikely that you would need to go outside netmf for a new driver.
This is no different to any other hardware device added to a microcontroller - you use IO pins to interface between the micro and the other hardware, and your driver understands how to talk to it, so I am not sure what distinction you want to make here ?