-----------------------------------------------------------------

[*] Emulating binary name: stm32flash
[*] Emulator used: qemu-arm-static
[*] Using root directory: /logs/s115_usermode_emulator/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract (1/2)
[*] Using CPU config: 
[*] Emulating binary: /usr/bin/stm32flash

[*] Change permissions +x to /logs/s115_usermode_emulator/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/./usr/bin/stm32flash.
[*] Emulating binary ./usr/bin/stm32flash with parameter NONE
Warning: Not a tty: NONE
Error probing interface "serial_posix"
Cannot handle device "NONE"
Failed to open port: NONE
stm32flash 0.5

http://stm32flash.sourceforge.net/


[*] Emulating binary ./usr/bin/stm32flash with parameter -v
ERROR: Device not specified
Usage: ./usr/bin/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[:m]	Only erase n pages before writing the flash, optionally
			max m pages per erase
	-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
	-R		Reset device at exit.
	-i GPIO_string	GPIO sequence to enter/exit bootloader mode
			GPIO_string=[entry_seq][:[exit_seq]]
			sequence=[[-]signal]&|,[sequence]

GPIO sequence:
	The following signals can appear in a sequence:
	  Integer number representing GPIO pin
	  Named gpio with the name enclosed within square brackets
	  'dtr', 'rts' or 'brk' representing serial port signal
	The sequence can use the following delimiters:
	  ',' adds 100 ms delay between signals
	  '&' adds no delay between signals
	The following modifiers can be prepended to a signal:
	  '-' reset signal instead of setting it

Examples:
	Get device information:
		./usr/bin/stm32flash /dev/ttyS0
	  or:
		./usr/bin/stm32flash /dev/i2c-0

	Write with verify and then start execution:
		./usr/bin/stm32flash -w filename -v -g 0x0 /dev/ttyS0

	Read flash to file:
		./usr/bin/stm32flash -r filename /dev/ttyS0

	Read 100 bytes of flash from 0x1000 to stdout:
		./usr/bin/stm32flash -r - -S 0x1000:100 /dev/ttyS0

	Start execution:
		./usr/bin/stm32flash -g 0x0 /dev/ttyS0

	GPIO sequence:
	- entry sequence: GPIO_3=reset, GPIO_2=reset, 100ms delay, GPIO_2=set
	- exit sequence: GPIO_3=set, GPIO_2=reset, 300ms delay, GPIO_2=set
		./usr/bin/stm32flash -i '-3&-2,2:3&-2,,,2' /dev/ttyS0
	GPIO sequence adding delay after port opening:
	- entry sequence: delay 500ms
	- exit sequence: rts=high, dtr=low, 300ms delay, reset gpio=high
		./usr/bin/stm32flash -R -i ',,,,,:rts&-dtr,,,[reset]' /dev/ttyS0

[*] Emulating binary ./usr/bin/stm32flash with parameter -V
./usr/bin/stm32flash: invalid option -- 'V'
ERROR: Device not specified
Usage: ./usr/bin/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[:m]	Only erase n pages before writing the flash, optionally
			max m pages per erase
	-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
	-R		Reset device at exit.
	-i GPIO_string	GPIO sequence to enter/exit bootloader mode
			GPIO_string=[entry_seq][:[exit_seq]]
			sequence=[[-]signal]&|,[sequence]

GPIO sequence:
	The following signals can appear in a sequence:
	  Integer number representing GPIO pin
	  Named gpio with the name enclosed within square brackets
	  'dtr', 'rts' or 'brk' representing serial port signal
	The sequence can use the following delimiters:
	  ',' adds 100 ms delay between signals
	  '&' adds no delay between signals
	The following modifiers can be prepended to a signal:
	  '-' reset signal instead of setting it

Examples:
	Get device information:
		./usr/bin/stm32flash /dev/ttyS0
	  or:
		./usr/bin/stm32flash /dev/i2c-0

	Write with verify and then start execution:
		./usr/bin/stm32flash -w filename -v -g 0x0 /dev/ttyS0

	Read flash to file:
		./usr/bin/stm32flash -r filename /dev/ttyS0

	Read 100 bytes of flash from 0x1000 to stdout:
		./usr/bin/stm32flash -r - -S 0x1000:100 /dev/ttyS0

	Start execution:
		./usr/bin/stm32flash -g 0x0 /dev/ttyS0

	GPIO sequence:
	- entry sequence: GPIO_3=reset, GPIO_2=reset, 100ms delay, GPIO_2=set
	- exit sequence: GPIO_3=set, GPIO_2=reset, 300ms delay, GPIO_2=set
		./usr/bin/stm32flash -i '-3&-2,2:3&-2,,,2' /dev/ttyS0
	GPIO sequence adding delay after port opening:
	- entry sequence: delay 500ms
	- exit sequence: rts=high, dtr=low, 300ms delay, reset gpio=high
		./usr/bin/stm32flash -R -i ',,,,,:rts&-dtr,,,[reset]' /dev/ttyS0

