Repairing the N2+

Hi all, I have a Netduino 2 plus that took some damage when a lightning struck the power lines outside my house. I can communicate with the device i.e. upload code and single-step it but there is no control of the IO pins anymore. The headers on the board looks like they are tied directly to the chip w/o buffers, so my question is if it’s possible to replace the chip with one purchased from e.g. DigiKey or Mouser.

Thanks
/Rene

Technically what you are asking is possible. It is however difficult to do unless you are accomplished with a Soldering iron.

I would think about purchasing a new board rather than trying to repair the damaged one.

Regards,
Mark

Great, I have no doubt that I can get the micro off, clean the board, and solder the new micro on - my question was if a new virgin chip would work in the sense that it doesn’t need any special flashing that can’t be done with the tools downloadable from this site.

Thanks Mark, I’ll give it a shot.
/Rene

Interesting point. I have used the flashing tools on chips that I have erased (erased using the ST-Link hardware). I can’t think of any reason why they should not work.

Regards,
Mark

tools downloadable from this site.

Been awhile since I did this with a N2+ but as Nevyn said you can use ST-Link and ST’s programming software tool to get the bootloader onto the N2+

IIRC you also need to order and install the JTag programming header on the N2+ board to connect the ST-Link to. I thought there was a post about this on the old archived forum that gave the part number.

So not everything from this site but the rest is on ST Micro’s web site.

Can also use a USB to Serial RS-232 cable.

http://forums.netduino.com/index.php?/topic/11058-tinybooter-for-netduino-plus-2/?hl=bootloader#entry59440

In normal operation boot0 and boot1 are pulled low.
To enter bootloader pull boot0 high.
Use DFU demo to load tinybooter.
Reset - use MFDepoly to load TinyClr

More bits of information:
http://forums.netduino.com/index.php?/topic/11816-netduino-plus-2-firmware-v432-update-1/
http://forums.netduino.com/index.php?/topic/11969-upgrading-bootloader-to-42/?hl=%2Bflash+%2Bbootloader#entry63332
http://forums.netduino.com/index.php?/topic/11969-upgrading-bootloader-to-42/?hl=bootloader
http://forums.netduino.com/index.php?/topic/10544-native-code-in-c/?hl=%2Bjtag+%2Bheader#entry56778

Thanks for the info, I got the micro off the board and awaiting a new one to arrive.
I don’t have a STlink and I’m not planning on purchasing one so I’ll see if I have a one of the USB->RS232 adapters laying around somewhere to use, if not I’ll throw the N2 in the trash.

Thanks guys,
/Rene

You dont need a STlink you can do it all via USB.

  • Hold SW1 and power the board which will enter bootload mode

  • Use DfuSe Demo to load timtbooter

  • Re power the board

  • Use MFDeploy to load erconfig and erflash

  • Done.

I’d think the bootloader needs to be present before it can enter Bootloader mode, or does a brand new STM chip come with it pre-programmed ?

This document indicates that it does:


/Rene

All STM32’s have the bootloader pre programmed.

I could not get DfuSe Demo to run on my PC (win10) but I read about an STM32CubeProgrammer that seems like it’s a one-stop-shop for programming STM32 micros.
I soldered the new ARM onto the board, booted up with the button pressed and the CubeProgrammer connects to the ARM

I cannot find the TinyBooter file - can you give me a link ?

Thanks
/Rene

Odd you cannot get Dfuse running in Win 10 as thats what a use…

Firmware files are here http://developer.wildernesslabs.co/Netduino/About/Downloads/

Allright, after a reboot DfuSe runs fine on win10 - I didn’t use it to flash anything yet but it seems to run.

I looked at that link but failed to locate the TinyBoot and the TinyClr - are these files packaged into something else ?

I ran the v2.0.3-beta of the “NetduinoDeploy.WPF.exe” and it downloaded what looked like the latest firmware and flashed the device.

I then installed WS2015 with the plugins etc. I build a small program just to test the connection, but it could not see the device over TCPIP or USB.

Thereafter I downloaded the Zadig tool and changed the USB driver to WinUSB in hope of that would allow me to deploy an application, but nothing happened except now when I power up the device with the button pressed, DfuSe demo tells me it recognizes the device but it’s in DFU mode - is this why the deploy tool can’t see it anymore ?

/Rene

To be honest i havent used the Netduino tools to update firmware as i run NETMF 4.4 on custom hardware (similar processors).

Normally you use Dfuse Demo with the board in DFU mode and upload TinyBooter, then you reboot the board and load erconfig and erflash with MFDeploy which will be the underlay code used in NetduinoDeploy.

It wouldn’t be overly hard to compile N2+ firmware for 4.4 and VS2017 which would give you all the necessary files for the above method to update the firmware.

It would be great to use VS2017 for the N2+, but I think I have it in a usable state, here is where I’m at:
I cannot get the fancy looking Netduino Deploy 2.0.3-beta tool to talk to the N2+ again, it consistently tells me to restart the application with the N2+ in bootloader mode… not sure why it lost the ability to talk to the N2+, but the MFDeploy tool seems to have the same/similar capabilities.

I uninstalled the WinUSB driver, uninstalled the SDK, put the N2+ in DFU mode and reinstalled the SDK - this restored the original STM USB driver - this caused the DfuSe demo application to see the N2+ again.

I used the “Dfu File manager” to create a .dfu file from the .s19 formatted firmware v.4.3.2.1 included in one of the tools you pointed me to. Then I used DfuSe to flash the .dfu file.

I can’t figure out what to do with the ER_CONFIG.S19 and ER_FLASH.S19, the MFDeploy tool you mentioned has an option to deploy an “image file” but it has to be a .HEX or .NMF formatted file - I tried to use DFU File manager tool to convert the .S19 files to .HEX but the MFDeploy tool couldn’t read them.

Thank you so much for all the help
/Rene