Stlink: STM32L476 рдбрд┐рд╕реНрдХрд╡рд░реА: st-flash рд▓рд┐рдЦрдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓

рдХреЛ рдирд┐рд░реНрдорд┐рдд 13 рдЬреВрди 2020  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: stlink-org/stlink

рд╕реНрдЯрд▓рд┐рдВрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдбреЗрд╡рд▓рдкрд░реНрд╕ рдФрд░ рдЕрдиреНрдп рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрдкрдиреЗ рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЗ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдФрд░ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдХреГрдкрдпрд╛ рдЕрдкрдиреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдЖрдЗрдЯрдо рдХреЛ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдордп рджреЗрдВ:

  • рдкреНрд░реЛрдЧреНрд░рд╛рдорд░/рдмреЛрд░реНрдб рдХрд╛ рдкреНрд░рдХрд╛рд░: рд╕реНрдЯрд▓рд┐рдВрдХ/v2-1
  • рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдлрд░реНрдорд╡реЗрдпрд░ рд╕рдВрд╕реНрдХрд░рдг: STM32L476 DISCOVERY рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рд╕рдВрд╕реНрдХрд░рдг
  • рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдФрд░ рд╕рдВрд╕реНрдХрд░рдг: Linux 5.5.0-1-amd64
  • рд╕реНрдЯрд▓рд┐рдВрдХ рдЯреВрд▓реНрд╕ рд╕рдВрд╕реНрдХрд░рдг рдФрд░/рдпрд╛ рдЧрд┐рдЯ рдкреНрд░рддрд┐рдмрджреНрдз рд╣реИрд╢: v1.6.1 (рд░рд┐рд▓реАрдЬ .tar.gz рд╕реЗ)
  • рд╕реНрдЯрд▓рд┐рдВрдХ рдХрдорд╛рдВрдбрд▓рд╛рдЗрди рдЯреВрд▓ рдХрд╛ рдирд╛рдо: st-flash
  • рд▓рдХреНрд╖реНрдп рдЪрд┐рдк (рдФрд░ рдпрджрд┐ рд▓рд╛рдЧреВ рд╣реЛ рддреЛ рдмреЛрд░реНрдб): STM32L476 DISCOVERY

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рдЖрдкрд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдкрд╛рдИ рдЧрдИ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдпрдерд╛рд╕рдВрднрд╡ рд╡рд┐рд╕реНрддреГрдд рд╡рд░реНрдгрди рдХрд░реЗрдВ рдФрд░ рдпрджрд┐ рдЙрдкрд▓рдмреНрдз рд╣реЛ рддреЛ рдирд┐рдореНрди рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбрд┐рдмрдЧ рдЖрдЙрдЯрдкреБрдЯ рдЬреЛрдбрд╝реЗрдВ:

рдХрдорд╛рдВрдбрд▓рд╛рдЗрди-рдЖрдЙрдЯрдкреБрдЯ:

tabemann<strong i="18">@sirius</strong>:~/projects/zeptoforth$ st-flash write zeptoforth.bin 0x08000000
st-flash 1.6.1
2020-06-12T22:42:05 INFO common.c: L4xx: 96 KiB SRAM, 1024 KiB flash in at least 2 KiB pages.
file zeptoforth.bin md5 checksum: d1e51663b9f8971cf1167145c9e76850, stlink checksum: 0x001cfa29
2020-06-12T22:42:05 INFO common.c: Attempting to write 23324 (0x5b1c) bytes to stm32 address: 134217728 (0x8000000)
EraseFlash - Page:0x0 Size:0x800 2020-06-12T22:42:05 INFO common.c: Flash page at addr: 0x08000000 erased
EraseFlash - Page:0x1 Size:0x800 2020-06-12T22:42:05 INFO common.c: Flash page at addr: 0x08000800 erased
EraseFlash - Page:0x2 Size:0x800 2020-06-12T22:42:05 INFO common.c: Flash page at addr: 0x08001000 erased
EraseFlash - Page:0x3 Size:0x800 2020-06-12T22:42:05 INFO common.c: Flash page at addr: 0x08001800 erased
EraseFlash - Page:0x4 Size:0x800 2020-06-12T22:42:05 INFO common.c: Flash page at addr: 0x08002000 erased
EraseFlash - Page:0x5 Size:0x800 2020-06-12T22:42:05 INFO common.c: Flash page at addr: 0x08002800 erased
EraseFlash - Page:0x6 Size:0x800 2020-06-12T22:42:06 INFO common.c: Flash page at addr: 0x08003000 erased
EraseFlash - Page:0x7 Size:0x800 2020-06-12T22:42:06 INFO common.c: Flash page at addr: 0x08003800 erased
EraseFlash - Page:0x8 Size:0x800 2020-06-12T22:42:06 INFO common.c: Flash page at addr: 0x08004000 erased
EraseFlash - Page:0x9 Size:0x800 2020-06-12T22:42:06 INFO common.c: Flash page at addr: 0x08004800 erased
EraseFlash - Page:0xa Size:0x800 2020-06-12T22:42:06 INFO common.c: Flash page at addr: 0x08005000 erased
EraseFlash - Page:0xb Size:0x800 2020-06-12T22:42:06 INFO common.c: Flash page at addr: 0x08005800 erased
2020-06-12T22:42:06 INFO common.c: Finished erasing 12 pages of 2048 (0x800) bytes
2020-06-12T22:42:06 INFO common.c: Starting Flash write for F2/F4/L4
2020-06-12T22:42:06 INFO flash_loader.c: Successfully loaded flash loader in sram
size: 23324
2020-06-12T22:42:06 ERROR flash_loader.c: flash loader run error
2020-06-12T22:42:06 ERROR common.c: stlink_flash_loader_run(0x8000000) failed! == -1
stlink_fwrite_flash() == -1

