ΠΠ°ΠΊΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² STM32. Π§Π΅ΠΌ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠ΅ ST-Link ΠΎΡ ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΡ ΠΊΠ»ΠΎΠ½ΠΎΠ². ΠΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΈ Π½Π°ΡΡΡΠΎΠΈΡΡ ST-Link Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ STM32. ΠΠ°ΠΊΠΈΠ΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΌΠ΅ΡΡΠΎ ST-Link.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΈ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠΎΠ² ST-Link
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ ST-Link — ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠ΅ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° STM32. ΠΠ½ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ ΡΠ΅Π»Π΅Π²ΠΎΠΌΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΠΏΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ SWD (Serial Wire Debug) ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ:
- ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Π² ΠΏΠ°ΠΌΡΡΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°
- ΠΠΎΡΠ°Π³ΠΎΠ²Π°Ρ ΠΎΡΠ»Π°Π΄ΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π°
- Π§ΡΠ΅Π½ΠΈΠ΅/Π·Π°ΠΏΠΈΡΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°
- Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (Π·Π°ΠΏΡΡΠΊ, ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ°, ΡΠ±ΡΠΎΡ)
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠΎΠ² ST-Link:
- ΠΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠ΅ ST-Link ΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ STMicroelectronics
- ΠΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΡ Π² ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ ΠΏΠ»Π°ΡΠ°Ρ STM32
- ΠΠΈΡΠ°ΠΉΡΠΊΠΈΠ΅ ΠΊΠ»ΠΎΠ½Ρ ST-Link
- ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΡ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ SWD/JTAG
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ.

ΠΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΡ ST-Link
ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ STMicroelectronics Π²ΡΠΏΡΡΠΊΠ°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΡΠΈΡΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠΎΠ² ST-Link:
- ST-Link/V2 — Π±Π°Π·ΠΎΠ²Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Π±Π΅Π· Π³Π°Π»ΡΠ²Π°Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ°Π·Π²ΡΠ·ΠΊΠΈ
- ST-Link/V2-1 — ΡΠ»ΡΡΡΠ΅Π½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ Ρ Π³Π°Π»ΡΠ²Π°Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ°Π·Π²ΡΠ·ΠΊΠΎΠΉ
- ST-Link/V3 — Π½ΠΎΠ²Π΅ΠΉΡΠ°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠΎΠ²:
- ΠΡΡΠΎΠΊΠ°Ρ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΡ ΠΈ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ
- ΠΡΠΈΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ
- Π Π°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ
- ΠΠ°Π»ΡΠ²Π°Π½ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°Π·Π²ΡΠ·ΠΊΠ° (Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠ΄Π΅Π»ΡΡ )
ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ — Π²ΡΡΠΎΠΊΠ°Ρ ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΌΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠ°ΠΌΠΈ.
ΠΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΡ Π² ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ ΠΏΠ»Π°ΡΠ°Ρ STM32
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΠ΅ ΠΏΠ»Π°ΡΡ STM32 Discovery ΠΈ Nucleo ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ ST-Link. ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠΎΠ²:
- ΠΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Ρ Π² ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ ΠΏΠ»Π°ΡΡ
- ΠΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ²
- ΠΠΌΠ΅ΡΡ ΡΠ°Π·ΡΠ΅ΠΌ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΠΏΠ»Π°ΡΠ°ΠΌ
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ΅ΠΆΠΈΠΌΡ SWD ΠΈ JTAG
ΠΡΠΎ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ ΠΏΠ»Π°ΡΡ, ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅.

ΠΠΈΡΠ°ΠΉΡΠΊΠΈΠ΅ ΠΊΠ»ΠΎΠ½Ρ ST-Link
ΠΠ° ΡΡΠ½ΠΊΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π½Π΅Π΄ΠΎΡΠΎΠ³ΠΈΡ ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΡ ΠΊΠ»ΠΎΠ½ΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ° ST-Link. ΠΠ½ΠΈ Π²ΡΠΏΡΡΠΊΠ°ΡΡΡΡ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΎΡΠΌ-ΡΠ°ΠΊΡΠΎΡΠ°Ρ :
- Π Π²ΠΈΠ΄Π΅ USB-ΡΠ»Π΅ΡΠΊΠΈ
- Π Π°Π»ΡΠΌΠΈΠ½ΠΈΠ΅Π²ΠΎΠΌ ΠΊΠΎΡΠΏΡΡΠ΅
- Π ΠΏΠ»Π°ΡΡΠΈΠΊΠΎΠ²ΠΎΠΌ ΠΊΠΎΡΠΏΡΡΠ΅
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΡΠ»ΠΈΡΠΈΡ ΠΎΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΡ ST-Link:
- ΠΠ½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠ°Ρ ΡΠ΅Π½Π° (ΠΎΡ $2-3)
- ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ Π·Π°ΡΠΈΡΠ½ΡΡ ΡΠ΅ΠΏΠ΅ΠΉ ΠΈ Π³Π°Π»ΡΠ²Π°Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ°Π·Π²ΡΠ·ΠΊΠΈ
- ΠΠ΅Π½ΡΡΠ°Ρ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΡ ΠΈ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ
- Π ΠΈΡΠΊ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ USB-ΠΏΠΎΡΡΠ° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° ΠΏΡΠΈ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ, ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΠ΅ ΠΊΠ»ΠΎΠ½Ρ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Ρ ΡΡΠ΅Π΄ΠΈ Π»ΡΠ±ΠΈΡΠ΅Π»Π΅ΠΉ ΠΈ Π² ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅Π»ΡΡ ΠΈΠ·-Π·Π° Π½ΠΈΠ·ΠΊΠΎΠΉ ΡΠ΅Π½Ρ.
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ST-Link ΠΊ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ STM32
ΠΠ»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ° ST-Link ΠΊ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ STM32 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ SWD, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠ΅Π±ΡΠ΅Ρ Π²ΡΠ΅Π³ΠΎ 2 ΡΠΈΠ³Π½Π°Π»ΡΠ½ΡΡ Π»ΠΈΠ½ΠΈΠΈ:
- SWDIO — Π»ΠΈΠ½ΠΈΡ Π΄Π°Π½Π½ΡΡ
- SWCLK — ΡΠ°ΠΊΡΠΎΠ²Π°Ρ Π»ΠΈΠ½ΠΈΡ
ΠΡΠΈ ΡΠΈΠ³Π½Π°Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ Π²ΡΠ²ΠΎΠ΄Π°ΠΌ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° STM32:
- SWDIO — PA13
- SWCLK — PA14
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΎΠ±ΡΠΈΠΉ ΠΏΡΠΎΠ²ΠΎΠ΄ (GND) ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ° ΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°.
ΠΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π»ΠΈΠ½ΠΈΡ RESET ΠΊ Π²ΡΠ²ΠΎΠ΄Ρ NRST ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π΄Π»Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΅Π³ΠΎ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠ±ΡΠΎΡΠ°.

ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ST-Link Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ STM32
ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ° ST-Link Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°ΠΌΠΈ STM32 Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ:
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ ST-Link
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡΠΈΠ»ΠΈΡΡ STM32 ST-LINK Utility
- ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ ΠΊ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ ΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ
- ΠΠ°ΡΡΡΠΎΠΈΡΡ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ST-Link
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² ST-Link
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΌ ST-Link Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ ΠΎΡ STMicroelectronics. ΠΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ Ρ ΡΠ°ΠΉΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ. ΠΠ»Ρ ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΡ ΠΊΠ»ΠΎΠ½ΠΎΠ² ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° STM32 ST-LINK Utility
STM32 ST-LINK Utility — ΡΡΠΎ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½Π°Ρ ΡΡΠΈΠ»ΠΈΡΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠΎΠΌ ST-Link. ΠΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ:
- ΠΡΠΎΡΠΈΠ²Π°ΡΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ
- Π‘ΡΠΈΡΠ°ΡΡ ΠΏΠ°ΠΌΡΡΡ
- ΠΠ΅ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΡ
- Π Π°Π±ΠΎΡΠ°ΡΡ Ρ ΠΎΠΏΡΠΈΡΠΌΠΈ Π·Π°ΡΠΈΡΡ
Π£ΡΠΈΠ»ΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ Ρ ΡΠ°ΠΉΡΠ° STMicroelectronics.
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ°
ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ ST-Link ΠΊ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΌΡ USB-ΠΏΠΎΡΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°. Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅ Π²ΡΠ²ΠΎΠ΄Ρ SWDIO, SWCLK ΠΈ GND ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ° Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ Π²ΡΠ²ΠΎΠ΄Π°ΠΌΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° STM32.

ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ΅Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π»Ρ STM32 ΠΈΠΌΠ΅ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ST-Link. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π²ΡΠ±ΡΠ°ΡΡ ST-Link Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ°/ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°.
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΡ Π΄Π»Ρ STM32
ΠΠΎΠΌΠΈΠΌΠΎ ST-Link ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°ΠΌΠΈ STM32:
J-Link
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ J-Link ΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ SEGGER — ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°ΠΌΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ STM32. ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ J-Link:
- ΠΡΡΠΎΠΊΠ°Ρ ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° SWD ΠΈ JTAG
- Π Π°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ
- Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎΠΌ ΡΡΠ΅Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ J-Link — Π²ΡΡΠΎΠΊΠ°Ρ ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ².
Black Magic Probe
Black Magic Probe (BMP) — ΡΡΠΎ ΠΎΡΠΊΡΡΡΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ°-ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° Π΄Π»Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² ARM Cortex-M. ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ:
- ΠΡΡΡΠΎΠ΅Π½Π½ΡΠΉ GDB-ΡΠ΅ΡΠ²Π΅Ρ
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° SWD ΠΈ JTAG
- ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ UART Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ
- ΠΡΠΊΡΡΡΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΈ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅
BMP ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½Π° Π±Π°Π·Π΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ STM32F103.

