рдИрдмреАрд▓рд┐рдВрдХ рд╕рд░реНрд╡рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИ рдЬреЛ рдХрдИ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рдерд╛ред рдпрд╣ рдкреЛрд╕реНрдЯ рд╕реНрдерд┐рддрд┐ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдЧреАред
EBlink рдЕрдзрд┐рдХрд╛рдВрд╢ STM32 рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдореЙрдбрд▓ (F0, F1, F2, F3, F4, F7, H7, L0, L1, L4, G0 рдФрд░ G4 рд╢реНрд░реГрдВрдЦрд▓рд╛) рдФрд░ рд╕рд╛рде рд╣реА EFR32 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдХрд┐ рдпрд╣ рд╕реА- рд▓рд╛рдЗрдХ рднрд╛рд╖рд╛ рдХреА рдЧрд┐рд▓рд╣рд░реА рдореЗрдВ рд▓рд┐рдкрд┐рдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХрд┐ рдорд╛рдЗрдХреНрд░реЛрдмреНрд▓реЙрдЧрд░реНрд╕ рдХреЛ рдЪрдордХрд╛рдиреЗ рдФрд░ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдпрд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдХреЗ рдирдП рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдпрд╛ рдИрдмреАрд▓рд┐рдВрдХ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рд╕рд╛рде рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд┐рдП рдмрд┐рдирд╛ рдореМрдЬреВрджрд╛ рд╡рд╛рд▓реЗ рдХрд╛рдо рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдореИрдВ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдорд╛рди рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЕрдиреНрдп рдирд┐рд░реНрдорд╛рддрд╛рдУрдВ рд╕реЗ рдПрдЖрд░рдПрдо рдХреЙрд░реНрдореЗрдХреНрд╕-рдПрдо рдХреЛрд░ рдХреЗ рд╕рд╛рде рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдорд┐рд▓реЗрдВрдбрд░ рдХрдВрдкрдиреА, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
ST-Link v2 рдФрд░ v3 рдбрд┐рдмрдЧрд░реНрд╕ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ, рд╕рд╛рде рд╣реА CMSIS-DAPред
Windows x86, Linux x86-64 рдФрд░ рд░рд╛рд╕реНрдкрдмреЗрд░реА PI рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓реЗрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдбреЗрд╡рд▓рдкрд░ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХрд╛ рд╡рд╛рджрд╛ рдХрд░рддрд╛ рд╣реИред
рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг github рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред
рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг 2.0 рдбрд┐рд╕реНрдХ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ред
рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕рдВрд╕реНрдХрд░рдг 2.0 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореМрдиредeblink - рдЙрдкрдпреЛрдЧ:
EBlink <options> -h, --help Print this help -g, --nogui No GUI message boxes -v <level>, --verbose <0..7> Specify level of verbose logging (default 4) -a [type], --animation [0..] Set the animation type (0=off, 1 = cursor, >1 = dot) -I <options>, --interf Select interface -T <options>, --target Select target(optional) -S <file>, --script <file> Load a device script file -D <def>, --define <def> Define script global variable "name=value" -F <options>, --flash <options> Run image flashing -G [options], --gdb <options> Launch GDB server --script and --interf are mandatory, normally combined with --flash or/and --gdb eg EBlink -I stlink -S stm32-auto -G EBlink -I stlink -S stm32-auto -G -D flashSize=1024 -D ramSize=16 EBlink -I stlink,dr,speed=3000 -S silabs-auto -F erase,verify,run,file=mytarget.elf EBlink -I cmsis-dap -T cortex-m,nu -S stm32-auto -G port=4242,nc,s -S myReset.scr
==== рдЗрдВрдЯрд░рдлреЗрд╕
рдирд╛рдо: CMSIS-DAP - ARM рдбрд┐рдмрдЧ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдбреНрд░рд╛рдЗрд╡рд░
Usage -I cmsis-dap[,options] <not yet implemented>
рдирд╛рдо: STlink - STmicro V2 / 3 рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдбреНрд░рд╛рдЗрд╡рд░
Usage -I stlink[,options] dr : Disable reset at connection (hotplug) speed=nnn : Interface speed (default max possible) swd : use SWD (default) jtag : use Jtag device=<usb_bus>:<usb_addr> : Select probe explicit eg -I stlink,dr,speed=3000
==== рд▓рдХреНрд╖реНрдп
рдирд╛рдо: рдХреЛрд░реНрдЯреЗрдХреНрд╕-рдПрдо
Usage -T cortex-m[,options] nu : Disable stack unwind at exception eg -T cortex-m,nu
==== рдлреНрд▓реИрд╢ рд▓реЛрдбрд░
Usage -F [options] erase : Chip erase the flash verify : Verify flash after upload run : Start image file=<file> : Load the file, <file>.hex = Intel HEX format <file>.srec = Motorola srec file format Default = ELF file format eg -F file=test.elf -F run,file=test.hex -F erase,verify,run,file=test.srec -F erase -F run Default (without erase) only modified sectors are (re)flashed.
==== GDB рд╕рд░реНрд╡рд░
Usage -G [options] s : Shutdown after disconnect nc : Don't use EBlink flash cache port=ppp : Select different TCP port, default 2331 address=xxxx : Select different listen address, default 0.0.0.0 eg -G s,nc
EBlink рдиреЗ EmBitz 1.11 рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдбрд┐рдмрдЧрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдЪреНрдЫрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ред
рдиреЗрдЯрд╡рд░реНрдХ рдкрд░, рдлрд╝рд╛рдЗрд▓реЗрдВ рдорд┐рд▓реАрдВ рдЬреЛ рдбреАрдмрдЧрд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдЬреЛрдбрд╝рддреА рд╣реИрдВ рдФрд░ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдЬреЛ рд╕рдВрдЧреНрд░рд╣ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд EmBitz 1.11 рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдирд┐рдХрд╛рд▓рдирд╛ рд╣реИред рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ EBlink рдлрд╝рд╛рдЗрд▓реЗрдВ рдФрд░ рдбреАрдмрдЧрд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдбреАрдмрдЧрд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╡рд┐рдХрд▓реНрдк рд╡рд┐рдВрдбреЛ рдореЗрдВ ( рдЪрдпрдирд┐рдд рдбреАрдмрдЧ> рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдиреВ рд╕реЗ рдЦреБрд▓рддрд╛ рд╣реИ) рдореЗрдВ рдЪрдпрдирд┐рдд рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ EBlink рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдбреАрдмрдЧрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдпрд╣ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рдХреНрд░рд┐рдп рд▓рдХреНрд╖реНрдп рдХрд╛ рд╡рд░реНрддрдорд╛рди GDB рд╕рд░реНрд╡рд░ рдмрди рдЬрд╛рдПрдЧрд╛ред
рд░рд┐рд▓реАрдЬ рдлрд░реНрдорд╡реЗрдпрд░ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП EBlink рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, EmBitz ( рдЙрдкрдХрд░рдг > рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдЙрдкрдХрд░рдг ... рдореЗрдиреВ) рдореЗрдВ рдПрдХ рдЯреВрд▓ рдЬреЛрдбрд╝реЗрдВ, рдЬрд┐рд╕реЗ рд╣рдо EBlink рдлреНрд▓реИрд╢ рдХрд╣реЗрдВрдЧреЗ ред
рдЖрд╡реЗрджрди рдХрдорд╛рдВрдб рд▓рд╛рдЗрди:
-I stlink -S stm32-auto -a -F verify,run,file="${PROJECT_DIR}${TARGET_OUTPUT_DIR}${TARGET_OUTPUT_BASENAME}.hex"
IDE рд▓реЙрдЧ рдореЗрдВ рдЖрдк рдЯреВрд▓ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ - EBlink рдиреЗ STM32F103C8T6 рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рд╣реИред
рдЗрд╕реА рддрд░рд╣, рдЖрдк рдЕрдиреНрдп рдЖрдИрдбреАрдИ рдХреЗ рд╕рд╛рде рдИрдмреАрд▓рд┐рдВрдХ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, CooCox, рдЬреЛ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рдЬреЛ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд STM32H7, STM32G0 рдФрд░ STM32G4 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ рдЬреЛ рдирд╛рд░рд┐рдпрд▓ рдХреЗ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВред
рд▓реЗрдЦ рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд╕рднреА рдлрд╛рдЗрд▓реЗрдВ Yandex.Disk рдкрд░ рдЕрдкрд▓реЛрдб рдХреА рдЧрдИ рдереАрдВ ред