Difference between revisions of "Netduino Plus 2 Firmware"

From Eleccelerator Wiki
Jump to: navigation, search
(Created page with "notes about modifying the firmware of [http://netduino.com/netduinoplus2/specs.htm Netduino Plus 2] [http://wiki.netduino.com/Building-Netduino-Plus-2-Firmware-4-2-2-0-with-Y...")
 
(Native Code Interop)
 
(One intermediate revision by one user not shown)
Line 2: Line 2:
  
 
[http://wiki.netduino.com/Building-Netduino-Plus-2-Firmware-4-2-2-0-with-Yagarto-GCC-4-6.ashx Instructions on how to build the default firmware using YAGARTO 20110429], I've gotten this to work. Do not attempt to use any other GCC version, only 4.6.0 works, 4.6.2 will not work. Do not attempt to update the firmware if a new one is available.
 
[http://wiki.netduino.com/Building-Netduino-Plus-2-Firmware-4-2-2-0-with-Yagarto-GCC-4-6.ashx Instructions on how to build the default firmware using YAGARTO 20110429], I've gotten this to work. Do not attempt to use any other GCC version, only 4.6.0 works, 4.6.2 will not work. Do not attempt to update the firmware if a new one is available.
 +
 +
=Recovery=
 +
 +
Unplug everything, hold down the button while plugging in the USB connector. This should bring up DFU mode (appears as STM32 Bootloader). Use DefuSe Demo to load the "factory image" .dfu file on. Use MFDeploy to set the network MAC address.
 +
 +
=Updating Firmware=
 +
 +
It's a better idea to use MFDeploy to update the firmware using the ER_CONFIG and ER_FLASH files (the S19 record version). This should work as long as the bootloader doesn't change.
  
 
=Native Code Interop=
 
=Native Code Interop=
 +
 +
Try to keep all of the native calls inside separate static classes, without any fields or properties, in order to avoid C++ compiler errors. The stub generation doesn't seem to generate everything you need.
  
 
==Pin Mapping==
 
==Pin Mapping==

Latest revision as of 23:05, 4 September 2013

notes about modifying the firmware of Netduino Plus 2

Instructions on how to build the default firmware using YAGARTO 20110429, I've gotten this to work. Do not attempt to use any other GCC version, only 4.6.0 works, 4.6.2 will not work. Do not attempt to update the firmware if a new one is available.

Contents

[edit] Recovery

Unplug everything, hold down the button while plugging in the USB connector. This should bring up DFU mode (appears as STM32 Bootloader). Use DefuSe Demo to load the "factory image" .dfu file on. Use MFDeploy to set the network MAC address.

[edit] Updating Firmware

It's a better idea to use MFDeploy to update the firmware using the ER_CONFIG and ER_FLASH files (the S19 record version). This should work as long as the bootloader doesn't change.

[edit] Native Code Interop

Try to keep all of the native calls inside separate static classes, without any fields or properties, in order to avoid C++ compiler errors. The stub generation doesn't seem to generate everything you need.

[edit] Pin Mapping

See "STM32_GPIO_functions.cpp", it uses

GPIO_TypeDef* port = Port(pin >> 4);

and

#define Port(port) ((GPIO_TypeDef *) (GPIOA_BASE + (port << 10)))

[edit] Other People's Tutorials

From miloush.net

From Adeneo Embedded

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox