Quelltext /~heha/hs/bl/stm32flash.zip/stm32flash.exe

MZ@	!L!This program cannot be run in DOS mode.

$qp555+7лA45
жC2ݿ<Rich5PELq]a/F n8`@Od.textDF `.data`J@R RNQ^QnQ|QQQ@QQQQQQ(QQ QbRzRRBRRRRRRRRS
SSS$S.S8SBSLSVS`SjStS~SSSSSSSSSSST@O@O@O@O@@I@@5@@
@`c@   @DTc@  @B@c@  @E0c@  @Hc@ @ @c@ ( @b@ P @b@  @ b@   @(b@  @b@  @0b@  @xb@   $@x2hb@  @"Lb@  @90b@ @ @8b@ 0 @Fa@  @a@0  $@xa@0   ,@x#a@0  $@x3a@0  $@xXa@0  $@x1a@0  $@xAa@0  $@x!a@0  $@x4a@0   ,@xca@0  $@xRpa@@  $@I`a@@  <@QPa@@   <@P@a@A    @W0a@  @@% a@   @a@   @G`@  P @ `@ @ @)`@  @'`@  @ 6`@  @ 7`@ @ @ 5`@1  @xxpb`@1  @xxp`@1  @xpa`@1  @xpAt`@ P @	l`@   @	d`@ @ @abus_addressbratemmoderfilenamewfilenameCujkoenvncountgaddressSaddress[:length]FRX_length[:TX_length]sstart_pagefhcRiGPIO_stringB!8@@8@$"@8@m:@z:@:@:@%;@h:@v:@h;@:@:@:@:@:@h:@:@IJ
`IJ
` @ Hh0AAIJh@\AB
`HI` @x6M%+t*It!ItItItT`@ø<`@ø$`@ø`@ø`@ø`@ÊD$SVW3jF:ËD$_t!8-u
8Xu~2ShPh@8-u
8Xu^hPh@YYFF;}$=d@jSPv`@SSvF׃3_^[VF@|Pp@Y@^D$V@tV3Y^AVD$tV3Y^SUVW}tj5|$\$7v*VSux@u;7t
~+܃'jX)73_^][SVW~uj*|$\$v!SWv|@|	F+jX3_^[QVt$;wI|$t9q@;q؅t/+Q
jX;r+zBt|$t	tjX3^AQVt$~W
j_Jǀ9tNu_^UeSVWUEs]*}tV2ҋMUހ>-uF~<-)~~uEj=W@YEYu	W1Y+ljEE8Exhpc@W@YEYu	W1Y+9EuuFWP1t}W1YD먋E3tX8u1}tG{u?@Vu@hc@P@"EtxKCt9-t8E؋EMWU;@Vu@hc@P@V?_]]<=uC#Ë؋uth8t
V0YtFhpc@V@YYt@8uuYEEuLPuhc@,u:Et9-tE"3Puhtc@@@P@MSUuGE8D]_^[U$}SVWtj2juh@YEYjEPux@3}
}}
}:eEjPux@EPEPEPEhd@P@EUM+tJJtJJuMeGȉENQv@}YYFvuFhP/EFFM~FeevvEjPux@EPEhd@P@MEكt
HHtHHtE8EEEEE;ErEjPux@j_;EPEhd@P@uxEuqEHt{Ht+uSMMu~uN8F;rB+ȋ;~v(Wv@N+RhQF-~jjX%j^up@Y3up@Y3_^[S\$VW;NF+;wFWPt$-~;3_^[VWҋt+j:R@YYtxptV=-YPjX_^ÃD$S@UVWhd@5}@3L$ t$(|$$D$YY39l$<-u!l$FL$D$P@Yt/V@P@YYFFL$P@|$rU-@jhd@VՃu-jhd@VՃujjhd@VՃuj_l$W|$<,u/hhd@5}@FL$ӃjdD@<&u}FL$}Bt$Uhd@5}@ӋL$(t$WPd@ud@P5}@YYt$Whpd@5}@ӋT$$D$P]OP@@h<d@PӃt$ @@t$,h$d@PӃj_hd@5}@YY_^][@hd@@P@Y3Yt3VWt+>:t&j:V@YYu	V*Y+P֋jX_^SVt$Wtj:V@YYt֋(<'_^[@Q@h8e@P@
}@tj}@VttV+*Y
}@^tjPj@UQSVhWa`@3+CH9}@ud9}@u\5@ESPu֣~@E8:TESSuփ;ã}@:@h0g@@P@YYj@@hf@@P@YYj@
~@5@ESPu֋M(e@9:uESSu֣,e@(e@;
,e@;;ÿuǣ(e@;u
,e@|U|P5@;~@hf@@PY=(e@Y9=,e@I@hf@@PY=,e@Y,@5@@hTf@P֡@h8f@@Pփj@@hf@@P@YYj@9~@tjYj@~@9e@t-@he@@P@YY@Vj@Ee@t3SSu@$e@ZbHHHtPH8HG3~@SSu@}@@he@@P@YYj@39}@uV9~@uNSSu@=}@;|~@@hxe@@P@YYj@@hf@@P@YYj@%0e@l3SSu@;ãe@O@hde@@P@YYj@@j@oiHHthHHt!H3SSu@4e@u&Yt@hLe@@P@YYj@juh e@%=~@tjYj@~@h=~@tjY^j@~@@E}@3=~@tjY)j@~@rHtlHHt@Ht1H@he@@P@YY@
	~@=~@tjYj@~@39}@u9~@uSSu@}@l@hf@@P@YYj@39~@t3ɀrA=j@3r@~@E}@8-u8Xu
~@~@_^[%
~@PP@@hdg@P@It<It3It*It!ItItIt~@øh@øg@øg@øg@øg@øg@øg@U<@SVuWj_3ۃ Sh%@@Ή}]}@#9e@u3;ãe@uhm@~@t-=	~@t$h\m@@@P@YYo;u=
~@t
@@}@WhD%@<@=~@5@=~@uaj#;Yt	3=~@}@u<S5}@R;=~@uuP
}@;tj}@j";YtH@Pm@X@3S
}@5}@P;tCP}@5@p@@h@m@Pփ5}@@}@ph,m@5}@փj_-j";YtH@Pm@X@}@}@e@
;ã}@u5e@hm@RP}@phl@5}@փ=0e@t"}@
}@wt
}hl@
}@Pj _!;Yt
0e@Q5}@3}@x@Phl@5}@֡}@@t1}@@Phl@5}@֡}@@Phl@5}@փ}@~@HAul@q@RPhhl@5}@֡}@ @P@++
RPh,l@5}@֡}@jZ@H	HRjZH+H
RQhk@5}@֡}@@H +HAQhk@5}@֡}@D@H(+H$
Qhk@5}@֋~@}@}@u&9}@u}@!U@X@E*EP}@Hء}@HA;v
hk@"=}@t#EPE}@@@9EvEjPEa+}}}@M@;Hj}@H9Yw
;YsyB~@H9Yw
;Ysy)9Yw;Y wy G9Y$w
;Y(sy(
ҍ<u{҉}t;v}jSE}@uH;yHju+}~@*(e@hk@5}@EYY
}@j5}@Pt#P}@p@@h@m@P5}@@;]YEM+;ȉEwMu
}@PWu~
}@uRPupEe+}EԃemԋQ+Q=X@EM$Whtk@5}@5}@@;}jhlk@5}@YY'Wh(k@hk@u/hj@5}@ր%
~@YY
}@mthj@u3hj@5}@ր%
~@YY
}@ uhj@uhj@5}@YYt3}@uH&;uEP}@H9EthDj@
}@WuA@h,j@@@PYEY&u3hj@5}@ր%
~@YY
}@Nhi@ehi@5}@֡,e@YYH(e@E;MrE=
~@tE+
}@P=~@Eu0t,hi@5}@YY
}@Wu_t
h,j@25}@@;]YE9EEM+;ȉEwME+E9EvE
}@URRPM+Q
}@PW&8	~@uY3ۋMEv9E+;ȉMrEEu
}@P;Po]M;rNjU3+ӉU;s/:uU@U;4e@EGeMM=	~@i@u~@MeM̋Mm̃eMQQ=X@M$WPhi@5}@5}@@;}=
~@xhxi@WhLi@Sh i@@@PփMQQP@@hh@PփauXehh@5}@YEY
}@PE+PS%thh@@@PYYuuShh@5}@փe
}@3;8~@tg9]ub}@;uA@}@Phdh@5}@5}@@
}@5}@u
 
~@h\h@hPh@5}@YY9}@t_=
~@tVh8h@5}@5}@@}@
}@5}@tEh(h@5}@YYKhh@9}@t<}@;t3j:P@YYt$}@
}@u9]]tE
}@;tj=}@;tWY
}@;tjPhh@5}@֋EYY_^[Ë3@m@HHHH\@ËAjXVv\@D$Y@tVnY^@QQQQQQQQQ@hm@P@,VWj@5@P֋=@PP@00UYYP$@_^UMMSVu3WCw@CCp@6EEEYv+8\t$PP6hw@W@>3PPjPPhW@@C;>tWqY{u( @u6@@hv@P@cPPs@EPs@hs@sVs@S0jYuF~C45tHtHt	HuCBCB
CBCBF	Et!	tHt
t	t	HuCC
cCCCF
1t	Hu
CDcDfc8Rs@tWCLv6hv@jP@_^[339AÍALVD$tV%Y^VFp@Pv@v(@@^2jX3D$V@tVY^USVuW}مt$EjPWVs,@}t+}ujX3_^[]USVuW}مt(EjPWVs0@t}r+}ujX3_^[]D$VWHtHHt8HtjX[|$u3P54@jwօthD@j	w"D$D$Pw4@$_^Vj\YtV3t^Åt	jP3^U,SV3jSMESh@T@EjEYEԉ]PSuP@tqWhjSEjPuL@t:EEPVSSh$w@W@W@>CuAtMtEEPuuP@u_uX@8uVY3^[UVQhw@EjP@3PPjPPPEP@@tV(@3^UQQSVW@ue}=8@t׉EUjRPu}t+E;Er܅uE<yt"<t"<vu"ǡ@hPw@@P@YY#3"jP@@h0w@P@jX_^[US]VÈ]
U
ЈEjRPt@hw@@P@YY4ut)w@tlw@QP@@P@jX^[]UQMeSVW=8@׋؋UjRPt
hD@UjRPu}t
+=s3jX_^[USVWjutjXAt }jWPu@GPWR]}SRWPu;u,3z+uPuujWPuP@@hw@P@_PuXISWP_^[]UQVWj_EUWRPuIUWRPu$}ytP}uN@h(x@@P@YY2u1UWRPthx@UWRPu
}u3hw@@@P@YY_^UESVWjF
hPN3 ^@t8]tSjAA$PPRSFH#N@$#F;JE@;t%xtV:t
CAAyuDXEEPPjtejN[;ȃEC}ht\tOtBt5!t(02Nt:vF	FF
FFF
Nt:vF\}Acd~ r~tzNt:vFNt:vFzNt:vFg|6~u&Nt:vF<Nt:vF)EEQuhXy@hPy@@@P@C;}t@hLy@@P@YY3W1@~
 ~F<jQP<sPhy@f3Ɋ<fNv_@W@hx@P@j[;|%P@@hx@P@C;~ۡ@hh@@P@Y3YWVuiFH@f9=H@tfNFf9t,Ff98uFf98uFPhx@@@P@F@h\x@@P@YY_^[UQQ}Vu3}v@hy@@P@YYjXF
<u@h|y@@P@YYjjPuɋES؋ȈE2ÈU2ˆM2]EUjRP[uP2uPEȋPmuuP^USVW}uyvhy@@@P@YYQ]thz@ۊF<u@hy@@P@YYj jP)ӋÈ2ڈ2ً2؈jRPP)WȅEv uM+0E7FIu}u;s.ڍ=+ߋ˃΃EKЈEuuERRPu(ht@t~2t
y@jX3_^[@V5@W@hz@P֡@W@hz@P֡@hz@@P֡@hxz@@P֡@hHz@@Pփ,_^US]Vuu@@h{@P@jTjSouDuuu@@h{@P@t@t
:]tM jX3^[]AjthPhP{@_ÊAhhPh`{@FÊAhhPht{@-UQVjFPth{@@@P@YY~Cuhhto@VMMeUjRPth{@ht3@h{@@P@YY@t~Et
{@jX3^UQSVWjuFPth{@@@P@YY[~C]CPY:}jMX;׉Ms
0U@B;UrM}@PVRVED}Yt
h|@tiۈS@DP&Y}CjɈN2Z;}Ms!M2M2EBMBE9Mrߋ}BRVPVE}Yt
hd|@iۈSt3@h|@@P@YY@tEt
|@zjX3_^[UQVuW}U;w|;t;wmu@h|@@P@YYjXN;uOAu	;8jqt&vMWuu	}+u3_^UES]MVH	WE  M{t@h|@@P@YWrYEjPVUEjPFPFSFuP9E$uEv(;wߋMSuuu#]]+uVYuM_^[VYjXUQQVF<u@h|@@P@YYjX[jPu:ES؋ȈE2ÈU2ˆM2]EUjRP[tjj^AP@t	jh@t	j8h@jh@RpUQQS]V!EF<u@hX}@@P@YYjjPӋÈ]2ڈM2ً2؈UE]UjRPPEj؋ȈE2ÈU2ˆM2]EURPuvPujPu^UjRPuME2E2E2E8Eu<M3eMMM3@h(}@@P@YYjX^[L$t@h}@@P@Y3YItESVW2B3ۃj :zBB:B3^t	5Nuu_^[US]VWMEytuPSM5@]EE;wMWPS~MW)}߉E+E3}}EEmE䡈@mQQ@=X@$Sh}@P֡@@P@9}m@hlk@@P֋EYYM3/@S@h(k@Pփ@h(}@@P@YYjX_^[%l@%t@%@%@%@%@%@HPR<P4RPRLPT`R RNQ^QnQ|QQQ@QQQQQQ(QQ QbRzRRBRRRRRRRRS
SSS$S.S8SBSLSVS`SjStS~SSSSSSSSSSSTISleepSetConsoleCtrlHandlerExitProcessSetCommStateGetCommStateSetCommMaskSetCommTimeoutsESetupCommiGetLastErrorMCreateFileA.CloseHandleReadFileWriteFileEscapeCommFunctionGetTickCountKERNEL32.dllRegCloseKeyRegQueryValueExAADVAPI32.dllSetupDiDestroyDeviceInfoListfSetupDiOpenDevRegKey SetupDiEnumDeviceInfo/SetupDiGetClassDevsASETUPAPI.dll_tellA_lseek_open_purecall_close??3@YAXPAX@Z_read_writeFexitUfprintf_iobmemcmpstrpbrkstrlenstrchrmemsetreallocsscanfmemcpystrncmp:atoipisdigitb__p___argvstrtoulLfflushperror??2@YAPAXI@ZX__getmainargsa__p___argcl__p__environ_snprintfsprintfmsvcrt.dllOKSystem ErrorInvalid FileParser can only writeParser can only readUnknown ErrorW-256KW-128KMedium_Density PLL496xx/4A6xxL47xxx/48xxxL45xxx/46xxxL43xxx/44xxxL1xxxEL1xxxDL1xxxCL1xxx6(8/B)AL1xxx6(8/B)L07xxx/08xxxSTM32L05xxx/06xxxL031xx/041xxL01xxx/02xxxH74xxx/75xxxF76xxx/77xxxF74xxx/75xxxF72xxx/73xxxF413xx/423xxF469xx/479xxF446xxF412xxF411xxF410xxF401xD(E)F401xB(C)F42xxx/43xxxF40xxx/41xxxF302xD(E)/F303xD(E)/F398xxF303x4(6/8)/F334xx/F328xxF301xx/F302x4(6/8)/F318xxF302xB(C)/F303xB(C)/F358xxF373xx/F378xxSTM32F2xxxxF10xxx XL-densityF105xx/F107xxF10xxx High-density VLF10xxx Medium-density VLF10xxx High-densityF10xxx Medium-densityF10xxx Low-densityF070xB/F071xx/F72xxF04xxx/F070x6STM32F030xC/F09xxxF03xx4/6F030x8/F05xxx%s: invalid option -- %c
%s: option requires an argument -- %c
%s: unrecognized option '%s'
%s: option '%s' requires an argument
%2x%2x%4x%2xGPIO sequence end

Invalid sequence %.*s
Character '%c' is not a valid signal or separator
 setting gpio %i to %i... OK
Error!
 setting port signal %.3s to %i...  delay %i us
brkdtrrts
GPIO sequence start
GPIO control only available in Linux
8e1

Caught signal %lu
Invalid serial mode
Invalid baud rate
ERROR: You need to specify a page count between 0 and 255ERROR: Execution address must be word-aligned
ERROR: Invalid parameter specified
ERROR: Invalid negative value for option -F
min(RX) = 20, min(TX) = 6
ERROR: current code cannot work with small frames.
WARNING: Ignore TX length in option -F
WARNING: Ignore RX length in option -F
ERROR: Invalid options, can't specify start page / num pages and start address/length
ERROR: Invalid options, can't specify zero length
ERROR: Invalid options !
	Can't execute "%s" and "%s" at the same time.
memory readmemory writewrite unprotectread protectread unprotectflash erasememory crc
Reset done.
Reset failed.

Resetting device... 
failed.
done.

Starting execution at address 0x%08x... CRC(0x%08x-0x%08x) = 0x%08x
Failed to read CRC
CRC computation
Failed to verify at address 0x%08x, expected 0x%02x and found 0x%02x
Failed to read memory at address 0x%08x
Failed to write memory at address 0x%08x
Failed to read input file

Wrote %saddress 0x%08x (%.2f%%) and verified Erasing memory
Write to memory
Failed to write-unprotect flash
Write-unprotecting flash
Failed to erase memory
Specified start & length are invalid (must be page aligned)
Erasing flash
Failed to read-unprotect flash
Read-UnProtecting flash
Failed to read-protect flash
Read-Protecting flash
Failed to write data to file
Failed to read memory at address 0x%08x, target write-protected?
Done.

Read address 0x%08x (%.2f%%) Memory read
Address range exceeds flash size.
- System RAM : %dKiB
- Option RAM : %db
- Flash      : Up to %dKiB (size first sector: %dx%d)
- RAM        : Up to %dKiB  (%db reserved by bootloader)
Device ID    : 0x%04x (%s%s)
STM32Option 2     : 0x%02x
Option 1     : 0x%02x
Version      : 0x%02x
Failed to send boot enter sequence
Interface %s: %s
Failed to open port: %s
Using Parser : %s
%s ERROR: %s
Raw BINARYERROR: Invalid usage, -v is only valid when writing
ERROR: Device not specified
Intel HEXUsage: %s [-bvngfhc] [-[rw] filename] {tty_device | i2c_device}
	-a bus_address	Bus address (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
	-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
	  '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 (low) instead of setting it (high)

Examples:
	Get device information:
		%s /dev/ttyS0
	  or:
		%s /dev/i2c-0

	Write with verify and then start execution:
		%s -w filename -v -g 0x0 /dev/ttyS0

	Read flash to file:
		%s -r filename /dev/ttyS0

	Read 100 bytes of flash from 0x1000 to stdout:
		%s -r - -S 0x1000:100 /dev/ttyS0

	Start execution:
		%s -g 0x0 /dev/ttyS0

	GPIO sequence:
	- entry sequence: GPIO_3=low, GPIO_2=low, 100ms delay, GPIO_2=high
	- exit sequence: GPIO_3=high, GPIO_2=low, 300ms delay, GPIO_2=high
		%s -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, GPIO_2=high
		%s -R -i ',,,,,:rts&-dtr,,,2' /dev/ttyS0
%s %u %sFile not found: %s
\\.\%sserial_w32PortNameGot byte 0x%02x instead of ACK
Failed to read ACK byte
Unexpected reply from device on command 0x%02x
Got NACK from device on command 0x%02x
Failed to send command
Re sync (len = %d)
Failed to init device.
Failed to send init to device
Warning: the interface was not closed properly.
Error: bootloader did not returned correct information from GET command
Unknown/unsupported device (Device ID: 0x%03x)
 %02xThis bootloader returns %d extra bytes in PID:Only %d bytes sent in the PID, unknown/unsupported device
)
, 0x%2xGET returns unknown commands (0x%2xError: READ command not implemented in bootloader.
Error: READ length limit at 256 bytes
writeError: WRITE command not implemented in bootloader.
Error: WRITE address must be 4 byte aligned
	Check "I2C.txt" in stm32flash source code.
	as required by bootloader.
	controller not accepting "clock stretching"
	This %s error could be caused by your I2C
Attention !!!
Error: Failed to %s
Error: %s command not implemented in bootloader.
WRITE UNPROTECTREADOUT UNPROTECTREADOUT PROTECTmass eraseMass erase failed. Try specifying the number of pages to be erased.
Mass erase error.
Can't initiate chip mass erase!
erasePage-by-page erase failed. Check the maximum pages your device supports.
Page-by-page erase error.
Erase failed.
Error: ERASE command not implemented in bootloader.
Error: code address must be 4 byte aligned
Error: GO command not implemented in bootloader.
Start and end addresses must be 4 byte aligned
Error: CRC command not implemented in bootloader.
Buffer length must be multiple of 4 bytes

CRC address 0x%08x (%.2f%%) 
Vorgefundene Kodierung: UTF-80