[*] Emulating binary ./usr/bin/stm32flash with parameter -h
Usage: ./usr/bin/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[:m]	Only erase n pages before writing the flash, optionally
			max m pages per erase
	-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
	-R		Reset device at exit.
	-i GPIO_string	GPIO sequence to enter/exit bootloader mode
			GPIO_string=[entry_seq][:[exit_seq]]
			sequence=[[-]signal]&|,[sequence]

GPIO sequence:
	The following signals can appear in a sequence:
	  Integer number representing GPIO pin
	  Named gpio with the name enclosed within square brackets
	  'dtr', 'rts' or 'brk' representing serial port signal
	The sequence can use the following delimiters:
	  ',' adds 100 ms delay between signals
	  '&' adds no delay between signals
	The following modifiers can be prepended to a signal:
	  '-' reset signal instead of setting it

Examples:
	Get device information:
		./usr/bin/stm32flash /dev/ttyS0
	  or:
		./usr/bin/stm32flash /dev/i2c-0

	Write with verify and then start execution:
		./usr/bin/stm32flash -w filename -v -g 0x0 /dev/ttyS0

	Read flash to file:
		./usr/bin/stm32flash -r filename /dev/ttyS0

	Read 100 bytes of flash from 0x1000 to stdout:
		./usr/bin/stm32flash -r - -S 0x1000:100 /dev/ttyS0

	Start execution:
		./usr/bin/stm32flash -g 0x0 /dev/ttyS0

	GPIO sequence:
	- entry sequence: GPIO_3=reset, GPIO_2=reset, 100ms delay, GPIO_2=set
	- exit sequence: GPIO_3=set, GPIO_2=reset, 300ms delay, GPIO_2=set
		./usr/bin/stm32flash -i '-3&-2,2:3&-2,,,2' /dev/ttyS0
	GPIO sequence adding delay after port opening:
	- entry sequence: delay 500ms
	- exit sequence: rts=high, dtr=low, 300ms delay, reset gpio=high
		./usr/bin/stm32flash -R -i ',,,,,:rts&-dtr,,,[reset]' /dev/ttyS0
[*] Emulating binary ./usr/bin/stm32flash with parameter -help
Usage: ./usr/bin/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[:m]	Only erase n pages before writing the flash, optionally
			max m pages per erase
	-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
	-R		Reset device at exit.
	-i GPIO_string	GPIO sequence to enter/exit bootloader mode
			GPIO_string=[entry_seq][:[exit_seq]]
			sequence=[[-]signal]&|,[sequence]

GPIO sequence:
	The following signals can appear in a sequence:
	  Integer number representing GPIO pin
	  Named gpio with the name enclosed within square brackets
	  'dtr', 'rts' or 'brk' representing serial port signal
	The sequence can use the following delimiters:
	  ',' adds 100 ms delay between signals
	  '&' adds no delay between signals
	The following modifiers can be prepended to a signal:
	  '-' reset signal instead of setting it

Examples:
	Get device information:
		./usr/bin/stm32flash /dev/ttyS0
	  or:
		./usr/bin/stm32flash /dev/i2c-0

	Write with verify and then start execution:
		./usr/bin/stm32flash -w filename -v -g 0x0 /dev/ttyS0

	Read flash to file:
		./usr/bin/stm32flash -r filename /dev/ttyS0

	Read 100 bytes of flash from 0x1000 to stdout:
		./usr/bin/stm32flash -r - -S 0x1000:100 /dev/ttyS0

	Start execution:
		./usr/bin/stm32flash -g 0x0 /dev/ttyS0

	GPIO sequence:
	- entry sequence: GPIO_3=reset, GPIO_2=reset, 100ms delay, GPIO_2=set
	- exit sequence: GPIO_3=set, GPIO_2=reset, 300ms delay, GPIO_2=set
		./usr/bin/stm32flash -i '-3&-2,2:3&-2,,,2' /dev/ttyS0
	GPIO sequence adding delay after port opening:
	- entry sequence: delay 500ms
	- exit sequence: rts=high, dtr=low, 300ms delay, reset gpio=high
		./usr/bin/stm32flash -R -i ',,,,,:rts&-dtr,,,[reset]' /dev/ttyS0
