(It's possible the reason it's more reliable is I have rebuilt the MAX3232 serial interface to use shorter leads and be nearer the STM32VLDiscovery)
The web page is at http://code.google.com/p/stm32flash/
To build it, find a working directory and type :
svn checkout http://stm32flash.googlecode.com/svn/trunk/ stm32flash-read-only
cd stm32-flash-read-only
sudo make install
You will need subversion and build-essential installed for this to work in Ubuntu - these commands install the stm32flash program in /usr/local/bin
You can then run the program (as before) by pressing reset and entering
stm32flash /dev/ttyS0
which port you use depends on the way your system is set up, ttyS0 is the normal main serial port and will be the most common one. Hopefully this will display
stm32flash - http://stm32flash.googlecode.com/
Serial Config: 57600 8E1
Version : 0x22
Option 1 : 0x00
Option 2 : 0x00
Device ID : 0x0420 (Medium-density VL)
RAM : 8KiB (512b reserved by bootloader)
Flash : 128KiB (sector size: 4x1024)
Option RAM : 15b
System RAM : 2KiB
Resetting device... done.
Serial Config: 57600 8E1
Version : 0x22
Option 1 : 0x00
Option 2 : 0x00
Device ID : 0x0420 (Medium-density VL)
RAM : 8KiB (512b reserved by bootloader)
Flash : 128KiB (sector size: 4x1024)
Option RAM : 15b
System RAM : 2KiB
Resetting device... done.
You may get :
stm32flash - http://stm32flash.googlecode.com/
Serial Config: 57600 8E1
Failed to get init ACK from device
in which case press the STM32 reset switch and try again - if that doesn't work check the loop back tests.
Hi, Paul! I will purchase a STM32 discovery development board. Very useful your blog about it. Did you try to program this development board using USB under linux? Do you know if OpenOCD can do it?
ReplyDeleteMy regards,
Alexandre
I'm on Ubuntu 10.04 - hence the need to use the Bootloader :)
ReplyDeleteI did spend some time looking at USB traffic on the STM8S Discovery (similar gadget) but I don't understand it well enough. Someone who posts on the ST Forum is going to have a crack at it (apparently) so may get somewhere.
I noticed OpenOCD - they apparently have the specs from ST under a no-distribution policy but so far it hasn't got as far as code. I suppose the problem they have is that they can't release the code as source, because it would be easy to figure out how ST do it from that source. That leaves a binary module (like Nvidia) or possibly obfuscated C code ?
I think ST are barking mad. This is a brilliant board in many ways - much quicker than AVR/PIC and much more powerful hardware, and ridiculously cheap. Only the LPCXPresso is competition for it. But they seem to make it as difficult as possible for people to use it.
I am the author of this flash tool... if the reset does not work, try the -c option, it will resume the connection without sending the initial auto-baud configuration bytes.
ReplyDeleteThanks to a kind user we now have windows support in stm32flash, you may want to update your article.
ReplyDeletevery nice !!!
ReplyDeleteI used stm32loder.py under Linux,
but this one is much better :-)
thanks,
www.rcos.eu
This compiled and ran great on my mac under snow leopard. I'm building the development environment now using the *summon-arm-toolchain* tool from github.
ReplyDeleteHello,
ReplyDeleteI would like to use these stm32flash program on windows, but I don't found the code anywhere...
neither on the link up, does anyone still know where I could download it?
Did you know if it work with the stm32f2xx series?
Thanks a lot for your help.
Best regards.
Antoine
https://sourceforge.net/p/stm32flash/wiki/Home/
Delete@antoine.odonne - The windows support is built in, compile it using CYGWIN
ReplyDeleteCould you please tell me why I am getting the bellow error
ReplyDelete~/stm32flash-read-only$ stm32flash /dev/ttyS0
stm32flash - http://stm32flash.googlecode.com/
Serial Config: 57600 8E1
read_byte: Success
stm32flash: stm32.c:94: stm32_read_byte: Assertion `0' failed.
Aborted.
I am using stm32f2xx board and set the jumper setting for embedded boot mode loader.