FTDI-based ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΡ
Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΡ Π½Π° Π±Π°Π·Π΅ ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌ FTDI, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ JTAG. ΠΡΠΈΠΌΠ΅ΡΡ ΡΠ°ΠΊΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ²:
- Altera USB Blaster
- Xilinx Platform Cable USB
ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Ρ STM32 ΠΎΠ½ΠΈ ΡΡΠ΅Π±ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ.
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠΎΠ² Π΄Π»Ρ STM32
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠΎΠ² Π΄Π»Ρ STM32:
Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ° | ST-Link | J-Link | Black Magic Probe | FTDI-based |
---|---|---|---|---|
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° SWD | ΠΠ° | ΠΠ° | ΠΠ° | ΠΠ΅Ρ |
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° JTAG | ΠΠ° | ΠΠ° | ΠΠ° | ΠΠ° |
Π‘ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ | Π‘ΡΠ΅Π΄Π½ΡΡ | ΠΡΡΠΎΠΊΠ°Ρ | Π‘ΡΠ΅Π΄Π½ΡΡ | ΠΠΈΠ·ΠΊΠ°Ρ |
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ | Π₯ΠΎΡΠΎΡΠΈΠ΅ | ΠΡΠ»ΠΈΡΠ½ΡΠ΅ | Π₯ΠΎΡΠΎΡΠΈΠ΅ | ΠΠ°Π·ΠΎΠ²ΡΠ΅ |
Π¦Π΅Π½Π° | Π‘ΡΠ΅Π΄Π½ΡΡ | ΠΡΡΠΎΠΊΠ°Ρ | ΠΠΈΠ·ΠΊΠ°Ρ | ΠΠΈΠ·ΠΊΠ°Ρ |
ΠΡΠ±ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ° Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π±ΡΠ΄ΠΆΠ΅ΡΠ° ΠΈ Π»ΠΈΡΠ½ΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°.
Π‘ΠΎΠ²Π΅ΡΡ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠΎΠ² ST-Link
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ°ΠΌΠΈ ST-Link ΠΈ ΠΈΡ Π°Π½Π°Π»ΠΎΠ³Π°ΠΌΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΠΆΠ½ΡΡ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠ²:
- ΠΡΠ΅Π³Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΡΠΉΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ ΡΠ°Π±ΠΎΡΡ. ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ° ΠΈΠ»ΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°.
- ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΡ ΠΊΠ»ΠΎΠ½ΠΎΠ² ST-Link Π±ΡΠ΄ΡΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΎΡΡΠΎΡΠΎΠΆΠ½Ρ. ΠΠ½ΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡΡ Π·Π°ΡΠΈΡΠ½ΡΡ ΡΠ΅ΠΏΠ΅ΠΉ ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½Ρ ΠΏΡΠΈ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ.
- Π Π΅Π³ΡΠ»ΡΡΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠΉΡΠ΅ ΠΏΡΠΎΡΠΈΠ²ΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ° ST-Link Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ.
- ΠΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ, ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° SWD Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ .
- ΠΠ»Ρ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΊΠ°Π±Π΅Π»ΠΈ ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ. ΠΠ»ΠΎΡ ΠΎΠΉ ΠΊΠΎΠ½ΡΠ°ΠΊΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ ΠΏΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅.
Π‘ΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ ΡΡΠΈΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΡ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠΎΠΌ ST-Link ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½Π° Π±Π°Π·Π΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² STM32.

ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ ST-Link β DiMoon Electronics
ΠΠΎ-Ρ ΠΎΡΠΎΡΠ΅ΠΌΡ, Π΄Π°Π½Π½ΡΡ ΡΠ΅ΠΌΡ Π½Π°Π΄ΠΎ Π±ΡΠ»ΠΎ Π·Π°ΡΡΠΎΠ½ΡΡΡ Π΅ΡΠ΅ Π²ΠΎ 2-ΠΉ ΠΈΠ»ΠΈ 3-ΠΉ ΡΠ°ΡΡΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΡΡΠ°ΡΠ΅ΠΉ. ΠΠΎ Π»ΡΡΡΠ΅ ΠΏΠΎΠ·Π΄Π½ΠΎ, ΡΠ΅ΠΌ Π½ΠΈ ΠΊΠΎΠ³Π΄Π°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΠ΅Ρ Π°Π»ΠΈ! Π ΡΡΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΌΡ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠΎΠΌ ST-Link, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΡ Π² ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ STM32 ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ.Β ΠΡΠ΅Π΄ΡΠ΄ΡΡΠ°Ρ ΡΡΠ°ΡΡΡΒ Π·Π΄Π΅ΡΡ, Π²ΡΠ΅ ΡΡΠ°ΡΡΠΈ ΡΠΈΠΊΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΡΡ:Β http://dimoon.ru/category/obuchalka/stm32f1.
Π Π°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠΎΠ² ST-Link
ΠΠ»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Π² ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ STM32 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΒ ST-Link, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΠΎΠΌΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΠΏΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ SWD. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΠ³ΠΎ ΠΆΠ΅Β ST-Link-Π° ΠΈΒ SWD ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΈΠ· ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π° (breakpoint). ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ
breakpoint-ΠΎΠ² ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΡΡΠΊΠ°ΠΌΠΈ (ΡΠΎΡΠ½ΠΎ Π½Π΅ ΠΏΠΎΠΌΠ½Ρ ΡΠΊΠΎΠ»ΡΠΊΠΎ, Π²ΡΠΎΠ΄Π΅ 5 ΡΡΡΠΊ), Π½ΠΎ ΡΡΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ.
Π ΡΠΈΡΠΌΠ΅Π½Π½ΡΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ ΠΏΠ»Π°ΡΠ°Ρ ΠΎΡ ST Π½Π° Π±ΠΎΡΡΡ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΈ ΡΠ°ΠΌ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ, ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΒ ST-Link, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΠΊ ΠΆΠ΅ ΡΠ΄Π΅Π»Π°Π½ Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ΅ STM32. Π ΡΡΠ°ΡΠΈ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΡΡΠΎΠ΅Π½ Π² ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ ΠΏΠ»Π°ΡΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° STM32.Β ΠΠ»Ρ ΡΡΠΈΡ ΡΠ΅Π»Π΅ΠΉ Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ Π³ΡΠ΅Π±Π΅Π½ΠΊΠ° Π½Π° ΠΏΠ»Π°ΡΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΡΡΠΊΠΈ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ SWD ΠΎΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, ΡΠ°ΡΠΏΠ°ΡΠ½Π½ΠΎΠ³ΠΎ Π½Π° ΠΏΠ»Π°ΡΠ΅. Π ΠΌΠΎΠ΅ΠΌ ΡΠ°ΡΠΏΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΏΠ»Π°ΡΠ°Β stm32f4discovery, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ STM32F407VG, ΠΈ ΡΡΡ ΠΏΠ»Π°ΡΡ Ρ ΠΊΠ°ΠΊ ΡΠ°Π· ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΒ ST-Link:
ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΡΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΒ ST-Link. Π’ΡΡ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ². ΠΠ΅ΡΠ²ΡΠΉ β ΡΡΠΎ ΡΠΈΡΠΌΠ΅Π½Π½ΡΠΉΒ ST-Link, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ²Π°Π΅Ρ Ρ Π³Π°Π»ΡΠ²Π°Π½ΠΈΡΠ°ΡΠΊΠΎΠΉ ΡΠ°Π·Π²ΡΠ·ΠΊΠΎΠΉ ΠΈ Π±Π΅Π· Π½Π΅Π΅. ΠΡΠ³Π»ΡΠ΄ΡΡ ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΡ Π²ΠΎΡ ΡΠ°ΠΊ:
ΠΡΡΠ³ΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ β ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΠΉ ST-Link Π² ΡΠΎΡΠΌ-ΡΠ°ΠΊΡΠΎΡΠ΅ ΡΠ»Π΅ΡΠΊΠΈ:
ΠΠ°ΡΠΈΠ°Π½Ρ Π² ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅ ΡΠΎΠΆΠ΅ Π½Π΅ΠΏΠ»ΠΎΡ
ΠΎΠΉ, ΡΠΎΠ»ΡΠΊΠΎ Π½Π°Π΄ΠΎ ΠΈΠΌΠ΅ΡΡ Π²Π²ΠΈΠ΄Ρ, ΡΡΠΎ Π²Π½ΡΡΡΠΈ Ρ Π½Π΅Π³ΠΎ Π½Π΅Ρ Π½ΠΈ ΠΊΠ°ΠΊΠΈΡ
Π·Π°ΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° USB ΠΈ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ»Π°ΡΡ, ΡΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΈ Π½Π΅Π²ΡΡΠΎΠ²Π½Π΅Π½Π½ΡΡ
Π·Π΅ΠΌΠ»ΡΡ
ΡΡ
Π΅ΠΌΡ ΠΈ ΠΠ, ΠΠ Π² ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΡΡ
Π΅ΠΌΠ΅, ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅, Π΅ΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ°Π½Ρ ΡΠΏΠ°Π»ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ USBΒ ΠΏΠΎΡΡΠΎΠΌ Π² ΠΊΠΎΠΌΠΏΠ΅. Π’Π°ΠΊ ΡΡΠΎ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΡΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠΎΠΌ Π½Π°Π΄ΠΎ Π±ΡΡΡ ΠΏΡΠ΅Π΄Π΅Π»ΡΠ½ΠΎ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ!
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ° ST-Link ΠΊ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ STM32
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ SWD, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΠΈΠΌΠ΅Π΅Ρ 2 Π»ΠΈΠ½ΠΈΠΈ:
- SWCLK
ΠΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠΎΠΌ Π΄Π»Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Π² Π½ΠΎΠ²Π΅Π½ΡΠΊΠΈΠΉ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΈΠ»ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΈ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (ΠΈΠ· IAR-Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ). ΠΠΎ Π²ΡΠ΅Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°Ρ STM32 Π²ΡΠ²ΠΎΠ΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ²ΠΌΠ΅ΡΠ΅Π½Ρ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΠΏΠΎΡΡΠ°ΠΌΠΈ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°:
- SWDIO β PA13
- SWCLK β PA14
ΠΡΠ²ΠΎΠ΄Ρ PA13 ΠΈ PA14 ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ ΠΊΠ°ΠΊ ΡΠ°ΠΌΡΠ΅ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΠΏΠΎΡΡΡ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°, ΠΎΠ΄Π½Π°ΠΊΠΎ, Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅ΡΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΈΠ· ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΅ΡΠ»ΠΈ ΠΈΠ· ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ, Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠΉ Π² ΠΠ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠΎ-ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΠΈΠ½ΠΎΠ² PA13 ΠΈ PA14, ΠΏΡΠΎΡΠ΅ΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π½ΠΎΠ²ΠΎΠΉ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π·Π°ΡΡΡΠ΄Π½ΠΈΡΠ΅Π»Π΅Π½, ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΎΠ²ΠΎΠ΄, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ ΠΈ ΠΠ: Π»ΠΈΠ½ΠΈΡ RESET. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΏΠ΅ΡΠ΅Π΄ Π·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ,Β ST-Link
ΠΠ° ΡΡΠΎΠΌ ΠΏΠΎΠΊΠ° Π²ΡΠ΅, ΡΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅!!! ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅
ΠΠ΄Π°ΠΏΡΠ΅ΡΡ JTAG Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ SWD | arm
Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ JTAG ΡΠΈΡΠΎΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ², ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠ΅ Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°Ρ , CPU, CPLD ΠΈ/ΠΈΠ»ΠΈ FPGA. JTAG ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ, ΡΡΠ΅Π½ΠΈΠ΅/Π·Π°ΠΏΠΈΡΡ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠΆΠΊΠ°ΠΌΠΈ I/O, Π°Π½Π°Π»ΠΈΠ· Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° (Π·Π΄Π΅ΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΠ°ΡΡΠΈ [1]).
Π’Π΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡ SWD (ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ Serial Wire Debug) ΡΡΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ JTAG, ΡΡΠ΅Π±ΡΡΡΠ°Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎΠ»ΡΠΊΠΎ 2 ΡΠΈΠ³Π½Π°Π»ΡΠ½ΡΡ
Π²ΡΠ²ΠΎΠ΄ΠΎΠ² Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ 4 Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ JTAG (ΠΈΠ½ΠΎΠ³Π΄Π° Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠΈΠ³Π½Π°Π», ΡΡΠΎ Π΄ΠΎΠ²ΠΎΠ΄ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠ³Π½Π°Π»ΡΠ½ΡΡ
ΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠΎΠ² Π΄ΠΎ 5).
Π‘ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π² ΡΠ΅Π»Π΅Π²ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ (target device). ΠΠΎΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ (Debug Port) ΡΠ°ΡΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ JTAG-DP Π΄Π»Ρ JTAG ΠΈ SW-DP Π΄Π»Ρ SWD. Π£ΡΡΡΠΎΠΉΡΡΠ²ΠΎ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ SWJ ΡΠ°ΡΡΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΡΠ΅Ρ Π² ΡΠ΅Π±Π΅ ΠΎΠ±Π° ΡΡΠΈΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ°, ΠΏΡΠΈ ΡΡΠΎΠΌ SWD-ΡΠΈΠ³Π½Π°Π»Ρ SWDIO ΠΈ SWCLK ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΊΠ°ΠΊ JTAG-ΡΠΈΠ³Π½Π°Π»Ρ JTMS ΠΈ JTCK (ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, SWJ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠΌ JTAG). ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ 32-Π±ΠΈΡΡΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² ΠΈ ΡΠΈΠΏΠΎΠ² SoC ΠΈΠΌΠ΅ΡΡ Π½Π° Π±ΠΎΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² (ΠΈΠ»ΠΈ ΠΎΠ±Π°).
Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ ΠΠ°ΠΌ Π½ΡΠΆΠ΅Π½ SWJ-Π°Π΄Π°ΠΏΡΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ Ρ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΠΌ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ JTAG ΠΈ/ΠΈΠ»ΠΈ SWD. SWJ ΠΌΠΎΠ³ΡΡ ΡΡΠΎΠΈΡΡ Π½Π΅Π΄ΠΎΡΠΎΠ³ΠΎ (< 5$) ΠΈ ΠΎΡΠ΅Π½Ρ Π΄ΠΎΡΠΎΠ³ΠΎ (> 1000$), Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° Π°ΠΏΠΏΠ°ΡΠ°ΡΡΡΡ ΠΈ ΠΠ (ΠΈ ΠΎΡ Π±ΡΠ΅Π½Π΄Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ). ΠΠΈΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ SWJ-Π°Π΄Π°ΠΏΡΠ΅ΡΠΎΠ².
[ST-Link v2]
ST-LINK/V2 ΡΡΠΎ Π°Π΄Π°ΠΏΡΠ΅Ρ ΠΎΡ STMicroelectronics, ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΉ Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² STM8 ΠΈ STM32 ΡΡΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΠ΅ΡΠΈΡ STM32 F1. ΠΠ΄Π°ΠΏΡΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ JTAG, SWD ΠΈ SWIM (ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ STM8).
ΠΡΠΈ SWJ-Π°Π΄Π°ΠΏΡΠ΅ΡΡ ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°Ρ STM32F1xx ARM Cortex M3. ΠΡΠ±ΠΎΠΏΡΡΠ½ΠΎ, ΡΡΠΎ Π°Π΄Π°ΠΏΡΠ΅Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° STM32F1xx ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΡΠ°ΠΊΠΈΡ ΠΆΠ΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² STM32F1xx.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ST-LINK/V2 Π½Π° Linux. ΠΠ»Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ½Π°ΡΠ°Π»Π° Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° Π΄Π»Ρ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΡΠΎΠΌΡ ΡΡΡΡΠΎΠΉΡΡΠ²Ρ (ΠΏΡΠ°Π²ΠΈΠ»ΠΎ udev, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°Ρ VID ΠΈ PID Π°Π΄Π°ΠΏΡΠ΅ΡΠ°, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌΡΡ lsusb). ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ Π°Π΄Π°ΠΏΡΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π΄Π»Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ:
echo -n 'ST-Link V2 SWJ adapter' | sudo tee -a /etc/udev/rules.d/60-st-linkv2.rules echo -n 'ATTR{idVendor}=="0483", ATTR{idProduct}=="3748", MODE="0666"' | sudo tee -a /etc/udev/rules.d/60-st-linkv2.rules sudo udevadm control --reload-rules
ΠΠ»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°ΠΌ STM32F1xx ARM Cortex M3 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ OpenOCD [9]:
openocd --file interface/stlink-v2.cfg --file target/stm32f1x.cfg Open On-Chip Debugger 0.10.0-dev-00189-g554313b (2016-01-12-10:52) Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html Info : auto-selecting first available session transport "hla_swd". To override use 'transport select < transport >'. Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD adapter speed: 1000 kHz adapter_nsrst_delay: 100 none separate Info : Unable to match requested speed 1000 kHz, using 950 kHz Info : Unable to match requested speed 1000 kHz, using 950 kHz Info : clock speed 950 kHz Info : STLINK v2 JTAG v17 API v2 SWIM v4 VID 0x0483 PID 0x3748 Info : using stlink api v2 Info : Target voltage: 3.534945 Info : stm32f1x.cpu: hardware has 6 breakpoints, 4 watchpoints
[ΠΠ»ΠΎΠ½ ST-LINK/V2]
ΠΡΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΠ΄ΡΠ°Π½Π½ΡΠΉ Ρ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π° ST-LINK/V2. ΠΠ½ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΡΠ°ΠΊΠΎΠΌ ΠΆΠ΅ ΠΊΠΎΡΠΏΡΡΠ΅, Ρ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΆΠ΅ ΠΊΠ°Π±Π΅Π»ΡΠΌΠΈ, Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ ΠΆΠ΅, ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΎ Π΄Π°ΠΆΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ°ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡ (MB936). ΠΠΎ ΡΠ°ΠΌΠ° ΠΏΠ»Π°ΡΠ° Π½Π΅ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅, ΡΠΏΠΈΡΠΎΠΊ Π΄Π΅ΡΠ°Π»Π΅ΠΉ (BOM) Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΌ.
ΠΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ Π°Π΄Π°ΠΏΡΠ΅Ρ ΡΠ½Π°Π±ΠΆΠ΅Π½ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π·Π°ΡΠΈΡΠΎΠΉ ΠΎΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΡΠ²Π°, Π·Π°ΡΠΈΡΠ½ΡΠΌΠΈ ΡΠ΅Π·ΠΈΡΡΠΎΡΠ°ΠΌΠΈ ΠΈ ΡΡΠ°Π½ΡΠΈΠ²Π΅ΡΠΎΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΡΠΎΠ²Π½ΡΠΌΠΈ ΡΠΈΠ³Π½Π°Π»Π° ΠΎΡ 1.65V Π΄ΠΎ 5.5V. Π ΠΊΠ»ΠΎΠ½Π΅ ΡΡΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΈΠ³Π½Π°Π»Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π½Π°ΠΏΡΡΠΌΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Ρ ΠΊ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎΠ²Π½ΠΈ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² 3.3V Π½Π° ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ/ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅, ΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° 5V, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²ΡΠ²ΠΎΠ΄Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡ ΠΏΠΎ Π²Ρ ΠΎΠ΄Ρ ΡΡΠΎΠ²Π½ΠΈ 5V (5V tolerant).
ΠΡΠΎΡ Π°Π΄Π°ΠΏΡΠ΅Ρ ΡΡΠΎΠΈΡ $9, ΡΡΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ. ΠΡΠ»ΠΈ Π½Π΅ Π½ΡΠΆΠ΅Π½ JTAG, ΡΠΎ Π΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅ΡΠ΅Π²ΡΠΉ Π°Π΄Π°ΠΏΡΠ΅Ρ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½ΠΈΠΆΠ΅.
[ST-LINK V2 aluminium]
ΠΡΠΈ Π°Π΄Π°ΠΏΡΠ΅ΡΡ ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ Π² ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠΌ Π°Π»ΡΠΌΠΈΠ½ΠΈΠ΅Π²ΠΎΠΌ ΠΊΠΎΡΠΏΡΡΠ΅, ΡΡΠΎΠΈΡ ΠΏΠΎΡΡΠ΄ΠΊΠ° $2. 5. ΠΠ½ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ SWD ΠΈ SWIM (Π΄Π»Ρ STM8), Π½ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ JTAG. ΠΡΠΎ Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΡΠ°ΠΌΡΠΉ Π΄Π΅ΡΠ΅Π²ΡΠΉ ΠΊΠ»ΠΎΠ½, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ. ΠΠ΅ΡΠΎΡΡΠ½ΠΎ, ΡΠ°ΠΊΠ°Ρ Π½ΠΈΠ·ΠΊΠ°Ρ ΡΠ΅Π½Π° ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½Π° ΡΠ΅ΠΌ, ΡΡΠΎ Π² Π°Π΄Π°ΠΏΡΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ STM32F101. Π ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ Ρ STM32F103 Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Ρ STM32F101 ΠΌΠ΅Π½ΡΡΠ΅, Π½ΠΎ Π²ΡΠ΅-ΡΠ°ΠΊΠΈ ΡΡΠΎ Π°Π΄Π°ΠΏΡΠ΅Ρ USB! ΠΠ΅ΡΠΎΡΡΠ½ΠΎ, ΡΡΠΎ Ρ STM32F101 ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΌΡΠΉ ΠΊΡΠΈΡΡΠ°Π»Π», ΡΡΠΎ ΠΈ STM32F103, ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΌΡΠΉ ΠΊΠΎΡΠΏΡΡ, ΠΏΡΠΎΡΡΠΎ STM32F101 ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΎΡΠ±ΡΠ°ΠΊΠΎΠ²ΠΊΠΈ STM32F103. ΠΠΎΠ΄ΠΎΠ±Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π΄Π΅ΠΊΠ»Π°ΡΠΈΡΡΠ΅ΡΡΡ, ΡΡΠΎ Ρ STM32F103C8 ΡΠΎΠ»ΡΠΊΠΎ 64 ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡΠ° ΠΏΠ°ΠΌΡΡΠΈ flash, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΠΎΠ»Π½ΡΠΉ ΡΠ΅ΡΡ ΠΎΠ½ΠΈ Π½Π΅ ΠΏΡΠΎΡΠ»ΠΈ, Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ Ρ 128 ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡΠ°ΠΌΠΈ STM32F103CB, Π½ΠΎ Π½Π° Π±ΠΎΡΡΡ STM32F103C8 ΡΠ°ΡΡΠΎ Π΅ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠ°ΠΌΡΡΠΈ (ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΡ ΠΏΠ°ΠΌΡΡΡ Π½Π° ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΡΠ΅ΠΌ ΡΡΠ΅Π½ΠΈΡ/Π·Π°ΠΏΠΈΡΠΈ).
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΡΠΈΠΉ ΠΏΠ»Π°Ρ ΡΡΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° Π°Π΄Π°ΠΏΡΠ΅ΡΠ°, ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΡΠΎΠΊΠΎΠ»Π΅Π²ΠΊΠ°.
2014-06-22 ST-LINK V2. ΠΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΡΡ Π΅ΠΌΠ° ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΡΡΠΈΡ Π°Π΄Π°ΠΏΡΠ΅ΡΠΎΠ².
Π Π°Π΄Π°ΠΏΡΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΡΡΡΠΊ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π²ΡΡ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ΠΎΠ² (LED) Π½Π° ΠΎΠ΄Π½ΠΎΠΉ Π½ΠΎΠΆΠΊΠ΅ ΠΏΠΎΡΡΠ° (PA9):
β’ ΠΠΎΠ³Π΄Π° Π½ΠΎΠΆΠΊΠ° Π²ΡΡ
ΠΎΠ΄Π° ΠΏΠΎΡΡΠ° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° Π² Π»ΠΎΠ³. 1, Π·Π°ΠΆΠΈΠ³Π°Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄
β’ ΠΠΎΠ³Π΄Π° ΡΡΠ° ΠΆΠ΅ Π½ΠΎΠΆΠΊΠ° ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡΡ Π² Π»ΠΎΠ³. 0, Π·Π°ΠΆΠΈΠ³Π°Π΅ΡΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄
β’ ΠΠΎΠ³Π΄Π° Π½ΠΎΠΆΠΊΠ° ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π²ΠΈΡΡΡΠ΅Π³ΠΎ Π²Ρ
ΠΎΠ΄Π°, ΠΎΠ±Π° ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π° Π²ΡΠΊΠ»ΡΡΠ°Π΅ΡΡΡ
β’ ΠΠΎΠ³Π΄Π° Π²ΡΡ
ΠΎΠ΄ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Π¨ΠΠ (PWM), ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΌΠ΅ΡΠΈΠ²Π°ΡΡ ΡΡΠΈ 2 ΡΠ²Π΅ΡΠ° ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ΠΎΠ² (ΠΊΡΠ°ΡΠ½ΡΠΉ ΠΈ ΡΠΈΠ½ΠΈΠΉ). ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Π³Π»Π°Π· Π½Π΅ Π·Π°ΠΌΠ΅ΡΠ°Π΅Ρ Π±ΡΡΡΡΡΡ
ΠΌΠ΅ΡΡΠ°Π½ΠΈΠΉ, ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Ρ Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ ΡΡΠ΄ΠΎΠΌ ΠΈ ΡΠ²Π΅ΡΡΡ Π² ΠΌΠ°Π»Π΅Π½ΡΠΊΡΡ Π΄ΡΡΠΊΡ ΠΏΠΎ ΡΠ΅Π½ΡΡΡ.
Π’ΠΎΡ ΠΆΠ΅ ΡΠ°ΠΌΡΠΉ Π°Π΄Π°ΠΏΡΠ΅Ρ, Π½ΠΎ Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΎΠΊΠΎΠ»Π΅Π²ΠΊΠΎΠΉ. ΠΡΠ³Π»ΡΠ΄ΠΈΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° Π²ΡΡΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π°Π΄Π°ΠΏΡΠ΅Ρ, Π½ΠΎ ΡΠΎΠΊΠΎΠ»Π΅Π²ΠΊΠ° ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΡΠ°Π·ΡΠ΅ΠΌΠ° ΡΠΈΠ»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ (ΠΊΡΠΎΠΌΠ΅ ΠΏΠΈΡΠ°Π½ΠΈΡ), ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄. ΠΠ° ΠΏΠ»Π°ΡΠ΅ Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΡΠΈΠ³Π½Π°Π»ΠΎΠ².
2016-01-18 MX-LINK V2. Π£ ΡΡΠΎΠ³ΠΎ Π°Π΄Π°ΠΏΡΠ΅ΡΠ° Π»ΠΎΠ³ΠΎΡΠΈΠΏ «M» Π²ΠΌΠ΅ΡΡΠΎ Π»ΠΎΠ³ΠΎΡΠΈΠΏΠ° ST, ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠ΅ «MX-LINK V2» Π½Π° ΠΏΠ»Π°ΡΠ΅.
[Baite]
ΠΡΠΎ Π°Π½Π°Π»ΠΎΠ³ ST-Link V2 Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ JTAG, SWD ΠΈ SWIM (Π΄Π»Ρ STM8) [2].
ΠΠ²ΡΠΎΡ ΡΡΠ°ΡΡΠΈ [1] ΡΠ΄Π΅Π»Π°Π» Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π°Π΄Π°ΠΏΡΠ΅ΡΠ° ΡΡΠΈΠΊΠ΅Ρ Ρ ΡΠΎΠΊΠΎΠ»Π΅Π²ΠΊΠΎΠΉ ΡΠΈΠ³Π½Π°Π»ΠΎΠ².
ΠΠ²ΡΠΎΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²Π°Π» ΠΏΠΎ ΠΏΠ»Π°ΡΠ΅ ΡΡ Π΅ΠΌΡ. ΠΡΠ΅ Π²ΡΠ²ΠΎΠ΄Ρ ΠΊΠΎΠ½Π½Π΅ΠΊΡΠΎΡΠ° Π·Π°ΡΠΈΡΠ΅Π½Ρ ΡΠ΅Π·ΠΈΡΡΠΎΡΠ°ΠΌΠΈ 220 ΠΎΠΌ.
Baite-V2A. ΠΠΎΠ»Π΅Π΅ Π½ΠΎΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΠΌΠ°ΡΠΊΠΈΡΠΎΠ²Π°Π½Π° «V2A» (ΠΏΠΎΠ΄ ΠΊΠ²Π°ΡΡΠ΅ΠΌ), Π½ΠΎ ΡΡ Π΅ΠΌΠ° ΠΏΠΎΡΡΠΈ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅, ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ:
β’ ΠΡΠΈΡΡΡΡΡΠ²ΡΡΡ Π²ΡΠ΅ Π½ΠΎΠΆΠΊΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° (Π΅ΡΡΡ Π΄Π°ΠΆΠ΅ ΠΌΠ°ΡΠΊΠ° ΠΏΠ°ΠΉΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ).
β’ ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠΎΡΡ SWD.
β’ STM32F103C8 Π·Π°ΠΌΠ΅Π½Π΅Π½ Π½Π° STM32F101CB, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ STM32F103 (ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π² Π΄ΡΡΠ³ΠΈΡ
Π΄Π΅ΡΠ΅Π²ΡΡ
Π°Π΄Π°ΠΏΡΠ΅ΡΠ°Ρ
).
β’ ΠΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΠ°ΡΡΠΈΠ²Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ΅Π½ΡΡΠ΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°.
β’ ΠΠ΅ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΠ°Π·Π²ΠΎΠ΄ΠΊΠ° ΠΏΠ»Π°ΡΡ.
[Black Magic Probe]
ΠΠ΄Π°ΠΏΡΠ΅Ρ Black Magic Probe [3] (ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΠΊΠ°ΠΊ BMP) ΠΎΡΠ΅Π½Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ SWJ-Π°Π΄Π°ΠΏΡΠ΅Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π² Π½Π΅Π³ΠΎ Π²ΡΡΡΠΎΠ΅Π½ ΡΠ΅ΡΠ²Π΅Ρ GDB. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠ΅ΡΠ²Π΅Ρ OpenOCD, ΡΡΠΎΠ±Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π°Π΄Π°ΠΏΡΠ΅ΡΠΎΠΌ SWJ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΡΡΠΌΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ GDB ΠΊ ΡΡΠΎΠΌΡ Π°Π΄Π°ΠΏΡΠ΅ΡΡ (ΡΠ΅ΡΠ΅Π· Π΄ΡΠ°ΠΉΠ²Π΅Ρ USB CDC ACM).
Π ΡΡΠΎΠΌ Π°Π΄Π°ΠΏΡΠ΅ΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π΅ΡΡΡ ΠΏΠΎΡΡ UART (ΡΠ΅ΡΠ΅Π· Π²ΡΠΎΡΠΎΠΉ ΠΊΠ°Π½Π°Π» USB CDC ACM). ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π±Π΅Π· ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π° (Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ printf).
ΠΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΠ°Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΡΡΠ° ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ:
β’ ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΊΠΎΠ½Π½Π΅ΠΊΡΠΎΡ ARM Cortex SWJ Ρ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΌ ΡΠ°Π³ΠΎΠΌ.
β’ ΠΡΠ΄Π΅Π»ΡΠ½ΡΠΉ UART ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° (UART ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π½Π° ΠΊΠΎΠ½Π½Π΅ΠΊΡΠΎΡΠ΅ SWJ).
β’ ΠΠΎΡΠΎΠ³ΠΎΠΉ (> $50), Π½ΠΎ ΡΡΠ° ΡΠ΅Π½Π° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π·ΡΠΌΠ½Π°Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΅ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ firmware ΡΡΠΎΠ³ΠΎ Π°Π΄Π°ΠΏΡΠ΅ΡΠ° ΠΎΡΠΊΡΡΡΠΎ (open source), Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Π΄ΡΡΠ³ΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΡΡΡ, ΠΈ Π½Π°ΡΠΎΠ΄ ΡΠ΅Π°Π»ΡΠ½ΠΎ ΡΡΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ [4]. ΠΡΠΎΠ΅ΠΊΡ Π±ΡΠ» ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½ [5] Π½Π° blue pill [6]. Π’Π°ΠΊΠΆΠ΅ ΠΎΠ½ Π±ΡΠ» ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½ ΠΈ Π½Π° ΠΊΠ»ΠΎΠ½ ST-Link V2 [7], Π½ΠΎ Π½Π° Π½Π΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ UART. ΠΠ²ΡΠΎΡ ΡΠ΅ΡΠΈΠ» ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠΎΡΡ Π½Π° baite [2]. ΠΠ° ΠΊΠΎΠ½Π½Π΅ΠΊΡΠΎΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅Π½ΡΡΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΎΠ² ΠΏΠΈΡΠ°Π½ΠΈΡ, Π½ΠΎ Π·Π°ΡΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ
Π²ΡΠ²ΠΎΠ΄ΠΎΠ² Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ UART (ΠΈ SRST).
Π‘Π±ΠΎΡΠΊΠ° firmware (ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΡΡΠ°):
git clone https://github.com/tsaitgaist/blackmagic.git cd blackmagic git submodule init git submodule update git checkout baite-platform # if you are usgin GCC >= 7 git cherry-pick 2ebcffa2a4911090b43c36594dae6b58d4bb2f27 make cd src make clean make PROBE_HOST=baite
ΠΠΎΡΠ»Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΡΠΎΡΠΈΡΡ ΠΈΠΌ Π°Π΄Π°ΠΏΡΠ΅Ρ Baite. ΠΠ°ΠΊ ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ ΠΏΠΎ ΡΡ Π΅ΠΌΠ΅, Π²ΡΠ²ΠΎΠ΄Ρ JTAG ΠΈ SWD ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Ρ (Π½Π° ΠΏΠ»Π°ΡΠ΅ Π½Π΅Ρ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ½ΡΡ ΠΏΠ»ΠΎΡΠ°Π΄ΠΎΠΊ, ΠΊΡΠ΄Π° ΡΡΠΈ Π²ΡΠ²ΠΎΠ΄Ρ ΠΏΡΠΈΠΏΠ°ΡΠ½Ρ). ΠΠΎ Π½Π° ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Π΅ ΠΏΠ»Π°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ, ΡΡΠΎΠ±Ρ Π·Π°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΠ΅ΡΠ΅Π· serial bootloader:
ΠΡΠ²ΠΎΠ΄ | Π‘ΠΈΠ³Π½Π°Π» |
1 (ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠΉ) | RX |
2 | TX |
3 | BOOT0 |
4 | +5V |
5 | GND |
ΠΠ»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠ½Π²Π΅ΡΡΠ΅Ρ USB — TTL UART, ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π²ΡΠ²ΠΎΠ΄Ρ ΠΊ ΡΡΠΎΠΌΡ ΠΏΠΎΡΡΡ. ΠΠ΅ ΠΏΠΎΠ΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° Π°Π΄Π°ΠΏΡΠ΅Ρ Baite ΡΠ΅ΡΠ΅Π· USB, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π΅Π³ΠΎ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ Π² Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ (Π½Π΅ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ serial bootloader). ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ΄Π°ΠΉΡΠ΅ ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ½Π²Π΅ΡΡΠ΅Ρ USB — UART. ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° serial bootloader Π² ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΠΎΠ΄Π°ΡΠΈ ΠΏΠΈΡΠ°Π½ΠΈΡ Π½Π° Π°Π΄Π°ΠΏΡΠ΅Ρ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΡΠΈΠ³Π½Π°Π» BOOT0 Π² Π»ΠΎΠ³. 1 ΠΏΡΡΠ΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π΅Π³ΠΎ ΠΊ +3.3V ΠΈΠ»ΠΈ ΠΊ DTR (ΠΈΠ»ΠΈ ΠΊ Π»ΡΠ±ΠΎΠΌΡ Π΄ΡΡΠ³ΠΎΠΌΡ ΡΠΈΠ³Π½Π°Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² Π»ΠΎΠ³. 1 Π½Π° ΠΊΠΎΠ½Π²Π΅ΡΡΠ΅ΡΠ΅ USB — UART).
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΈΡΡ Black Magic firmware Π°Π²ΡΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» stm32flash. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ flash Π·Π°ΡΠΈΡΠ΅Π½Π° ΠΎΡ ΡΡΠ΅Π½ΠΈΡ/Π·Π°ΠΏΠΈΡΠΈ, ΡΠ½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΈΡΡΠΈΡΡ ΡΡΠΈ Π±ΠΈΡΡ ΠΎΠΏΡΠΈΠΉ.
# disable flash read protection stm32flash -k /dev/ttyUSB0 # disable flash write protection stm32flash -u /dev/ttyUSB0 # erase flash stm32flash -o /dev/ttyUSB0 # flash the DFU bootloader stm32flash -w src/blackmagic_dfu.bin -v /dev/ttyUSB0 # flash the main firmware stm32flash -w src/blackmagic.bin -v -S 0x08002000 /dev/ttyUSB0
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎΡ Π°Π΄Π°ΠΏΡΠ΅Ρ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ΅ STM32F103C8 Ρ 64 ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡΠ°ΠΌΠΈ flash, DFU bootloader Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ 56 ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ ΠΏΠ°ΠΌΡΡΠΈ flash Π΄Π»Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Blackmagic firmware ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ ΡΡΠΎΡ ΡΠ°Π·ΠΌΠ΅Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Π΅Π³ΠΎ Π½Π΅Π»ΡΠ·Ρ ΠΏΡΠΎΡΠΈΡΡ, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ DFU Π½Π΅ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅Ρ ΡΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅. Π£ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° STM32F103C8 ΡΠ°ΡΡΠΎ Π΅ΡΡΡ 128 ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ flash, ΡΠ°ΠΊ ΡΡΠΎ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΡ blackmagic firmware, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ serial bootloader (ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 0x08002000). ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ (verification) Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ Π²Π΅ΡΡ ΠΊΠΎΠ΄ firmware Π±ΡΠ» ΡΡΠΏΠ΅ΡΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Π½.
ΠΡΠΊΠ»ΡΡΠΈΡΠ΅ Baite, ΠΈ ΡΠ½ΠΎΠ²Π° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ Π΅Π³ΠΎ ΡΠ΅ΡΠ΅Π· USB. Π Π½Π΅ΠΌ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Ρ ΠΎΡΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ Π΄Π²Π° ΠΏΠΎΡΡΠ° USB CDC ACM.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΏΡΠΎΡΠΈΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ dfu-util (Π΅ΡΠ»ΠΈ ΠΡ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ dfu-util Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΏΠ°ΠΌΡΡΠΈ):
dfu-util -d 1d50:6018 -s 0x08002000:leave -D blackmagic.bin
Π¦ΠΎΠΊΠΎΠ»Π΅Π²ΠΊΠ° Π½ΠΎΠ²ΠΎΠ³ΠΎ «BMP Baite»:
Π‘ΠΈΠ³Π½Π°Π» | ΠΡΠ²ΠΎΠ΄ | ΠΡΠ²ΠΎΠ΄Β | Π‘ΠΈΠ³Π½Π°Π» |
Β Β Β Β Β Β Β Β SRTST | 1 | 2 | +3.![]() |
+5V | 3 | 4 | JTCK/SWCLK |
RX | 5 (ΠΊΠ»ΡΡ) | 6 | JTMS/SWDIO |
GND | 7 | 8 | JTDO/TRACESWO |
TX | 9 | 10 | JTDI |
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π²ΡΠ²ΠΎΠ΄ RX ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°Π΅ΡΡΡ ΠΊ Π»ΠΎΠ³. 1 Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅Π·ΠΈΡΡΠΎΡΠ° 620 ΠΎΠΌ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ TX, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΠΊ BMP Baite, Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΡ Π½Π°Π³ΡΡΠ·ΠΎΡΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΡΡΠ½ΡΡΡ ΡΠΈΠ³Π½Π°Π» ΠΊ Π»ΠΎΠ³. 0 (ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, USB — UART Π°Π΄Π°ΠΏΡΠ΅Ρ Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ Ch440 ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ).
ΠΡΠ»ΠΈ ΠΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ SRST ΠΊ ΡΠΈΠ³Π½Π°Π»Ρ NRST ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄Π°Π²Π°ΡΡ Π½Π° Π½Π΅Ρ ΡΠ±ΡΠΎΡ Π±Π΅Π· Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΠ±ΡΠΎΡΠ° Π½Π° ΠΏΠ»Π°ΡΠ΅ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ (Π΅ΡΠ»ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΡΠ°ΠΊΠ°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ° Π΅ΡΡΡ). Π‘ΠΈΠ³Π½Π°Π» ΡΠ±ΡΠΎΡΠ° Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
gdb --eval-command="target extended-remote /dev/ttyACM0" --eval-command="monitor hard_srst" --eval-command="quit"
[Altera USB-Blaster]
USB-Blaster ΡΡΠΎ Π°Π΄Π°ΠΏΡΠ΅Ρ ΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Altera. ΠΠ½ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ FPGA, Π½ΠΎ ΠΏΠΎ ΡΡΡΠΈ ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΡΠΉ Π°Π΄Π°ΠΏΡΠ΅Ρ JTAG.
ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅:Β Π²ΡΠ²ΠΎΠ΄ VCC{TARGET} ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ ΠΎΠΏΠΎΡΠ½ΠΎΠΌΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΌΡ Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° JTAG, ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠΌΡ ΠΏΠ΅ΡΠ°ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΠΎΠΉ ΡΠ΅Π»Π΅Π²ΠΎΠ³ΠΎ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° (ΡΠ°ΡΡΠΎ ΡΡΠΎ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ 3.3V ΠΈΠ»ΠΈ 1.8V). ΠΠ½Π°ΡΠ΅ ΡΠΈΠ³Π½Π°Π»Ρ Π½Π΅ ΡΠΌΠΎΠ³ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡΡΡ Π°Π΄Π°ΠΏΡΠ΅ΡΠΎΠΌ JTAG.
Π‘Π½Π°ΡΠ°Π»Π° Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° Π΄Π»Ρ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΡΡΠΎΠ±Ρ ΠΎΠ½ ΠΌΠΎΠ³ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΡΡΡΠΎΠΉΡΡΠ²Ρ (ΠΏΡΠ°Π²ΠΈΠ»ΠΎ udev Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² VID ΠΈ PID, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌΡΡ lsusb). ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π΄Π»Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ:
echo -n 'Altera USB-Blaster JTAG adatper' | sudo tee -a /etc/udev/rules.d/60-altera-usb-blaster.rules echo -n 'ATTR{idVendor}=="09fb", ATTR{idProduct}=="6001", MODE="666"' | sudo tee -a /etc/udev/rules.d/60-altera-usb-blaster.rules sudo udevadm control --reload-rules
Π§ΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ Π°Π΄Π°ΠΏΡΠ΅Ρ, Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ OpenOCD Π΄Π»Ρ USB-Blaster, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° libftdi (Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅ ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ ΠΊΠ»ΠΎΠ½).
git clone http://git.code.sf.net/p/openocd/code openocd-code cd openocd-code ./bootstrap ./configure --enable-usb_blaster_libftdi make sudo make install cd ..
ΠΠ½Π°ΡΠ΅ OpenOCD Π·Π°Π²ΠΈΡΠ°Π΅Ρ, Π·Π°Π³ΡΡΠΆΠ°Ρ Π½Π° 100% CPU, ΠΈ Π΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈΠ±ΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ -KILL.
openocd --file interface/altera-usb-blaster.cfg Open On-Chip Debugger 0.10.0-dev-00189-g554313b (2016-01-12-11:26) Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html Warn : Adapter driver 'usb_blaster' did not declare which transports it allows; assuming legacy JTAG-only Info : only one transport option; autoselect 'jtag' adapter speed: 1000 kHz adapter_nsrst_delay: 100 jtag_ntrst_delay: 100 none separate cortex_m reset_config sysresetreq Info : No lowlevel driver configured, will try them all Info : Altera USB-Blaster II found (Firm. rev. = 6??) Info : This adapter doesn't support configurable speed
openocd --debug 3 --file interface/altera-usb-blaster.cfg ... Debug: 385 845 tcl.c:497 handle_nand_init_command(): Initializing NAND devices... Debug: 386 845 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_pld init Debug: 387 845 command.c:145 script_debug(): command - ocd_pld ocd_pld init Debug: 389 846 pld.c:207 handle_pld_init_command(): Initializing PLDs...
Π’Π΅ΠΏΠ΅ΡΡ ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π°Π΄Π°ΠΏΡΠ΅Ρ, ΠΏΡΠΈΠΌΠ΅Ρ Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠΌ STM32F1:
openocd --file interface/altera-usb-blaster.cfg --file target/stm32f1x.cfg Open On-Chip Debugger 0.10.0-dev-00189-g554313b (2016-01-12-16:26) Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html Warn : Adapter driver 'usb_blaster' did not declare which transports it allows; assuming legacy JTAG-only Info : only one transport option; autoselect 'jtag' adapter speed: 1000 kHz adapter_nsrst_delay: 100 jtag_ntrst_delay: 100 none separate cortex_m reset_config sysresetreq Info : No lowlevel driver configured, will try them all Info : usb blaster interface using libftdi Error: unable to get latency timer Info : This adapter doesn't support configurable speed Info : JTAG tap: stm32f1x.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3) Info : JTAG tap: stm32f1x.bs tap/device found: 0x16410041 (mfg: 0x020, part: 0x6410, ver: 0x1) Info : stm32f1x.cpu: hardware has 6 breakpoints, 4 watchpoints
ΠΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ Π°Π΄Π°ΠΏΡΠ΅Ρ Altera USB-Blaster ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΈΠΏΡ FTDI FT245 ΠΈ MAX CPLD. ΠΠΌΠ΅Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΅Π³ΠΎ ΠΊΠ»ΠΎΠ½ΠΎΠ² ΡΠ°Π·Π½ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΠΈ ΡΠ°Π·Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ.
[SiLabs USB-Blaster]
ΠΠ΄Π΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ C8051F321 ΠΎΡ Silicon Labs ΠΈ 4-ΠΊΠ°Π½Π°Π»ΡΠ½ΡΠΉ Π±ΡΡΠ΅Ρ 74LVC125 (Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΠ²Π½Π΅ΠΉ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΎΡ 1.65V Π΄ΠΎ 3.6V).
[PIC USB-Blaster]
ΠΡΠΎΡ Π°Π΄Π°ΠΏΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ PIC18F14 ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Microchip, Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ Π±ΡΡΠ΅ΡΠΎΠ² (ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΠ³Π½Π°Π»Ρ Ρ ΡΡΠΎΠ²Π½ΡΠΌΠΈ 5V).
[ARMJISHU USB-Blaster]
ΠΠ΄Π΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ STM32F101 ΠΎΡ ST (ΠΊΠ°ΠΊ STM32F103 Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ USB) ΠΈ 8-ΠΊΠ°Π½Π°Π»ΡΠ½ΡΠΉ Π±ΡΡΠ΅Ρ 74HC244 (Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΠ²Π½Π΅ΠΉ ΠΎΡ 2. 0V Π΄ΠΎ 6.0V).
ΠΠ° ΡΡ Π΅ΠΌΠ΅ Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ Π°ΠΏΠΏΠ°ΡΠ°ΡΡΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΈΠ³Π½Π°Π»Π°ΠΌΠΈ (Π½Π° 3.3V) Π² ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° Vcc_target Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½, ΠΈ ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»ΠΎΡ ΠΊΠ°ΡΡ uSD ΠΈΠ»ΠΈ ΠΏΠ°ΠΌΡΡΡ SPI flash. ΠΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π»ΠΈ ΡΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠΈ.
[SEGGER J-Link]
O-Link-ARM V8 [8], ΠΊΠ»ΠΎΠ½ SEGGER J-Link.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ JTAG, SWD, SWO, RTCK ΠΈ ΠΎΠΏΠΎΡΠ½ΠΎΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ΅Π³ΡΠ»ΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΠΎΠ²Π½Π΅ΠΉ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΎΡ JTAG-Π°Π΄Π°ΠΏΡΠ΅Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½ΡΠΌ.
[Π¦Π΅ΠΏΠΎΡΠΊΠ° ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ JTAG]
ΠΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ JTAG ΠΈΠΌΠ΅ΡΡ ΡΠΎΡΠΊΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Test Access Points (TAP). ΠΠ΄ΠΈΠ½ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ TAP, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌΡΡ
Π² ΡΠ΅ΠΏΠΎΡΠΊΡ (scan chain). ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌ Ρ TAP-ΠΌΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Ρ (ΡΠΈΠ³Π½Π°Π»Π°ΠΌΠΈ Π½Π° ΠΏΠ΅ΡΠ°ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΠ΅) Π² ΡΠ΅ΠΏΠΎΡΠΊΡ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ Π²ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π½Π° ΠΏΠ»Π°ΡΠ΅ ΡΠ΅ΡΠ΅Π· ΠΎΠ΄Π½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ JTAG. ΠΠ°ΠΆΠ΄ΡΠΉ TAP ΠΈΠΌΠ΅Π΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ (IDCODE) ΠΈ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ±ΡΠ°Π½ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΠΎ.
ΠΠ½ΠΎΠ³Π΄Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ Π²ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ TAP-Ρ Π½Π° ΡΠ΅ΠΏΠΎΡΠΊΠ΅, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π² ΡΠΈΡΡΠ΅ΠΌΠ΅. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΠ urJTAG [10]. ΠΡΠΈΠΌΠ΅Ρ Ρ USB Blaster:
jtag UrJTAG 0.10 #2007 Copyright (C) 2002, 2003 ETC s.r.o. Copyright (C) 2007, 2008, 2009 Kolja Waschk and the respective authors UrJTAG is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. There is absolutely no warranty for UrJTAG. warning: UrJTAG may damage your hardware! Type "quit" to exit, "help" for help. jtag> cable UsbBlaster Connected to libftdi driver. jtag> detect IR length: 9 Chain length: 2 Device Id: 00111011101000000000010001110111 (0x3BA00477) Unknown manufacturer! (01000111011) (/usr/share/urjtag/MANUFACTURERS) Device Id: 00010110010000010000000001000001 (0x16410041) Unknown manufacturer! (00000100000) (/usr/share/urjtag/MANUFACTURERS)
OpenOCD ΡΠ°ΠΊΠΆΠ΅ ΡΠΊΠ°Π½ΠΈΡΡΠ΅Ρ ΡΠ΅ΠΏΠΎΡΠΊΡ, Π΅ΡΠ»ΠΈ Π½Π΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ target (ΠΊΠ°ΠΊΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π°Π΄Π°ΠΏΡΠ΅Ρ, Π²ΡΠ΅-ΡΠ°ΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π½ΡΠΆΠ½ΠΎ):
openocd --file interface/altera-usb-blaster.cfg Open On-Chip Debugger 0.10.0-dev-00189-g554313b (2016-01-12-16:26) Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html Warn : Adapter driver 'usb_blaster' did not declare which transports it allows; assuming legacy JTAG-only Info : only one transport option; autoselect 'jtag' Info : No lowlevel driver configured, will try them all Info : usb blaster interface using libftdi Error: unable to get latency timer Info : This adapter doesn't support configurable speed Warn : There are no enabled taps. AUTO PROBING MIGHT NOT WORK!! Info : JTAG tap: auto0.tap tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3) Info : JTAG tap: auto1.tap tap/device found: 0x16410041 (mfg: 0x020, part: 0x6410, ver: 0x1) Warn : AUTO auto0.tap - use "jtag newtap auto0 tap -irlen 4 -expected-id 0x3ba00477" Warn : AUTO auto1.tap - use "jtag newtap auto1 tap -irlen 5 -expected-id 0x16410041" Warn : gdb services need one or more targets defined
0x3ba00477 ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Cortex-M3 TAP, ΠΈ 0x16410041 boundary scan TAP, ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°Π½ΠΎ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½Π° STM32F1xx.
Π₯ΠΎΡΡ ST-Link v2 Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°ΠΌΠΈ ST Π³Π»Π°Π²Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π°Π΄Π°ΠΏΡΠ΅Ρ SWD, ΠΎΠ½ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΠ±ΡΡΠ½ΡΠΉ JTAG. ΠΠ±Π° ΡΡΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠΌ High Level Adapter (HLA). ΠΠΎ Π²ΡΠ΅ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π±ΡΠ΄ΡΠΎ scan chain Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠΌ HLA.
openocd --file interface/stlink-v2.cfg -c "transport select hla_jtag" -c "adapter_khz 100" Open On-Chip Debugger 0.10.0-dev-00189-g554313b (2016-01-12-16:26) Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html hla_jtag adapter speed: 100 kHz Info : clock speed 100 kHz Error: BUG: current_target out of bounds
[Π‘ΡΡΠ»ΠΊΠΈ]
1. SWJ adapters site:wiki.cuvoodoo.info.
2.Β Best Quality~ST-Link stlink V2 for STM8S STM8L STM32 Cortex-M0 Cortex-M3 SWIM JTAG SWD interface Programmer site:aliexpress.com.
3.Β blacksphere/blackmagic site:github. com.
4. blacksphere/blackmagic Supported Hardware site:github.com.
5.Β Converting an STM32F103 board to a Black Magic Probe site:medium.com.
6. blue pill site:wiki.cuvoodoo.info.
7. Cheap Chinese ST-Link v.2 Programmer converted to Black Magic Probe Debugger site:blog.linuxbits.io.
8. FREE SHIPPING V8 ARM Emulator,supports ARM7,ARM9,ARM11,Cortex-M3 core,ADS,IAR,STM32 Emulator + Adapter converter site:aliexpress.com.
9.Β OpenOCD: ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π½Π°ΡΠ°Π»ΠΎ.
10. UrJTAG: Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ JTAG.
11. Π¦ΠΎΠΊΠΎΠ»Π΅Π²ΠΊΠ° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² JTAG.
Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ: ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° | ΠΡΠΎΠ΅ΠΊΡ STM32-base
Π ΡΡΠΎΠΌ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΊ ΠΌΠ°ΠΊΠ΅ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΠ΅. ΠΡΡΡ Π΄Π²Π° ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
ΡΠ°Π·ΡΠ΅ΠΌΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ SWD (Serial Wire Debug) ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ JTAG.
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠ»Π°Ρ ST Nucleo ΠΈ Discovery
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΎΠ΄Π½Ρ ΠΈΠ· ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΏΠ»Π°Ρ ST Nucleo ΠΈΠ»ΠΈ Discovery, Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ. ΠΡΠΈ ΠΏΠ»Π°ΡΡ ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ ΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠΎΠΌ ST-LINK/V2. ΠΡΠΎΡΡΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ ΠΏΠ»Π°ΡΡ ΡΠ΅ΡΠ΅Π· USB ΠΊ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ, ΠΈ Π²Ρ Π³ΠΎΡΠΎΠ²Ρ ΠΊ ΡΠ°Π±ΠΎΡΠ΅!
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ ΠΏΠ»Π°Ρ
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΎΠ΄Π½Ρ ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ ΠΏΠ»Π°Ρ, Π²Π°ΠΌ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π½Π° ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΈ ΠΏΠ»Π°ΡΡ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π΅ ΠΈΠΌΠ΅ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ Π‘Π’-ΠΠΠΠ/V2.
Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΌΠ°ΠΊΠ΅ΡΠ½ΡΡ ΠΏΠ»Π°ΡΡ ΠΊ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΡ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ 4-ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ½ΡΠΉ ΡΠ°Π·ΡΠ΅ΠΌ SWD, Π΅ΡΠ»ΠΈ ΠΎΠ½ ΠΈΠΌΠ΅Π΅ΡΡΡ. ΠΡΠΎΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΡΠΆΡΠΊΠΈΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ dupont, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΈ ΠΆΠ΅Π½ΡΠΊΠΈΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ. ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠΎΠ½ΡΠ°ΠΊΡ Π·Π°Π·Π΅ΠΌΠ»Π΅Π½ΠΈΡ, ΠΊΠΎΠ½ΡΠ°ΠΊΡ +3,3 Π, ΠΊΠΎΠ½ΡΠ°ΠΊΡ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΊΠΎΠ½ΡΠ°ΠΊΡ Π΄Π°Π½Π½ΡΡ .
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ° ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΠΈΡ
ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² Π½Π΅Ρ.
ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: ΠΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΠΉΡΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡ +3,3 Π, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΈΡΠ°Π΅ΡΠ΅ ΠΏΠ»Π°ΡΡ ΠΎΡ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΡ ΠΌΠ°ΠΊΠ΅ΡΠ½ΡΡ ΠΏΠ»Π°Ρ Π½Π΅ ΠΈΠΌΠ΅ΡΡ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π·Π°ΡΠΈΡΡ Π½Π° ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ°Ρ ΠΏΠΈΡΠ°Π½ΠΈΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠ»Π°ΡΡ, ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° ΠΈΠ»ΠΈ ΠΠ.
Π ΡΠ°Π±Π»ΠΈΡΠ΅ Π½ΠΈΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΎΠ±Π·ΠΎΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ:
ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² | ΠΠΎΠ½ΡΠ°ΠΊΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° | Π¦Π΅Π»Π΅Π²ΠΎΠΉ ΡΡΠΈΡΡ |
---|---|---|
Π¨ΡΠΈΡΡ Π·Π°Π·Π΅ΠΌΠ»Π΅Π½ΠΈΡ | ΠΠ΅ΠΌΠ»Ρ | ΠΠ΅ΠΌΠ»Ρ |
ΠΠΎΠ½ΡΠ°ΠΊΡ +3,3 Π | ΠΠΠ / ΠΠΠ / 3,3 Π | ΠΠΠ / ΠΠΠ / 3,3 Π |
Π§Π°ΡΠΎΠ²ΠΎΠΉ ΡΡΠΈΡΡ | SWCLK / SWCK | CLK / SWCLK |
ΠΠΎΠ½ΡΠ°ΠΊΡ Π΄Π°Π½Π½ΡΡ | Π‘ΠΠΠΠ | DIO / SWDIO |
ΠΡΠ»ΠΈ Π²Π°ΡΠ° ΠΌΠ°ΠΊΠ΅ΡΠ½Π°Ρ ΠΏΠ»Π°ΡΠ° Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ 4-ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ΅ΠΌΠ° SWD, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΈΠΌΠ΅Π΅Ρ 20-ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ½ΡΠΉ ΡΠ°Π·ΡΠ΅ΠΌ JTAG. ΠΡΠΎΡ ΡΠ°Π·ΡΠ΅ΠΌ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΡΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ JTAG. Π‘ΡΠ΄Π° Π²Ρ
ΠΎΠ΄ΡΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ SWD. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½ΠΈΠΆΠ΅ Π΄Π»Ρ ΠΎΠ±Π·ΠΎΡΠ° ΡΠΈΠΏΠΈΡΠ½ΠΎΠ³ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ARM JTAG.
ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: ΠΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΠΉΡΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡ +3,3 Π, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΈΡΠ°Π΅ΡΠ΅ ΠΏΠ»Π°ΡΡ ΠΎΡ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΡ ΠΌΠ°ΠΊΠ΅ΡΠ½ΡΡ ΠΏΠ»Π°Ρ Π½Π΅ ΠΈΠΌΠ΅ΡΡ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π·Π°ΡΠΈΡΡ Π½Π° ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ°Ρ ΠΏΠΈΡΠ°Π½ΠΈΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠ»Π°ΡΡ, ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° ΠΈΠ»ΠΈ ΠΠ.
Π ΡΠ°Π±Π»ΠΈΡΠ΅ Π½ΠΈΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΎΠ±Π·ΠΎΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ:
ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² | ΠΠΎΠ½ΡΠ°ΠΊΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° | Π¦Π΅Π»Π΅Π²ΠΎΠΉ ΡΡΠΈΡΡ |
---|---|---|
Π¨ΡΠΈΡΡ Π·Π°Π·Π΅ΠΌΠ»Π΅Π½ΠΈΡ | ΠΠ΅ΠΌΠ»Ρ | ΠΠ΅ΠΌΠ»Ρ |
ΠΠΎΠ½ΡΠ°ΠΊΡ +3,3 Π | ΠΠΠ / ΠΠΠ / 3,3 Π | ΠΠΠ¦ |
Π§Π°ΡΠΎΠ²ΠΎΠΉ ΡΡΠΈΡΡ | SWCLK / SWCK | Π‘ΠΠΠΠ |
ΠΠΎΠ½ΡΠ°ΠΊΡ Π΄Π°Π½Π½ΡΡ | Π‘ΠΠΠΠ | Π‘ΠΠΠΠ |
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ°ΠΌ GPIO
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΌΠ°ΠΊΠ΅ΡΠ½Π°Ρ ΠΏΠ»Π°ΡΠ° Π±Π΅Π· ΡΠ°Π·ΡΠ΅ΠΌΠ° SWD ΠΈΠ»ΠΈ JTAG, Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΊ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΏΠΎΡΡΠ°ΠΌ GPIO. ΠΠΎ ΡΡΡΠΈ, ΡΡΠΎ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° ΡΠ΅ΡΠ΅Π· SWD ΠΈΠ»ΠΈ JTAG-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, Ρ
ΠΎΡΡ ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ Π³ΡΠΎΠΌΠΎΠ·Π΄ΠΊΠΎ.
ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: ΠΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΠΉΡΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡ +3,3 Π, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΈΡΠ°Π΅ΡΠ΅ ΠΏΠ»Π°ΡΡ ΠΎΡ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΡ ΠΌΠ°ΠΊΠ΅ΡΠ½ΡΡ ΠΏΠ»Π°Ρ Π½Π΅ ΠΈΠΌΠ΅ΡΡ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π·Π°ΡΠΈΡΡ Π½Π° ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ°Ρ ΠΏΠΈΡΠ°Π½ΠΈΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠ»Π°ΡΡ, ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° ΠΈΠ»ΠΈ ΠΠ.
Π ΡΠ°Π±Π»ΠΈΡΠ΅ Π½ΠΈΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΎΠ±Π·ΠΎΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ:
Π€ΡΠ½ΠΊΡΠΈΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ° | ΠΠΎΠ½ΡΠ°ΠΊΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° | Π¦Π΅Π»Π΅Π²ΠΎΠΉ ΡΡΠΈΡΡ |
---|---|---|
Π¨ΡΠΈΡΡ Π·Π°Π·Π΅ΠΌΠ»Π΅Π½ΠΈΡ | ΠΠ΅ΠΌΠ»Ρ | ΠΡΠ±ΠΎΠΉ ΠΠ΅ΠΌΠ»Ρ ΠΊΠΎΠ½ΡΠ°ΠΊΡ |
ΠΠΎΠ½ΡΠ°ΠΊΡ +3,3 Π | ΠΠΠ / ΠΠΠ / 3,3 Π | ΠΡΠ±ΠΎΠΉ +3,3 Π ΠΊΠΎΠ½ΡΠ°ΠΊΡ |
Π§Π°ΡΠΎΠ²ΠΎΠΉ ΡΡΠΈΡΡ | SWCLK / SWCK | ΠΠ14 |
ΠΠΎΠ½ΡΠ°ΠΊΡ Π΄Π°Π½Π½ΡΡ | Π‘ΠΠΠΠ | ΠΠ13 |
ΠΡΠ»Π°Π΄ΡΠΈΠΊΠΈ
ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠΎΠ².
ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ST-LINK/V2
ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ST-LINK/V2 β ΡΡΠΎ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π° ST Microelectronics, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΡΠΈ Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΊΡΡΠΏΠ½ΠΎΠ³ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΡΠΎΡΠ° ΡΠ»Π΅ΠΊΡΡΠΎΠ½ΠΈΠΊΠΈ. Π Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌΡ ST-LINK/V2, ST ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π²Π°ΡΠΈΠ°Π½Ρ ST-LINK/V2-ISOL, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠΈΡΡΠΎΠ²ΡΡ ΠΈΠ·ΠΎΠ»ΡΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΠ ΠΈ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ»Π°ΡΠΎΠΉ. ΠΡΠ° ΠΈΠ·ΠΎΠ»ΡΡΠΈΡ Π²ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎ 1000Π ΡΡΠ΅Π΄Π½Π΅ΠΊΠ²Π°Π΄ΡΠ°ΡΠΈΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ .
ΠΡΠΎΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΈΠΌΠ΅Π΅Ρ 20-ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ½ΡΠΉ ΡΠ°Π·ΡΠ΅ΠΌ IDC Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ΅Π»Π΅Π²ΡΠΌ ΠΏΠ»Π°ΡΠ°ΠΌ. Π Π°ΡΠΏΠΈΠ½ΠΎΠ²ΠΊΡ ΡΡΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ΅ΠΌΠ° ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½ΠΈΠΆΠ΅.
Nucleo ST-LINK/V2
ST-LINK/V2, Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π² ΠΏΠ»Π°ΡΡ Nucleo-64 ΠΈ Nucleo-144, ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°. ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ½ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΡΡΠΊΠΈ Ρ CN2
(Nucleo-64) ΠΈΠ»ΠΈ CN4
(Nucleo-144). Π’ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ CN4
(Nucleo-64) ΠΈΠ»ΠΈ CN6
(Nucleo-144) Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ Π²Π°ΡΠ΅ΠΉ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ»Π°ΡΠ΅.
ΠΡΠΎΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΈΠΌΠ΅Π΅Ρ 6-ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ½ΡΠΉ ΡΠ°Π·ΡΠ΅ΠΌ dupont Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ°Π·ΡΠ΅ΠΌΡ SWD Π½Π° ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ»Π°ΡΠ΅. Π Π°ΡΠΏΠΈΠ½ΠΎΠ²ΠΊΡ ΡΡΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ΅ΠΌΠ° ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½ΠΈΠΆΠ΅.
ΠΠ»ΠΎΠ½ ST-LINK/V2
Π‘Π°ΠΌΠ°Ρ Π΄Π΅ΡΠ΅Π²Π°Ρ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° ΠΎΠ±ΠΎΠΈΠΌ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ°ΠΌ ST β ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΠΉ ΠΊΠ»ΠΎΠ½ ST-LINK/V2. ΠΡΠΎΡ ΠΊΠ»ΠΎΠ½ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΠ°ΠΊΠΎΠ΅ ΠΆΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΎ SWD. ΠΠ½ Π½Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΠ»Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ JTAG. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² ΠΏΠΈΡΠ°Π½ΠΈΡ, ΠΊΠ°ΠΊ +5 Π, ΡΠ°ΠΊ ΠΈ +3,3 Π.
ΠΡΠΎΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΈΠΌΠ΅Π΅Ρ 10-ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ½ΡΠΉ ΡΠ°Π·ΡΠ΅ΠΌ IDC. Π Π°ΡΠΏΠΈΠ½ΠΎΠ²ΠΊΡ ΡΡΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ΅ΠΌΠ° ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½ΠΈΠΆΠ΅.
swd — STM32 + Black Magic Probe: ΠΏΠΎΠ΄ΡΡΠ½ΡΡΡ SWDIO ΠΈ SWO?
\$\Π½Π°ΡΠ°Π»ΠΎ Π³ΡΡΠΏΠΏΡ\$
Π― ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Ρ ΡΡ Π΅ΠΌΡ STM32F103 ΠΈ ΠΏΠ»Π°Π½ΠΈΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ Π΅Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π°ΡΡΠΈΠΊΠ° Black Magic.
Π― ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ» SWDIO, SWCLK ΠΈ SWO ΠΊ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌΡ 10-ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ½ΠΎΠΌΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΌΡ ΡΠ°Π·ΡΠ΅ΠΌΡ ARM Cortex M. ΠΠ°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, ΠΏΡΠΎΠ±Π½ΠΈΠΊ Π±ΡΠ΄Π΅Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΡΠΈΡ
Π»ΠΈΠ½ΠΈΡΡ
, ΠΈ Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΈΡ
ΠΏΠ»Π°Π²Π°ΡΡΠΈΠΌΠΈ, Ρ. Π΅. Π½ΠΈΠΊΠ°ΠΊΠΈΡ
ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΡΠΈΡ
Π»ΠΈΠ½ΠΈΡΡ
.
Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΎΡΠ΅Π½ΠΎΡΠ½Π°Ρ ΠΏΠ»Π°ΡΠ° Nucleo, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°Ρ ΡΠ²ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΈΠΌΠ΅Π΅Ρ ΡΠ°Π·ΡΠ΅ΠΌ JTAG, ΠΈ ΠΎΠ΄Π½Π° ΠΈΠ· Π²Π΅ΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ΠΈ Π΄Π΅Π»Π°ΡΡ, β ΡΡΠΎ ΡΠ»Π°Π±ΠΎΠ΅ ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°Π½ΠΈΠ΅ Π»ΠΈΠ½ΠΈΠΉ Π΄Π»Ρ TMS/SWDIO ΠΈ TDO/SWO Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅Π·ΠΈΡΡΠΎΡΠ° 10 ΠΊΠΠΌ Π΄ΠΎ 3,3 Π:
ΠΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ Ρ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ 10k pull up Π½Π° ΡΡΠΈΡ Π»ΠΈΠ½ΠΈΡΡ ?
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΏΡΠΎΡΠΈΠ² Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ 10ΠΊ ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°Π½ΠΈΠΉ:
ΠΠ»Π°ΡΠ° Nucleo Π½Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π·ΠΎΠ½Π΄ΠΎΠΌ Black Magic; ΠΎΠ½ Π±ΡΠ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Π² Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΡΡ ΡΠΏΠΎΡ Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΠΌ JTAG (Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ST-Link).
ΠΡΠ»ΠΈ Black Magic Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΡΠΈΡ Π»ΠΈΠ½ΠΈΡΡ ΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π°ΡΠΈΡΠ½ΡΡ Π΄ΠΈΠΎΠ΄ΠΎΠ² Ρ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΌ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΡΠΎΠΊ Π±ΡΠ΄Π΅Ρ ΡΠ΅ΡΡ ΠΎΡ ΠΏΠ»Π°ΡΡ-ΠΌΠΈΡΠ΅Π½ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² Black Magic, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ±ΠΈΡΡ Π΅Π³ΠΎ Ρ ΡΠΎΠ»ΠΊΡ ΠΈΠ»ΠΈ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π½Π΅ΠΈΡΠΏΡΠ°Π²Π½ΠΎΡΡΠΈ.
Π― ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅Π» ΡΡ Π΅ΠΌΡ ΠΏΠ»Π°Ρ Π΄Π»Ρ Ρ ΠΎΠ±Π±ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅, ΠΏΠΎ ΡΠ»ΠΎΠ²Π°ΠΌ Π»ΡΠ΄Π΅ΠΉ ΠΈΠ· Black Magic, ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡ Ρ ΠΈΡ Π·ΠΎΠ½Π΄ΠΎΠΌ, ΠΈ Π½ΠΈ ΠΎΠ΄Π½Π° ΠΈΠ· Π½ΠΈΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ SWDIO ΠΈΠ»ΠΈ SWO. ΠΠ½ΠΈ ΠΏΡΠΎΡΡΠΎ ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΈΡ ΠΏΠ»Π°Π²Π°ΡΡΠΈΠΌΠΈ.
ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π² ΠΏΠΎΠ»ΡΠ·Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ 10k ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ Π²ΠΈΠΆΡ, Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΡΠ΅Π½ΠΎΡΠ½Π°Ρ ΠΏΠ»Π°ΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΌΡΠΌ Π½Π°Π΄Π΅ΠΆΠ½ΡΠΌ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ ΠΏΡΠ°Π²Π΄Ρ, ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΅ΡΡΡ ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ ΠΏΡΠΈΡΠΈΠ½Π°, Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½Π°Ρ ΠΌΠ½Π΅, ΠΏΠΎΡΠ΅ΠΌΡ ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΡΠΈ ΡΡΡΠΎΠΊΠΈ ΠΏΠ»Π°Π²Π°ΡΡΠΈΠΌΠΈ — ΠΏΠ»ΠΎΡ
Π°Ρ ΠΈΠ΄Π΅Ρ.
ΠΡΠ»ΠΈ ΠΊΡΠΎ-ΡΠΎ Π΅ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π» ΡΡ Π΅ΠΌΡ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Ρ Black Magic, ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ SWD, ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ ST-Link, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ ΡΠΊΠ°Π·Π°ΡΡ ΠΌΠ½Π΅, ΠΏΠΎΠ΄ΡΡΠ½ΡΠ»ΠΈ Π»ΠΈ Π²Ρ SWDIO ΠΈ SWO?
- ΡΡΠΌ32
- ΡΠ²Π΄
\$\ΠΊΠΎΠ½Π΅ΡΠ½Π°Ρ Π³ΡΡΠΏΠΏΠ°\$
\$\Π½Π°ΡΠ°Π»ΠΎ Π³ΡΡΠΏΠΏΡ\$
STM32 ΡΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°ΡΡΠΈΠ΅ ΡΠ΅Π·ΠΈΡΡΠΎΡΡ Π½Π° Π²ΡΠ²ΠΎΠ΄Π°Ρ SWD. ΠΠΈΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ STM32 Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ ΠΎ Π²Π½Π΅ΡΠ½ΠΈΡ ΡΠ΅Π·ΠΈΡΡΠΎΡΠ°Ρ puii Π΄Π»Ρ ΡΡΠΌΠ½ΡΡ ΡΡΠ΅Π΄. ΠΡΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΠΉ Π°Π΄Π°ΠΏΡΠ΅Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΏΡΠ°Π²ΠΈΡΡΡΡ, ΡΠΊΠ°ΠΆΠ΅ΠΌ, Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠΎΠΏΡΠΎΡΠΈΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ 10 ΠΊΠΠΌ ΠΊ VCC (ΠΈ/ΠΈΠ»ΠΈ GND), Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΠΎΠ± ΡΡΠΎΠΉ ΠΈΠ³ΡΡΡΠΊΠ΅ ΠΈ ΠΊΡΠΏΠΈΡΠ΅ Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΠΉ Π°Π΄Π°ΠΏΡΠ΅Ρ, ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ²Π΅ΡΡΡΡ.
ΠΠΎΡΠ»Π΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² STM32 ΠΎΠ½ΠΈ ΡΠΏΠΎΠΌΠΈΠ½Π°ΡΡ, ΡΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡ IEEE JTAG ΠΏΡΠ΅Π΄ΠΏΠΈΡΡΠ²Π°Π΅Ρ, ΡΡΠΎΠ±Ρ ΡΠΈΠ³Π½Π°Π»Ρ ΠΈΠΌΠ΅Π»ΠΈ ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°ΡΡΠΈΠ΅ ΡΠ΅Π·ΠΈΡΡΠΎΡΡ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ Π½Π΅ ΠΏΠ»Π°Π²Π°Π»ΠΈ. ΠΠΎ ΡΠ°ΠΊΠΆΠ΅ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°Ρ
Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ, ΡΡΠΎ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ STM32 ΠΈΠΌΠ΅ΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°ΡΡΠΈΠ΅ ΡΠ΅Π·ΠΈΡΡΠΎΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π²Π½Π΅ΡΠ½ΠΈΠ΅ Π½Π΅ Π½ΡΠΆΠ½Ρ.