[*] Emulating binary ./usr/bin/stm32flash with parameter --help
./usr/bin/stm32flash: invalid option -- '-'
Usage: ./usr/bin/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[:m]	Only erase n pages before writing the flash, optionally
			max m pages per erase
	-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
	-R		Reset device at exit.
	-i GPIO_string	GPIO sequence to enter/exit bootloader mode
			GPIO_string=[entry_seq][:[exit_seq]]
			sequence=[[-]signal]&|,[sequence]

GPIO sequence:
	The following signals can appear in a sequence:
	  Integer number representing GPIO pin
	  Named gpio with the name enclosed within square brackets
	  'dtr', 'rts' or 'brk' representing serial port signal
	The sequence can use the following delimiters:
	  ',' adds 100 ms delay between signals
	  '&' adds no delay between signals
	The following modifiers can be prepended to a signal:
	  '-' reset signal instead of setting it

Examples:
	Get device information:
		./usr/bin/stm32flash /dev/ttyS0
	  or:
		./usr/bin/stm32flash /dev/i2c-0

	Write with verify and then start execution:
		./usr/bin/stm32flash -w filename -v -g 0x0 /dev/ttyS0

	Read flash to file:
		./usr/bin/stm32flash -r filename /dev/ttyS0

	Read 100 bytes of flash from 0x1000 to stdout:
		./usr/bin/stm32flash -r - -S 0x1000:100 /dev/ttyS0

	Start execution:
		./usr/bin/stm32flash -g 0x0 /dev/ttyS0

	GPIO sequence:
	- entry sequence: GPIO_3=reset, GPIO_2=reset, 100ms delay, GPIO_2=set
	- exit sequence: GPIO_3=set, GPIO_2=reset, 300ms delay, GPIO_2=set
		./usr/bin/stm32flash -i '-3&-2,2:3&-2,,,2' /dev/ttyS0
	GPIO sequence adding delay after port opening:
	- entry sequence: delay 500ms
	- exit sequence: rts=high, dtr=low, 300ms delay, reset gpio=high
		./usr/bin/stm32flash -R -i ',,,,,:rts&-dtr,,,[reset]' /dev/ttyS0
[*] Emulating binary ./usr/bin/stm32flash with parameter --version
./usr/bin/stm32flash: invalid option -- '-'
ERROR: Device not specified
Usage: ./usr/bin/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[:m]	Only erase n pages before writing the flash, optionally
			max m pages per erase
	-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
	-R		Reset device at exit.
	-i GPIO_string	GPIO sequence to enter/exit bootloader mode
			GPIO_string=[entry_seq][:[exit_seq]]
			sequence=[[-]signal]&|,[sequence]

GPIO sequence:
	The following signals can appear in a sequence:
	  Integer number representing GPIO pin
	  Named gpio with the name enclosed within square brackets
	  'dtr', 'rts' or 'brk' representing serial port signal
	The sequence can use the following delimiters:
	  ',' adds 100 ms delay between signals
	  '&' adds no delay between signals
	The following modifiers can be prepended to a signal:
	  '-' reset signal instead of setting it

Examples:
	Get device information:
		./usr/bin/stm32flash /dev/ttyS0
	  or:
		./usr/bin/stm32flash /dev/i2c-0

	Write with verify and then start execution:
		./usr/bin/stm32flash -w filename -v -g 0x0 /dev/ttyS0

	Read flash to file:
		./usr/bin/stm32flash -r filename /dev/ttyS0

	Read 100 bytes of flash from 0x1000 to stdout:
		./usr/bin/stm32flash -r - -S 0x1000:100 /dev/ttyS0

	Start execution:
		./usr/bin/stm32flash -g 0x0 /dev/ttyS0

	GPIO sequence:
	- entry sequence: GPIO_3=reset, GPIO_2=reset, 100ms delay, GPIO_2=set
	- exit sequence: GPIO_3=set, GPIO_2=reset, 300ms delay, GPIO_2=set
		./usr/bin/stm32flash -i '-3&-2,2:3&-2,,,2' /dev/ttyS0
	GPIO sequence adding delay after port opening:
	- entry sequence: delay 500ms
	- exit sequence: rts=high, dtr=low, 300ms delay, reset gpio=high
		./usr/bin/stm32flash -R -i ',,,,,:rts&-dtr,,,[reset]' /dev/ttyS0

[*] Emulating binary ./usr/bin/stm32flash with parameter version
Warning: Not a tty: version
Error probing interface "serial_posix"
Cannot handle device "version"
Failed to open port: version
stm32flash 0.5

http://stm32flash.sourceforge.net/



-----------------------------------------------------------------