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

Flashing Go Modules using ST Microelectronics’ Flash Loader Demonstrator


  • Please log in to reply
9 replies to this topic

#1 Fabien Royer

Fabien Royer

    Advanced Member

  • Members
  • PipPipPip
  • 406 posts
  • LocationRedmond, WA

Posted 10 October 2012 - 10:32 PM

In this video, I demonstrate how to build a simple breakout board to connect a Go! module to an FTDI ‘USB to Serial’ breakout board for the purpose of updating the module’s firmware. The application used to download the firmware to the module is provided by ST Microelectronics. This method has been tested with ARM Cortex Mx and STM8S chips and works very reliably.

http://www.youtube.com/watch?v=jB3nFQso2Vs

Cheers,
-Fabien.

Links & References

Nwazet Source repository
Nwazet firmware files
Map file for the STM32F051x
Adafruit FTDI Friend + extras - v1.0
Adafruit USB FTDI cable - TTL-232R 3.3V
Sparkfun FTDI Basic Breakout - 3.3V
Sparkfun FTDI Cable 5V VCC-3.3V I/O
ST Flash Loader Demonstrator
Netduino Go! IDC Cable Breakout
Netduino GO! Hacking - Breaking out sockets


#2 ransomhall

ransomhall

    Member

  • Members
  • PipPip
  • 12 posts
  • LocationBurlington, VT, USA

Posted 11 October 2012 - 12:02 AM

Fabien - thanks for the video. I used the STM32ReflashApp to update the ShieldBase recently without issue, but am glad to know about the Go firmware corruption problem. I like your "direct" method better.

For those of you looking for a single row breadboard breakout for the Go socket, I sell them for $5 assembled (and $3.50 for just the PCB) here, if you can stand the Gadgeteer logo ;) The pinout is the same. They are also OSHW with Eagle design files available on the linked page, if you want to have some fabbed (oshpark is high quality and very reasonable).

#3 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 11 October 2012 - 01:31 AM

Hi Fabien, Nice tutorial. Thank you for taking the time to make this video, and for posting a map file for STM32F0. That should be helpful for lots of people. Chris

#4 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 11 October 2012 - 01:37 AM

Fabien - thanks for the video. I used the STM32ReflashApp to update the ShieldBase recently without issue, but am glad to know about the Go firmware corruption problem. I like your "direct" method better.

ransomhall -- direct flashing options like this can be very useful...especially when testing custom firmware.

Two quick notes on the STM32 beta flashing app (mentioned in the video):
1. We made updates to the STM32 beta flashing app a while ago which include a workaround for the NETMF resources bug. Users are reporting a 100% success rate with arbitrary binaries; the module manufacturer just needs to run the binary through the LengthenBinFile program first.

2. The data corruption (or more accurately deployment misalignment) issue is particular to the 4.2.0.2 firmware. It seems to happen when deploying firmware updates >128KB. We've posted a patch for the original 4.2.0.0 firmware...and we'll be incorporating that patch into the upcoming 4.2.0.3 firmware later this month.

We're addressing both issues with Microsoft for NETMF 4.3 as well...so the one-time workarounds won't be necessary.

Chris

#5 Gutworks

Gutworks

    Advanced Member

  • Members
  • PipPipPip
  • 363 posts
  • LocationOttawa, Ontario

Posted 11 October 2012 - 03:00 AM

Hi Fabien,

I have used this method several times now and have loved it. I originally saw it posted in a previous Touch Display thread a while back, but had only recently tried it out with your help. I have also started to use the Komodex go!bus Breakout Module instead of my IDC breakout from Proto-advantage. Both work great, but with the Komodex go!bus Breakout Module I have the additional option of flashing with an ST-Link as well. So in case there are some people that don't have the Proto-Advantage IDC breakout, but they do have the breakout module, here's another option.

Attached File  komodex-BreakoutModule-flashing.jpg   98.15KB   26 downloads

As you can see I have both options on one breadboard for demonstration purposes, but prefer the Komodex option. I believe they should be getting more in stock pretty soon.

One word of caution with my setup is the USB-UART dongle I am using is really cheap ($2.00), and I find that it does not source enough amps and is running at about 3.25V. Sometimes it worked, sometimes it didn't, but now I am using an external 3.3V power source and it works brilliantly. I guess you get what you pay for.

Anyway, thank you Fabien for showing us another option to flash modules.

Cheers,
Steve

#6 CW2

CW2

    Advanced Member

  • Members
  • PipPipPip
  • 1592 posts
  • LocationCzech Republic

Posted 11 October 2012 - 06:26 AM

Thanks for the video, Fabien. If I understand it correctly, this mechanism can be used to flash only STM8 microcontrollers which have the bootloader, right?

#7 Gutworks

Gutworks

    Advanced Member

  • Members
  • PipPipPip
  • 363 posts
  • LocationOttawa, Ontario

Posted 11 October 2012 - 02:56 PM

Thanks for the video, Fabien. If I understand it correctly, this mechanism can be used to flash only STM8 microcontrollers which have the bootloader, right?

Hi CW2,

I don't know all of the technical details behind the software, however I do know that it works on the STM32 family as both the touch display and DAQ can be updated using this process as long as you use the correct map file.

Steve

Edit: I now understand the question after Fabien's response and realize how redundant my response was. Sorry!

Edited by Gutworks, 11 October 2012 - 05:25 PM.


#8 Fabien Royer

Fabien Royer

    Advanced Member

  • Members
  • PipPipPip
  • 406 posts
  • LocationRedmond, WA

Posted 11 October 2012 - 05:07 PM

Thanks Stan, You're correct: there must be a bootloader on the chip. Not all versions of the STM8S have a UART bootloader unfortunately, and those require SWIM programming. All ARM Cortex M chips do have one. Cheers, -Fabien.

#9 Fabien Royer

Fabien Royer

    Advanced Member

  • Members
  • PipPipPip
  • 406 posts
  • LocationRedmond, WA

Posted 11 October 2012 - 06:29 PM

About flashing the STM8S serially: this document by ST describes in details the STM8 bootloader and which STM8S versions feature a bootloader: http://www.st.com/in.../CD00201192.pdf This may be helpful for anyone considering building modules based on the STM8S and would like to ensure that they are easily field-upgradable. For versions that do not have an embedded bootloader, it is possible to add one in software and there are reference implementations provided by ST to do so. Cheers, -Fabien.

#10 Gutworks

Gutworks

    Advanced Member

  • Members
  • PipPipPip
  • 363 posts
  • LocationOttawa, Ontario

Posted 13 October 2012 - 05:09 AM

For those of you looking for a single row breadboard breakout for the Go socket, I sell them for $5 assembled (and $3.50 for just the PCB) here, if you can stand the Gadgeteer logo ;) The pinout is the same. They are also OSHW with Eagle design files available on the linked page, if you want to have some fabbed (oshpark is high quality and very reasonable).


I had a look at these a while back and thought it was a great idea, and you can't beat the price!




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.