Π§ΠΈΠΏ ΡΡΠΈΡΠ°Π΅Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, Π½ΠΎ Π²ΡΠ΄Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ Β«Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ coreid, Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½, ΠΊΠ°ΠΊΠΎΠΉ ΡΠ»ΡΡ-Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅! Coreid: 2ba01477, chipid: 430Β», ΠΊΠΎΠ³Π΄Π° Π΄ΠΎΡ ΠΎΠ΄ΠΈΡ Π΄ΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π·Π°ΠΏΠΈΡΠΈ.
ΠΡΡ ΠΎΠ΄:
Flash page at addr: 0x080ff800 erased
2019-02-14T18:14:06 INFO common.c: Finished erasing 512 pages of 2048 (0x800) bytes
2019-02-14T18:14:06 INFO common.c: Starting Flash write for VL/F0/F3/F1_XL core id
2019-02-14T18:14:06 ERROR flash_loader.c: unknown coreid, not sure what flash loader to use, aborting! coreid: 2ba01477, chipid: 430
2019-02-14T18:14:06 WARN flash_loader.c: Failed to write flash loader to sram!
2019-02-14T18:14:06 ERROR common.c: stlink_flash_loader_init() == -1
2019-02-14T18:14:06 DEBUG common.c: *** stlink_read_debug32 ffffffff is 0x8000000
2019-02-14T18:14:06 DEBUG common.c: *** stlink_write_reg
data_len = 2 0x2
81 00
2019-02-14T18:14:06 DEBUG common.c: *** stlink_read_debug32 ffffffff is 0x8000004
2019-02-14T18:14:06 DEBUG common.c: *** stlink_write_reg
data_len = 2 0x2
80 00
2019-02-14T18:14:06 DEBUG common.c: *** stlink_run ***
stlink_fwrite_flash() == -1
2019-02-14T18:14:06 DEBUG common.c: *** stlink_exit_debug_mode ***
2019-02-14T18:14:06 DEBUG common.c: *** stlink_write_debug32 a05f0000 to 0xe000edf0
2019-02-14T18:14:06 DEBUG common.c: *** stlink_close ***
Π£ΡΠΈΠ»ΠΈΡΠ° ST-LINK Π³ΠΎΠ²ΠΎΡΠΈΡ:
`` ''
ID ΡΡΡΡΠΎΠΉΡΡΠ²Π°: 0x430
Π Π°Π·ΠΌΠ΅Ρ ΡΠ»ΡΡ-ΠΏΠ°ΠΌΡΡΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°: 1 ΠΠ±Π°ΠΉΡ
Π‘Π΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²: STM32F10xx XL-density
Π― ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ GD32 - ΡΡΠΎ ΠΊΠ»ΠΎΠ½Ρ Π½Π°ΡΡΠΎΡΡΠΈΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² ST Microelectronics. ΠΡΠΈΡΡΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΈΡ , Π½ΠΎ ΠΌΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π°ΡΡΡΠ°ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ, ΠΊΠ°ΠΊ Π² ΡΠ»ΡΡΠ°Π΅ Ρ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ # 761.
ΠΠ»Ρ ΡΠΏΡΠ°Π²ΠΊΠΈ: http://www.gigadevice.com/products/microcontrollers/gd32/arm-cortex-m4/mainstream-line/gd32f303-series/
ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ,
Π― ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ ΡΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Ρ ΡΠΈΠΏΠΎΠΌ CS32F103C8T6, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ»ΠΎΠ½ΠΎΠΌ STM32F103C8T6.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ ΡΠ΅ΠΏΠΎΡΡΠ΅ΡΠ°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π° ΡΠΎ, ΡΡΠΎΠ±Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ, ΡΡΠΎ ΡΠ»ΡΡΠΈΠ»ΠΎΡΡ, ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ - Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ΄ΡΠ° ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΈΠΏΠ° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
diff --git a/include/stlink.h b/include/stlink.h
index abacd12..582de7b 100644
--- a/include/stlink.h
+++ b/include/stlink.h
@@ -53,6 +53,7 @@ extern "C" {
/* cortex core ids */
// TODO clean this up...
#define STM32VL_CORE_ID 0x1ba01477
+#define CS32VL_CORE_ID 0x2ba01477
#define STM32F7_CORE_ID 0x5ba02477
// Constant STM32 memory map figures
diff --git a/src/flash_loader.c b/src/flash_loader.c
index 7684680..72ed495 100644
--- a/src/flash_loader.c
+++ b/src/flash_loader.c
@@ -262,6 +262,7 @@ int stlink_flash_loader_write_to_sram(stlink_t *sl, stm32_addr_t* addr, size_t*
loader_code = loader_code_stm32l;
loader_size = sizeof(loader_code_stm32l);
} else if (sl->core_id == STM32VL_CORE_ID
+ || sl->core_id == CS32VL_CORE_ID
|| sl->chip_id == STLINK_CHIPID_STM32_F3
|| sl->chip_id == STLINK_CHIPID_STM32_F3_SMALL
|| sl->chip_id == STLINK_CHIPID_STM32_F303_HIGH
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ - Π²ΡΠ΅ Π·Π°ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΎ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Π°Ρ ΡΠΈΠΏ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ, ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ Π΄Π²Π°ΠΆΠ΄Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ΄ΡΠ° ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ.
Π‘ ΡΠ²Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΠ»Π°Π΄ΠΈΠΌΠΈΡ.
st-link (v2) "ΠΈΠ΄ΡΡ ΠΏΠΎ ΠΌΠ΅ΡΡΠ°ΠΌ", Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΏΡΠΎΡΠΈΠ» nrf51822 (nordic semiconble soc)
https://devzone.nordicsemi.com/f/nordic-qa/13869/openocd-promgram-nrf51822-with-st-link-v2-mini
https://devzone.nordicsemi.com/f/nordic-qa/12316/program-bluetooth-for-nrf51822-yunjia-board-with-stlink-v2
Π½ΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» openocd, Ρ
ΠΎΡΡ Π»ΠΎΠ»
ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π½Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°ΡΡ st-link ΠΊΠ°ΠΊ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ°
st-link Π² Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° swd. openocd, Ρ Π΄ΡΠΌΠ°Ρ, ΠΎΡΠ΄Π΅Π»ΡΠ΅Ρ ΠΊΠ»ΡΡ, ΡΠΎ Π΅ΡΡΡ st-link, ΠΈ ΡΠ΅Π»Π΅Π²ΠΎΠΉ soc, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ stm32f103 (ΠΊΠΎΡΠΎΡΡΠΉ, ΠΊΠ°ΠΊ Ρ ΠΏΠΎΠ»Π°Π³Π°Ρ, Π±ΡΠ΄Π΅Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ), Π° Π² ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΠΈΠΌ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΡΡΠ΅Π±ΡΡΡΡΡ `` ΠΏΠ»Π°Π³ΠΈΠ½Ρ '' ΠΈΠ»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ socs, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ stm32 (Π΄Π°ΠΆΠ΅ Π΅Π³ΠΎ ΠΊΠ»ΠΎΠ½Ρ)
ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ,
Π― ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ ΡΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Ρ ΡΠΈΠΏΠΎΠΌ CS32F103C8T6, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ»ΠΎΠ½ΠΎΠΌ STM32F103C8T6.ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ ΡΠ΅ΠΏΠΎΡΡΠ΅ΡΠ°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π° ΡΠΎ, ΡΡΠΎΠ±Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ, ΡΡΠΎ ΡΠ»ΡΡΠΈΠ»ΠΎΡΡ, ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ - Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ΄ΡΠ° ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΈΠΏΠ° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
diff --git a/include/stlink.h b/include/stlink.h index abacd12..582de7b 100644 --- a/include/stlink.h +++ b/include/stlink.h @@ -53,6 +53,7 @@ extern "C" { /* cortex core ids */ // TODO clean this up... #define STM32VL_CORE_ID 0x1ba01477 +#define CS32VL_CORE_ID 0x2ba01477 #define STM32F7_CORE_ID 0x5ba02477 // Constant STM32 memory map figures diff --git a/src/flash_loader.c b/src/flash_loader.c index 7684680..72ed495 100644 --- a/src/flash_loader.c +++ b/src/flash_loader.c @@ -262,6 +262,7 @@ int stlink_flash_loader_write_to_sram(stlink_t *sl, stm32_addr_t* addr, size_t* loader_code = loader_code_stm32l; loader_size = sizeof(loader_code_stm32l); } else if (sl->core_id == STM32VL_CORE_ID + || sl->core_id == CS32VL_CORE_ID || sl->chip_id == STLINK_CHIPID_STM32_F3 || sl->chip_id == STLINK_CHIPID_STM32_F3_SMALL || sl->chip_id == STLINK_CHIPID_STM32_F303_HIGH
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ - Π²ΡΠ΅ Π·Π°ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΎ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Π°Ρ ΡΠΈΠΏ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ, ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ Π΄Π²Π°ΠΆΠ΄Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ΄ΡΠ° ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ.
Π‘ ΡΠ²Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΠ»Π°Π΄ΠΈΠΌΠΈΡ.
ΠΏΠΎΠ΄ΡΠΊΠ°ΠΆΠΈΡΠ΅, Π³Π΄Π΅ Π²Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΡΡΠΎΡ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Π² cs32?
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Ubuntu Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΊΠΎΠ΄Π°, ΠΈ Ρ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ coreid, Π½ΠΎ Ρ Π½Π΅ Π·Π½Π°Ρ, ΠΊΡΠ΄Π° ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΊΠΎΠ΄, ΡΡΠΎΠ±Ρ ΡΠ΅ΡΠΈΡΡ ΠΌΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
ΡΡ
ΠΡΠΈΠ²Π΅Ρ, Π‘ΠΈΠ·ΠΈΡΠΎ.
ΠΡΠΎΠ΅ΠΊΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΡΡ, Π½ΠΎ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ.
ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ /include/stm32.h - ΡΡΠΎΠ±Ρ ΠΎΠ½ Π²ΡΠ³Π»ΡΠ΄Π΅Π» ΡΠ°ΠΊ:
// ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΡΠ΄ΡΠ° ΠΊΠΎΡΡ
ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ src / flash_loader.c - Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ stlink_flash_loader_write_to_sram, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π²ΡΠ³Π»ΡΠ΄Π΅Π» ΡΠ°ΠΊ (~ ΡΡΡΠΎΠΊΠ° 264):
} ΠΈΠ½Π°ΡΠ΅, Π΅ΡΠ»ΠΈ (sl-> core_id == STM32VL_CORE_ID
|| sl-> core_id == CS32VL_CORE_ID
|| sl-> chip_id == STLINK_CHIPID_STM32_F1_MEDIUM
|| sl-> chip_id == STLINK_CHIPID_STM32_F3
ΠΠ°ΡΠ΅ΠΌ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΈΠ»ΠΈΡΡ stlink Ρ ΡΡΠΈΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ, ΠΈ ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ°Π±ΠΎΡΠ°ΡΡ ...
ΠΡΠΈΠ²Π΅Ρ, Π‘ΠΈΠ·ΠΈΡΠΎ.
ΠΡΠΎΠ΅ΠΊΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΡΡ, Π½ΠΎ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ.ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ /include/stm32.h - ΡΡΠΎΠ±Ρ ΠΎΠ½ Π²ΡΠ³Π»ΡΠ΄Π΅Π» ΡΠ°ΠΊ:
// ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΡΠ΄ΡΠ° ΠΊΠΎΡΡΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ STM32VL_CORE_ID 0x1ba01477
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ CS32VL_CORE_ID 0x2ba01477
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ STM32F7_CORE_ID 0x5ba02477
ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ src / flash_loader.c - Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ stlink_flash_loader_write_to_sram, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π²ΡΠ³Π»ΡΠ΄Π΅Π» ΡΠ°ΠΊ (~ ΡΡΡΠΎΠΊΠ° 264):
} ΠΈΠ½Π°ΡΠ΅, Π΅ΡΠ»ΠΈ (sl-> core_id == STM32VL_CORE_ID
|| sl-> core_id == CS32VL_CORE_ID
|| sl-> chip_id == STLINK_CHIPID_STM32_F1_MEDIUM
|| sl-> chip_id == STLINK_CHIPID_STM32_F3ΠΠ°ΡΠ΅ΠΌ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΈΠ»ΠΈΡΡ stlink Ρ ΡΡΠΈΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ, ΠΈ ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ°Π±ΠΎΡΠ°ΡΡ ...
ΠΡΠΈΠ²Π΅Ρ, dexvovich,
Ty Π·Π° Π²Π°ΡΡ ΠΏΠΎΠΌΠΎΡΡ. Π― ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» ΡΠ°ΠΉΠ»Ρ, ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°Π½ΠΎ Π²ΡΡΠ΅, Π½ΠΎ Ρ ΠΌΠ΅Π½Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π½ΠΎΠ²Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°: ΠΊΠΎΠ³Π΄Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«make flashΒ», ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠ°ΡΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Β«flash_loader.cΒ».
Π― ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ, Π½ΠΎ Ρ ΠΌΠ΅Π½Ρ ΡΠ° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΎΠ½ Π½Π΅ ΡΠΈΡΠ°Π΅Ρ Π½ΠΎΠ²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Π²Π½Π΅Ρ.
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΈΠ΄Π΅ΠΈ, ΠΊΠ°ΠΊ Π·Π°ΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ», ΡΠ²ΡΠΆΠΈΡΠ΅ΡΡ ΡΠΎ ΠΌΠ½ΠΎΠΉ.
Ty
Π― Π±Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ» make clean
ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΡΠΎΠΈΡΡ, ΡΡΠΎΠ±Ρ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΡΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅, ΡΡΠΎ, ΠΏΠΎΡ
ΠΎΠΆΠ΅, Π½Π΅ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ. ΠΡΠ»ΠΈ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΏΠΎΠΌΠΎΡΡ, ΠΎΡΠΏΡΠ°Π²ΡΡΠ΅ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½ΠΎΠ²ΡΠΉ ΡΠΈΠΊΠ΅Ρ. ;-)
@eugenesia : ΠΠ΅ΡΡΠΌΠ° Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΡΡΠΎ Ρ Π²Π°Ρ Π½Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΡΠΎΠΌΡ MCU, Π½ΠΎ ΠΌΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ ΡΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ CKS32F103 Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ². Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΏΡΡΠΊΠ° ΡΠ΅ΡΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½Π° ΠΏΠ΅ΡΠ²ΠΎΠΌΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ Π΄Π»Ρ CKS32F103, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ» ΡΠ΅Π³ΡΠ΅ΡΡΠΈΡ (# 757). Π’Π°ΠΊ ΡΡΠΎ ΡΡΠΎ ΠΌΠΎΠ³Π»ΠΎ Π±ΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΎ ΠΈ Ρ # 805. Π§ΡΠΎ Π²Ρ Π΄ΡΠΌΠ°Π΅ΡΠ΅ ΠΎΠ± ΡΡΠΎΠΌ?
@rayslinky : ΠΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ # 805?
@eugenesia : ΠΠ΅ΡΡΠΌΠ° Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΡΡΠΎ Ρ Π²Π°Ρ Π½Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΡΠΎΠΌΡ MCU, Π½ΠΎ ΠΌΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ ΡΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ CKS32F103 Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ². Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΏΡΡΠΊΠ° ΡΠ΅ΡΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½Π° ΠΏΠ΅ΡΠ²ΠΎΠΌΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ Π΄Π»Ρ CKS32F103, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ» ΡΠ΅Π³ΡΠ΅ΡΡΠΈΡ (# 757). Π’Π°ΠΊ ΡΡΠΎ ΡΡΠΎ ΠΌΠΎΠ³Π»ΠΎ Π±ΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΎ ΠΈ Ρ # 805. Π§ΡΠΎ Π²Ρ Π΄ΡΠΌΠ°Π΅ΡΠ΅ ΠΎΠ± ΡΡΠΎΠΌ?
ΠΡΠΈΠ²Π΅Ρ, @ Nightwalker-87, Ρ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΡΡ Ρ Π²Π°ΡΠ΅ΠΉ Ρ ΡΠΎΠ½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ ΡΠΎΠ±ΡΡΠΈΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΡΠΈΠΏΠΎΠΌ CS32 https://github.com/texane/stlink/issues/756#issuecomment -605629968. ΠΡΠΎ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ ΠΊΠΎΠΌΠ΅Π΄ΠΈΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΈ ΠΎΠ½Π° Π±Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΠ»Π°ΡΡ, Π΅ΡΠ»ΠΈ Π±Ρ Π²Ρ Π΅Π΅ Π½Π΅ ΡΠ°Π·ΡΠ΅ΡΠΈΠ»ΠΈ, ΡΠ°ΠΊ ΡΡΠΎ ΡΠΏΠ°ΡΠΈΠ±ΠΎ, ΡΡΠΎ Π½Π°ΠΊΠΎΠ½Π΅Ρ-ΡΠΎ ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π»ΠΈ.
Π― Π½Π΅ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ # 805 ΠΈΡΠΏΡΠ°Π²ΠΈΠ» Π±Ρ ΡΡΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΡΠΈΠΏΠ° STLINK_CHIPID_STM32_F1_MEDIUM
(0x410). ΠΠ· https://github.com/texane/stlink/issues/769#issue -410536487 ΡΡΠ° ΠΏΠ»Π°ΡΠ° GD32 ΠΈΠΌΠ΅Π΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠΈΠΏΠ° 0x430 (Π½Π΅ 0x410) ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ΄ΡΠ° 0x2ba01477.
ΠΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ»Π°ΡΡ GD32 ΠΏΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ. ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ _chipid.h_ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΡΠΈΠΏΠ° 0x430 ΠΊΠ°ΠΊ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠ΅Π΅ ΠΏΠ»Π°ΡΠ΅ STM32F1 STLINK_CHIPID_STM32_F1_XL
. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ»Π°ΡΠ΅ GD32 (ΠΊΠ»ΠΎΠ½ ΠΏΠ»Π°ΡΡ STM32F303) Π½Π°ΡΡΡΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΏΠ»Π°ΡΡ Β«STM32_F1_XLΒ».
ΠΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡ ΠΏΠ»Π°ΡΡ ΠΏΠΎ Π΅Π΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΡΠ΄ΡΠ°, Π½ΠΎ ΠΌΡ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ΄ΡΠ° 0x2ba01477 ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠΈΡΠ½ΡΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ°Π·Π½ΡΠ΅ ΠΏΠ»Π°ΡΡ ΠΈΠΌΠ΅ΡΡ ΡΡΠΎΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ. ΠΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π² β 757 ΠΏΡΠΈΠ²Π΅Π»ΠΎ ΠΊ ΡΠ΅Π³ΡΠ΅ΡΡΠΈΠΈ Π² β 761.
ΠΠΎΡ ΡΡΠΎ Ρ ΡΠΌΠΎΠ³ ΡΠ·Π½Π°ΡΡ ΠΎΠ± ΡΡΠΈΡ Π΄ΠΎΡΠΊΠ°Ρ :
ΠΠΎΡΠΊΠ° | ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ | ΠΠ»ΠΎΠ½ | Π―Π΄ΡΠΎ | Core ID | ID ΡΠΈΠΏΠ° | ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½Π°Ρ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΠ°
--- | --- | --- | --- | --- | --- | ---
CS32F103C8T6 | ΠΠΈΡΠ°ΠΉΡΠΊΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠ»ΡΡΠ΅ΠΉ (CKS) | STM32F103C8T6 | ARM Cortex-M3 | 0x2ba01477 | 0x410 ( STLINK_CHIPID_STM32_F1_MEDIUM
) | # 756
STM32F401 | ST | N / A (ΠΎΡΠΈΠ³ΠΈΠ½Π°Π») | ARM Cortex-M4 | 0x2ba01477 | ? (Π£ ΠΌΠ΅Π½Ρ Π΅Π³ΠΎ Π½Π΅Ρ) | https://github.com/texane/stlink/issues/761#issuecomment -462068740
GD32F303VGT6 | GigaDevice | STM32F303 | Arm Cortex-M4 | 0x2ba01477 | 0x430 | https://github.com/texane/stlink/issues/769#issue -410536487 Π‘ΡΡΠ°Π½ΠΈΡΠ° ΠΏΡΠΎΠ΄ΡΠΊΡΠ° GigaDevice GD32
Π‘ΡΠ΄Ρ ΠΏΠΎ ΠΈΠΌΠ΅ΡΡΠΈΠΌΡΡ Ρ Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°ΠΌ ΡΠΈΠΏΠΎΠ²-ΠΊΠ»ΠΎΠ½ΠΎΠ² Π½Π΅Π»ΡΠ·Ρ Π΄ΠΎΠ²Π΅ΡΡΡΡ. ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ, ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠ±ΡΠ°ΡΡ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ ΡΠ»Π΅Ρ-ΠΏΠ°ΠΌΡΡΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΊΠ°ΠΊ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ Π·Π΄Π΅ΡΡ https://github.com/texane/stlink/issues/761#issuecomment -462868649?
ΠΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠ»Π°ΡΡ ΠΏΠΎ Π΅Π΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΡΠ΄ΡΠ° Π ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌΡ, ΠΊΠΎΡΠΎΡΡΠΉ, Π½Π°Π΄Π΅ΡΡΡ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ?
Π― Π½Π΅ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ # 805 ΠΈΡΠΏΡΠ°Π²ΠΈΠ» Π±Ρ ΡΡΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΡΠΈΠΏΠ°
STLINK_CHIPID_STM32_F1_MEDIUM
(0x410). ΠΠ· # 769 (ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ) ΡΡΠ° ΠΏΠ»Π°ΡΠ° GD32 ΠΈΠΌΠ΅Π΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌΡ 0x430 (Π½Π΅ 0x410) ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ΄ΡΠ° 0x2ba01477.ΠΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ»Π°ΡΡ GD32 ΠΏΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌΡ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ. ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ chipid.h ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΡΠΈΠΏΠ° 0x430 ΠΊΠ°ΠΊ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠ΅Π΅ ΠΏΠ»Π°ΡΠ΅ STM32F1 STLINK_CHIPID_STM32_F1_XL. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ»Π°ΡΠ΅ GD32 (ΠΊΠ»ΠΎΠ½ ΠΏΠ»Π°ΡΡ STM32F303) Π½Π°ΡΡΡΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΏΠ»Π°ΡΡ Β«STM32_F1_XLΒ».
ΠΡ ΠΏΡΡΠΌΠΎ Π·Π΄Π΅ΡΡ. ΠΡΠ»ΠΈ ΡΠ΅ΡΡΠ½ΠΎ, Ρ ΠΌΠΎΠ³ Π±Ρ ΡΡΠΎ Π²ΡΡΡΠ½ΠΈΡΡ ΡΠ°ΠΌ, Π΅ΡΠ»ΠΈ Π±Ρ ΠΏΡΠΈΡΠΌΠΎΡΡΠ΅Π»ΡΡ - Π½Π΅Π²Π°ΠΆΠ½ΠΎ ...
ΠΠ½Π΅ Π½ΡΠ°Π²ΠΈΡΡΡ ΠΈΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ core-id + chip-id + ΡΡΠΈΡΡΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ, ΡΡΠΎΠ±Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ»Π°ΡΡ - ΠΊΠ°ΠΊ Π΄Π»Ρ Π½Π°ΡΡΠΎΡΡΠΈΡ , ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠ»Π°Ρ. ΠΠΎΠΆΠ΅Ρ, Π΅ΡΡΡ Π΄Π°ΠΆΠ΅ 4-ΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π·Π»ΠΈΡΠΈΡΡ. ΠΠ°Π΄ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅. Π Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π»ΠΎΠΆΠ½ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΆΠ΅ΡΡΠΊΠΎ Π·Π°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π±Π΅Π· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
ΠΠ΄Π΅Ρ Π½Π°Π»ΠΈΡΠΈΡ ΡΠ°Π±Π»ΠΈΡΡ ΠΏΠΎΠΈΡΠΊΠ°, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌΡ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠΉ Π² Π½Π°ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, ΡΠ°ΠΊΠΆΠ΅ ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½Π° Ρ ΠΌΠΎΠ΅ΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ. ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠΈ Π² /include/stlink/chipid.h
ΠΈ /include/stm32.h
. ΠΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ /doc/testedboards.md
ΠΊΠΎΡΠΎΡΡΠΉ, ΠΊΠ°ΠΊ ΠΌΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ, (ΡΠ°ΡΡΠΈΡΠ½ΠΎ) ΡΡΡΠ°ΡΠ΅Π». ΠΠ΄Π½Π°ΠΊΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΎΡΡΡΠ΄Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ Π² ΡΠ°ΠΊΡΡ ββΡΠ°Π±Π»ΠΈΡΡ.
ΠΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ β 903.
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΡΠΈΠ²Π΅Ρ, Π‘ΠΈΠ·ΠΈΡΠΎ.
ΠΡΠΎΠ΅ΠΊΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΡΡ, Π½ΠΎ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ.
ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ /include/stm32.h - ΡΡΠΎΠ±Ρ ΠΎΠ½ Π²ΡΠ³Π»ΡΠ΄Π΅Π» ΡΠ°ΠΊ:
// ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΡΠ΄ΡΠ° ΠΊΠΎΡΡ
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ STM32VL_CORE_ID 0x1ba01477
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ CS32VL_CORE_ID 0x2ba01477
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ STM32F7_CORE_ID 0x5ba02477
ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ src / flash_loader.c - Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ stlink_flash_loader_write_to_sram, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π²ΡΠ³Π»ΡΠ΄Π΅Π» ΡΠ°ΠΊ (~ ΡΡΡΠΎΠΊΠ° 264):
} ΠΈΠ½Π°ΡΠ΅, Π΅ΡΠ»ΠΈ (sl-> core_id == STM32VL_CORE_ID
|| sl-> core_id == CS32VL_CORE_ID
|| sl-> chip_id == STLINK_CHIPID_STM32_F1_MEDIUM
|| sl-> chip_id == STLINK_CHIPID_STM32_F3
ΠΠ°ΡΠ΅ΠΌ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΈΠ»ΠΈΡΡ stlink Ρ ΡΡΠΈΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ, ΠΈ ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ°Π±ΠΎΡΠ°ΡΡ ...