-
Notifications
You must be signed in to change notification settings - Fork 2
Bugfixes and new feature #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
ea38caa
d4bc7af
a16c607
2698157
1efa3ff
7709c35
7a29e34
1a7b6dc
c16c145
ca5cd10
dac268d
d6fa49b
9285f35
1685dd0
b311995
1a67f2c
2b87859
9947ea8
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,112 @@ | ||
| stm32flash | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We can need a README file, but pasting in the whole wiki page is maybe not right.
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This was done for github only, to make a project good looking from repository. Sure, duplicating info from man can be an overhead |
||
| ========== | ||
|
|
||
| stm32flash 0.5 was released 2016-02-11 and is available at | ||
| https://sourceforge.net/projects/stm32flash/files/ | ||
|
|
||
| The 0.5 version adds | ||
| - support for multiple bank sizes | ||
| - improved serial port support on Windows | ||
| - improved erase functionality | ||
| - improved hex parser | ||
| - many new devices and device info corrections | ||
|
|
||
| Thanks to Antonio Borneo and many other contributors (see git log and AUTHORS file) | ||
|
|
||
| The 0.4 version is the work of Antonio Borneo and includes support for programming over I2C. See the included I2C.txt for more information. The code has been refactored to make it easier to add other transports. | ||
|
|
||
| Features | ||
| -------- | ||
|
|
||
| - UART and I2C transports supported | ||
| - device identification | ||
| - write to flash/ram | ||
| - read from flash/ram | ||
| - auto-detect Intel HEX or raw binary input format with option to force binary | ||
| - flash from binary file | ||
| - save flash to binary file | ||
| - verify & retry up to N times on failed writes | ||
| - start execution at specified address | ||
| - software reset the device when finished if -R is specified | ||
| - resume already initialized connection (for when reset fails, UART only) | ||
| - GPIO signalling to enter bootloader mode (hardware dependent) | ||
|
|
||
| Usage | ||
| ----- | ||
|
|
||
| See the included manual page for up-to-date, complete usage instructions (PDF version) | ||
| Usage synopsis: | ||
|
|
||
| stm32flash [-bvngfhc] [-[rw] filename] [tty_device | i2c_device] | ||
| -a bus_address Bus address (e.g. for I2C port) | ||
| -b rate Baud rate (default 57600) | ||
| -m mode Serial port mode (default 8e1) | ||
| -r filename Read flash to file (or - stdout) | ||
| -w filename Write flash from file (or - stdout) | ||
| -C Compute CRC of flash content | ||
| -u Disable the flash write-protection | ||
| -j Enable the flash read-protection | ||
| -k Disable the flash read-protection | ||
| -o Erase only | ||
| -e n Only erase n pages before writing the flash | ||
| -v Verify writes | ||
| -n count Retry failed writes up to count times (default 10) | ||
| -g address Start execution at specified address (0 = flash start) | ||
| -S address[:length] Specify start address and optionally length for | ||
| read/write/erase operations | ||
| -F RX_length[:TX_length] Specify the max length of RX and TX frame | ||
| -s start_page Flash at specified page (0 = flash start) | ||
| -f Force binary parser | ||
| -h Show this help | ||
| -c Resume the connection (don't send initial INIT) | ||
| *Baud rate must be kept the same as the first init* | ||
| This is useful if the reset fails | ||
| -i GPIO_string GPIO sequence to enter/exit bootloader mode | ||
| GPIO_string=[entry_seq][:[exit_seq]] | ||
| sequence=[[\-]signal]&|,[&|,][sequence] | ||
| -R Reset device at exit. | ||
|
|
||
| Examples: | ||
| Get device information: | ||
| stm32flash /dev/ttyS0 | ||
| or: | ||
| stm32flash /dev/i2c-0``` | ||
|
|
||
| Write with verify and then start execution: | ||
| stm32flash -w filename -v -g 0x0 /dev/ttyS0 | ||
|
|
||
| Read flash to file: | ||
| stm32flash -r filename /dev/ttyS0 | ||
|
|
||
| Read 100 bytes of flash from 0x1000 to stdout: | ||
| stm32flash -r - -S 0x1000:100 /dev/ttyS0 | ||
|
|
||
| Start execution: | ||
| stm32flash -g 0x0 /dev/ttyS0 | ||
|
|
||
| GPIO sequence: | ||
| - entry sequence: GPIO_3=low, GPIO_2=low, delay 100ms, GPIO_2=high | ||
| - exit sequence: GPIO_3=high, GPIO_2=low, delay 300ms, GPIO_2=high | ||
| stm32flash -R -i -3&-2,2:3&-2,,,2 /dev/ttyS0 | ||
|
|
||
| Bug reports and patches | ||
| ----------------------- | ||
|
|
||
| Please file bugs and post patches in the official tracker https://sourceforge.net/p/stm32flash/tickets/ | ||
|
|
||
| Help and hints | ||
| -------------- | ||
|
|
||
| Find help on our [Hints] page about | ||
| - Linux and CH340 USB-serial adapters | ||
| - MacOSX and PL2303 USB-serial adapters | ||
|
|
||
| Building from source | ||
| -------------------- | ||
|
|
||
| On most platforms just run "make" in the source folder. For building on Windows see also [Build]. | ||
|
|
||
| Authors | ||
| ------- | ||
|
|
||
| stm32flash was originally written by Geoffrey McRae and is since 2012 maintained by Tormod Volden. See the git log for the many other contributors. | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems superfluous since it will be defined in serial_posix.c anyway.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree, this was left here after our experiments. I'll remove it.
What about speed opts? Is it needed to have those defines in code and here? Why not enable it by default? Driver won't let you set unsupported speed.