рдЕрдкреЗрдХреНрд╖рд┐рдд/рд╡рд┐рд╡рд░рдг:

рд╡рд╣ рд╕реЗрдВрдЯ-рдлреНрд▓реИрд╢ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ zeptoforth.bin STM32L476 MCU рдХреА рдлреНрд▓реИрд╢ рдореЗрдореЛрд░реА рдкрд░ 0x08000000 рдкрд░ рд▓рд┐рдЦ рджреЗрдЧрд╛ред

рд╕реВрдЪрдирд╛: рдпрджрд┐ рдкрд░реНрдпрд╛рдкреНрдд рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдпрд╣ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕реВрдЪрдирд╛ рдХреЗ рдмрдВрдж рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ!

рдЖрдкрдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рд╕реНрдЯрд▓рд┐рдВрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЕрдиреБрд░рдХреНрд╖рдХ

bufixed buregression componenst-flash componenstlink-lib erroflash-loader programmestlinkv2-1 staturesolved targestm32l4

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореИрдВрдиреЗ рдиреНрдпреВрдХреНрд▓рд┐рдпреЛ STM32L476RG рдмреЛрд░реНрдб рдФрд░ рдЗрд╕рдХреЗ рдСрдирдмреЛрд░реНрдб ST-LINK/V2-1 рдХреЗ рд╕рд╛рде рд╡рд┐рдХрд╕рд┐рдд рд╢рд╛рдЦрд╛ рдореЗрдВ рдкреИрдЪ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ред рдкреИрдЪ рдиреЗ рдкреНрд░рддрд┐рдЧрдорди рдХреЛ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ред рдЗрд╕ рдорд╛рдорд▓реЗ рдХреА рддрд▓рд╛рд╢ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рд╕рднреА 5 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореИрдВ рдПрдХ рдиреНрдпреВрдХреНрд▓рд┐рдпреЛ L476RG рдмреЛрд░реНрдб рдкрд░ рдПрдХ рд╣реА рдкреНрд░рддрд┐рдЧрдорди рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛, рджреЛрдиреЛрдВ рдореЗрд░реЗ рд▓рд┐рдП 1.5.0 рдФрд░ 1.6.0 рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди git рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдЗрд╕ рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддрд╛ рд╣реИ (рдЬрдм рдореИрдВрдиреЗ рдЗрд╕реЗ USB рд▓реЙрдЧ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕реНрдЯрдбрдЖрдЙрдЯ рдореЗрдВ рд╕реНрдкреИрдо рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХ рджрд┐рдпрд╛):

