Netduino Plus Software Architecture and Tools
#1
Posted 30 August 2011 - 09:55 AM
#2
Posted 31 August 2011 - 09:17 AM
#3
Posted 02 September 2011 - 08:17 AM
I would still like to understand role of each software component in the stack of Netduino Plus. I believe it will allow me to take advantage of those things and implement real good stuff on this device. I would like to contribute to this platform on software front and I think there should be a reference material for people like me.
#4
Posted 04 September 2011 - 11:47 PM
#5
Posted 21 October 2011 - 12:13 PM
#6
Posted 21 October 2011 - 12:28 PM
#7
Posted 24 October 2011 - 01:39 AM
At the bottom of the stack, you can program the ARM7 microprocessor with C++. This is called "native" programming because it works on the native hardware without an abstraction layer, aka "bare metal".I want to understand what is the software technology stack of Netduino Plus?
The bootloader is an example of native code. It performs the basic communication tasks with the outside world so programming the Flash memory with additional new firmware is easier.
NetduinoPlus firmware is also native code. It is the software that implements .NET MF on the Arm7 and also implements the NetduinoPlus-specific features, like the networking stack, SD card access, LED, etc.
Once this firmware is loaded, you can finally add the top layer: Application code written in .NET (C# or VB.NET).
I'm a little fuzzy on this one. I know .NET code is NOT compiled down to machine language. (Native code is, btw.) Instead, it compiles down to Common Language Runtime code. On the desktop "full" version of .NET, I think this CLR stuff is JIT-compiled. But with .NETMF, this CLR stuff is interpreted -- part of the .NETMF firmware is interpreting the intermediate byte codes on the fly. I think the intermediate code is placed in a file with a .pe extension.I would also like to know how does my .NET Application actually run on this device?
See above. The ER_FLASH file *is* the firmware load file. TinyBooter is the resident program that helps load firmware.What is the role of components like ER_FLASH, TinyBooterDecompressor etc.?
Don't know.What is the address range of various things in memory for each such component?
MFDeploy is a application that runs on the PC and knows how to talk to the Netduino. It includes lots of diagnostic stuff like "Device Configuration" and memory maps. It is the tool you use to load new firmware. After loading new firmware, you must use MFDeploy's Network Config window to reprogram the MAC address. (See the sticker on the bottom of your Netduino.) Basically, MFDeploy does EVERYTHING except load/debug your user code. (Actually, it can do some debugging. It's a super-tool!)What is the use of MFDeploy?
You don't need the Porting Kit. Unless you want to be a hotshot and compile your own custom firmware. Then you do. The Porting Kit is the [native] source code for .NETMF and some extra stuff to help the hotshots craft a custom implementation. It's called a porting "kit" because it is NOT ready-to-go on Netduino or even on ARM7. It is the stuff you'd need to do-it-yourself. Netduino firmware is built on the foundation provided by the Porting Kit. 99.9% of us do not need to know about anything about it.Why do we need Porting Kit?
Secretlabs writes it and we all "own" it because it's open source. The latest firmware release also includes TinyBooterDecompressor.bin in the .zip file. The source code for all the pieces is including further down in the firmware thread as (See SourceCode_Netduino_AllEditions_4.2.0.0_RC3.zip)Who owns TinyBooterDecompressor and from where we can get its updates and archives?
Good question. This wiki page tells you how to check AFTER you've loaded it. (But before you've loaded the firmware.)How can I know what version of TinyBooterDecompressor is thereon my Netduino Plus?
- Vishal Kaushik likes this
#8
Posted 24 October 2011 - 01:52 AM
After loading new firmware, you must use MFDeploy's Network Config window to reprogram the MAC address.
Note: Chris Walker says he's going to fix that. But he's been saying that for a long time. Maybe he can't figure out how?
- Vishal Kaushik likes this
#9
Posted 24 October 2011 - 02:22 AM
Note: Chris Walker says he's going to fix that. But he's been saying that for a long time. Maybe he can't figure out how?
It's because of how the MAC address is stored. We're working on a GUI called "Netduino Update" which helps load firmware onto your Netduino...but it's a ways out. The theory is that we'll read in your current MAC address before flashing your unit--and then write it back out after you reflash.
But if you're erasing your Netduino, the MAC address stored in flash goes away. So for the SAM-BA flashing step...the current hardware may always need you to type back in your MAC address after doing a major update.
Chris
- Vishal Kaushik likes this
#10
Posted 21 November 2011 - 05:07 PM
#11
Posted 03 December 2011 - 06:13 PM
There is a very good Architecture Diagram IC148840.jpg 25.03KB 43 downloads (though I am not sure what WPF is doing there ) but then can somebody use it as a reference and provide similar structure for Netduino Plus? Thanks in advance.
#12
Posted 05 December 2011 - 05:53 PM
I was searching stuff on MSDN for this topic and found this link Understanding .NET Micro Framework Architecture
There is a very good Architecture Diagram IC148840.jpg 25.03KB 43 downloads (though I am not sure what WPF is doing there ) but then can somebody use it as a reference and provide similar structure for Netduino Plus? Thanks in advance.
WPF is there because on other devices that have an interface to an LCD use WPF for presentation.
Take a look at the GHI electronics devices, I think the Embedded Master EX Dev kit comes with an LCD on it, so does Tahoe.
I have one of the original Embedded Master dev kits from GHI, kind of interesting little device, but expensive.
- Vishal Kaushik likes this
#13
Posted 05 December 2011 - 07:21 PM
There is rather detailed description in the .NET Micro Framework Porting Kit documentation, available for download at CodePlex (RCLPort.chm), which answers a lot of your questions.I was searching stuff on MSDN for this topic
Sorry, but at the architecture level Netduino Plus is no different than any other device/board, the diagram applies to it as well. However, the picture does not really include all the features, there are many PAL and Library parts missing (e.g. networking).but then can somebody use it as a reference and provide similar structure for Netduino Plus?
#14
Posted 06 December 2011 - 01:41 AM
There is rather detailed description in the .NET Micro Framework Porting Kit documentation, available for download at CodePlex (RCLPort.chm), which answers a lot of your questions.
Sorry, but at the architecture level Netduino Plus is no different than any other device/board, the diagram applies to it as well. However, the picture does not really include all the features, there are many PAL and Library parts missing (e.g. networking).
Thanks for your reply. My idea of referring MSDN link was to give a reference and say that is how I was looking to have information for Netduino I.e. not as detailed as it is in chm file.
There are few things that ARM(Atmel) and Netduino provide, I was expecting to see those in the diagram. In layered representation, it becomes very clear what uses what and what sits parallel to what?
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users