st-flash 1.6.0-370-g05f79e1-dirty
2020-06-13T07:03:42 INFO common.c: L4xx: 96 KiB SRAM, 1024 KiB flash in at least 2 KiB pages.
file /home/crest/mecrisp-stellaris-2.5.4/mecrisp-stellaris-source/stm32l476-ra-nucleo/mecrisp-stellaris-stm32l476.bin md5 checksum: 2a291252c8ab59ec649217f666b78d4, stlink checksum: 0x001f2ba2
2020-06-13T07:03:42 INFO common.c: Attempting to write 20304 (0x4f50) bytes to stm32 address: 134217728 (0x8000000)
EraseFlash - Page:0x0 Size:0x800 2020-06-13T07:03:42 INFO common.c: Flash page at addr: 0x08000000 erased
EraseFlash - Page:0x1 Size:0x800 2020-06-13T07:03:42 INFO common.c: Flash page at addr: 0x08000800 erased
EraseFlash - Page:0x2 Size:0x800 2020-06-13T07:03:42 INFO common.c: Flash page at addr: 0x08001000 erased
EraseFlash - Page:0x3 Size:0x800 2020-06-13T07:03:42 INFO common.c: Flash page at addr: 0x08001800 erased
EraseFlash - Page:0x4 Size:0x800 2020-06-13T07:03:42 INFO common.c: Flash page at addr: 0x08002000 erased
EraseFlash - Page:0x5 Size:0x800 2020-06-13T07:03:42 INFO common.c: Flash page at addr: 0x08002800 erased
EraseFlash - Page:0x6 Size:0x800 2020-06-13T07:03:42 INFO common.c: Flash page at addr: 0x08003000 erased
EraseFlash - Page:0x7 Size:0x800 2020-06-13T07:03:42 INFO common.c: Flash page at addr: 0x08003800 erased
EraseFlash - Page:0x8 Size:0x800 2020-06-13T07:03:42 INFO common.c: Flash page at addr: 0x08004000 erased
EraseFlash - Page:0x9 Size:0x800 2020-06-13T07:03:42 INFO common.c: Flash page at addr: 0x08004800 erased
2020-06-13T07:03:42 INFO common.c: Finished erasing 10 pages of 2048 (0x800) bytes
2020-06-13T07:03:42 INFO common.c: Starting Flash write for F2/F4/L4
2020-06-13T07:03:42 INFO flash_loader.c: Successfully loaded flash loader in sram
size: 20304
2020-06-13T07:03:43 ERROR flash_loader.c: flash loader run error
2020-06-13T07:03:43 ERROR common.c: stlink_flash_loader_run(0x8000000) failed! == -1
stlink_fwrite_flash() == -1

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╕рдордп рдХрд╛ рдореБрджреНрджрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдореБрдЭреЗ stm32l432 рдХреЗ рд╕рд╛рде рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рдереАред рдореИрдВрдиреЗ Flash_loader.c рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдП рд╣реИрдВ рдЬреЛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рд▓рдЧрддреЗ рд╣реИрдВред рдореИрдВ рдпрд╣ рдХрд╣рдиреЗ рдореЗрдВ рд╕рдВрдХреЛрдЪ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдореВрд▓ рдХрд╛рд░рдг рд╣реИред

@@ -368,7 +368,7 @@ int stlink_flash_loader_run(stlink_t *sl, flash_loader_t* fl
, stm32_addr_t targe
 // by increasing the sleep-per-round to the same order-of-magnitude as
 // the tick-rounding that the OS uses, the wait until the error message is
 // reduced to the same order of magnitude as what was intended. -- REW.
-#define WAIT_ROUNDS 100
+#define WAIT_ROUNDS 200
     /* wait until done (reaches breakpoint) */
     for (i = 0; i < WAIT_ROUNDS; i++) {
         usleep(1000);

@geoffreymbrown : рдХреНрдпрд╛ рдЖрдк рдЗрд╕реЗ рдкреАрдЖрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдмрдорд┐рдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рд╣реА @tabemann рдФрд░/рдпрд╛ @Crest рд╕рддреНрдпрд╛рдкрд┐рдд рд╣реЛ?

рдореИрдВрдиреЗ рдиреНрдпреВрдХреНрд▓рд┐рдпреЛ STM32L476RG рдмреЛрд░реНрдб рдФрд░ рдЗрд╕рдХреЗ рдСрдирдмреЛрд░реНрдб ST-LINK/V2-1 рдХреЗ рд╕рд╛рде рд╡рд┐рдХрд╕рд┐рдд рд╢рд╛рдЦрд╛ рдореЗрдВ рдкреИрдЪ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ред рдкреИрдЪ рдиреЗ рдкреНрд░рддрд┐рдЧрдорди рдХреЛ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ред рдЗрд╕ рдорд╛рдорд▓реЗ рдХреА рддрд▓рд╛рд╢ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

@geoffreymbrown : рдореИрдВ рдЗрд╕реЗ рдЖрдк рдкрд░ рдЫреЛрдбрд╝ рджреВрдБрдЧрд╛ ...

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