Π’ ΠΌΠΈΡ€Π΅ встраиваСмых систСм ΠΈ микроэлСктроники часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ Β«ΠΆΠ΅Π»Π΅Π·ΡƒΒ» для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ устройства. ИмСнно здСсь Π½Π° сцСну выходят Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Ρ‚ΡƒΠΏΠΈΠΊ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°, Π½ΠΎ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π°Π·Π±ΡƒΠΊΠΎΠΉ для ΠΎΠΏΡ‹Ρ‚Π½ΠΎΠ³ΠΎ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°. ΠŸΠΈΠ½Ρ‹ SWDIO ΠΈ SWCLK ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ элСмСнты ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, извСстного ΠΊΠ°ΠΊ Serial Wire Debug.

Π­Ρ‚ΠΎΡ‚ интСрфСйс Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ ARM для Π·Π°ΠΌΠ΅Π½Ρ‹ Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΎΠ³ΠΎ ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π΅Π³ΠΎ мноТСства ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠ² стандарта JTAG. Главная идСя Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»Π°ΡΡŒ Π² сокращСнии количСства Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΡΠΈΠ³Π½Π°Π»ΡŒΠ½Ρ‹Ρ… Π»ΠΈΠ½ΠΈΠΉ ΠΏΡ€ΠΈ сохранСнии ΠΏΠΎΠ»Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. SWDIO (Serial Wire Debug Input/Output) ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, Π° SWCLK (Serial Wire Debug Clock) синхронизируСт этот процСсс, обСспСчивая Ρ‚Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.

ПониманиС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ этих сигналов критичСски Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Β«ΠΊΠΈΡ€ΠΏΠΈΡ‡Β» послС Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΉ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… интСрфСйсов, здСсь Π²Π°ΠΆΠ½Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ физичСская Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ соСдинСний, Π½ΠΎ ΠΈ соблюдСниС Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ. ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» SWD ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ всСго Π΄Π²Π΅ ΡΠΈΠ³Π½Π°Π»ΡŒΠ½Ρ‹Π΅ Π»ΠΈΠ½ΠΈΠΈ для Π΄Π²ΡƒΠ½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ эффСктивным для устройств с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌ количСством Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ².

ЀизичСская ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π° сигналов SWDIO ΠΈ SWCLK

Π‘ΠΈΠ³Π½Π°Π» SWCLK являСтся Ρ‚Π°ΠΊΡ‚ΠΎΠ²Ρ‹ΠΌ, Π΅Π³ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€), Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ воспринимаСт Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΊ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ. Частота этого сигнала ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°Ρ€ΡŒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Π½ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ½Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΠΈΠΆΠ΅ Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΉ частоты самого процСссора, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ связи. Если этот сигнал отсутствуСт ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠΈΠ»ΡŒΠ½Ρ‹Π΅ искаТСния, Π΄ΠΈΠ°Π»ΠΎΠ³ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΎΠΌ ΠΈ Ρ†Π΅Π»Π΅Π²Ρ‹ΠΌ устройством Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅.

Линия SWDIO являСтся Π΄Π²ΡƒΠ½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠΉ. Π’ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° управляСт этой Π»ΠΈΠ½ΠΈΠ΅ΠΉ, записывая Π΄Π°Π½Π½Ρ‹Π΅ Π² рСгистры ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. Π’ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ сам Ρ‡ΠΈΠΏ, пСрСдавая ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹, значСния рСгистров ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Вакая организация Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ проСктирования элСктричСских характСристик Π»ΠΈΠ½ΠΈΠΈ.

Для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ интСрфСйса Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ Π»ΠΈΠ½ΠΈΠΈ питания ΠΈ Π·Π΅ΠΌΠ»ΠΈ. Π‘Π΅Π· ΠΎΠ±Ρ‰Π΅Π³ΠΎ GND ΡƒΡ€ΠΎΠ²Π½ΠΈ логичСского нуля ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкам ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ. Часто для ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ рСзисторы, хотя Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… соврСмСнных ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°Ρ… ΠΎΠ½ΠΈ ΡƒΠΆΠ΅ встроСны.

  • πŸ”Œ SWCLK β€” Ρ‚Π°ΠΊΡ‚ΠΎΠ²Ρ‹ΠΉ сигнал, всСгда Π²Ρ‹Ρ…ΠΎΠ΄ для ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° ΠΈ Π²Ρ…ΠΎΠ΄ для ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°.
  • πŸ”„ SWDIO β€” линия Π΄Π°Π½Π½Ρ‹Ρ…, ΠΌΠ΅Π½ΡΡŽΡ‰Π°Ρ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ (Input/Output) Π² зависимости ΠΎΡ‚ Ρ„Π°Π·Ρ‹ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ.
  • ⚑ VCC β€” напряТСниС питания, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄Π°Π²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° Π½Π° ΠΏΠ»Π°Ρ‚Ρƒ ΠΈΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚.
  • 🏁 GND β€” ΠΎΠ±Ρ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ²ΠΎΠ΄, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ считывания логичСских ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Никогда Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ Π»ΠΈΠ½ΠΈΠΈ питания (VCC) ΠΎΡ‚ Π΄Π²ΡƒΡ… Ρ€Π°Π·Π½Ρ‹Ρ… источников ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Если ваша ΠΏΠ»Π°Ρ‚Π° Π·Π°ΠΏΠΈΡ‚Π°Π½Π° ΠΎΡ‚ USB, Π° ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ Ρ‚ΠΎΠΆΠ΅ ΠΏΠΎΠ΄Π°Π΅Ρ‚ 3.3Π’ ΠΈΠ»ΠΈ 5Π’, это ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ ΠΈ вывСсти ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ· строя.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ с интСрфСйсом JTAG

Π”ΠΎΠ»Π³ΠΎΠ΅ врСмя стандартом Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ARM-процСссоров Π±Ρ‹Π» интСрфСйс JTAG. Он Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ наличия пяти ΡΠΈΠ³Π½Π°Π»ΡŒΠ½Ρ‹Ρ… Π»ΠΈΠ½ΠΈΠΉ: TCK, TMS, TDI, TDO ΠΈ TRST. Π­Ρ‚ΠΎ создаСт Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° Π²Ρ‹Π²ΠΎΠ΄Ρ‹ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π² ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹Ρ… корпусах всСгда Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚. ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» SWD Ρ€Π΅ΡˆΠ°Π΅Ρ‚ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚Ρƒ ΠΆΠ΅ ΡΠ°ΠΌΡƒΡŽ Ρ‚Ρ€Π°Π½ΡΠΏΠΎΡ€Ρ‚Π½ΡƒΡŽ ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΡƒ, Π½ΠΎ упаковывая Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ½Π°Ρ‡Π΅.

ОсновноС Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ кроСтся Π² способС ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ JTAG Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ΄ΡƒΡ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Π½Π° Π²Ρ…ΠΎΠ΄ (TDI) ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ (TDO), Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ SWD ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ ΠΈΡ… Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠ°Π½Π°Π» SWDIO. Π­Ρ‚ΠΎ позволяСт ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄Π²Π° Π²Ρ‹Π²ΠΎΠ΄Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π΄Ρ€ΡƒΠ³ΠΈΡ… Π·Π°Π΄Π°Ρ‡ Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. ΠŸΡ€ΠΈ этом ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ часто остаСтся сопоставимой.

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ST-Link, J-Link ΠΈΠ»ΠΈ DAPLink, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΎΠ±Π° Ρ€Π΅ΠΆΠΈΠΌΠ°. ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ часто происходит автоматичСски ΠΈΠ»ΠΈ настраиваСтся Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ обСспСчСнии IDE. Однако физичСски ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ Π½Π° ΠΏΠ»Π°Ρ‚Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π²Π΅Π΄Π΅Π½Ρ‹ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ, поэтому всСгда ΡΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ΡΡŒ со схСмой.

πŸ“Š Какой ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ всСго?
  • ST-Link V2
  • J-Link
  • DAPLink
  • OpenOCD + FTDI
  • Π”Ρ€ΡƒΠ³ΠΎΠΉ

ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ с JTAG Π½Π° SWD Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, для 95% Π·Π°Π΄Π°Ρ‡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ производства SWD являСтся Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ.

Распиновка ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° ΠΊ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ»Π°Ρ‚Π΅ β€” это ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ шаг, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ. Бтандартная ΠΊΠΎΠ»ΠΎΠ΄ΠΊΠ° для SWD ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ 4 ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°, располоТСнныС Π² ряд ΠΈΠ»ΠΈ Π² Π²ΠΈΠ΄Π΅ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π° 2x2. На ΠΏΠ»Π°Ρ‚Π΅ ΠΎΠ½ΠΈ часто ΠΌΠ°Ρ€ΠΊΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ SWDIO, SWCLK, GND ΠΈ VCC (ΠΈΠ»ΠΈ 3.3V).

Иногда ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚ΡŒ ΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ SWO (Serial Wire Output). Π­Ρ‚ΠΎΡ‚ ΠΏΠΈΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Ρ‹Π²ΠΎΠ΄Π° ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (printf-ΠΎΡ‚Π»Π°Π΄ΠΊΠ°), Π½ΠΎ ΠΎΠ½ Π½Π΅ являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ для Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ ΠΈΠ»ΠΈ остановки процСссора. Π•Π³ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ зависит ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° ΠΏΠ»Π°Ρ‚Π΅.

Π”Π»ΠΈΠ½Π° ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠ² ΠΈΠ³Ρ€Π°Π΅Ρ‚ Π²Π°ΠΆΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ сигнал SWCLK ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ частоту Ρ„Ρ€ΠΎΠ½Ρ‚, Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° Π±Π΅Π· экранирования Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΊΠ°ΠΊ Π°Π½Ρ‚Π΅Π½Π½Ρ‹, ловя ΠΏΠΎΠΌΠ΅Ρ…ΠΈ. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ связи ΠΈ ошибкам Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ΅.

  • πŸ” Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠΈΠ½Ρ†Π΅Ρ‚ ΠΈΠ»ΠΈ pogo-пинсы для Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π° с тСстовыми ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠ°ΠΌΠΈ.
  • πŸ“‰ Π‘Ρ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΡ€ΠΎΡ‡Π΅, особСнно линию тактирования.
  • πŸ›‘οΈ Если ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ Π½Π° ΠΏΠ»Π°Ρ‚Π΅ Π½Π΅ подписаны, ΠΈΡ‰ΠΈΡ‚Π΅ ΠΈΡ… Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚Π΅ Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΡƒΡ€ΠΎΠ²Π½ΠΈ напряТСния логичСских сигналов совмСстимы. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ 5-Π²ΠΎΠ»ΡŒΡ‚ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° ΠΊ 3.3-Π²ΠΎΠ»ΡŒΡ‚ΠΎΠ²ΠΎΠΌΡƒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ Π±Π΅Π· согласования ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠΌΠΎ ΠΏΠΎΠ²Ρ€Π΅Π΄ΠΈΡ‚ΡŒ ΠΏΠΎΡ€Ρ‚Ρ‹ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° Ρ‡ΠΈΠΏΠ°.

ИспользованиС Π² ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ΅ ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅

ΠŸΡ€ΠΎΡ†Π΅ΡΡ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Ρ‡Π΅Ρ€Π΅Π· SWD начинаСтся с установки соСдинСния. ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ ΠΏΠΎΠ΄Π°Π΅Ρ‚ сигнал сброса ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Β«ΠΏΠΎΠ΄ напряТСниСм» (connect under reset). ПослС этого Ρ‡Π΅Ρ€Π΅Π· линию SWDIO ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для записи Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ Flash.

Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ интСрфСйс позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠ΄ пошагово, ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΠΈ останова (breakpoints) ΠΈ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚ΡŒ Π·Π° содСрТимым ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π­Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ благодаря Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ядро процСссора ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, Π³Π΄Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ основного ΠΊΠΎΠ΄Π° приостанавливаСтся.

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с этим интСрфСйсом. Для ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² STM32 популярна ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° stm32flash ΠΈΠ»ΠΈ встроСнныС срСдства Π² STM32CubeProgrammer. Для ESP32 ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‡ΠΈΠΏΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ свои ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ».

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΎΠΉ

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΎΡ‚ чтСния ΠΈ записи (Readout Protection). Если ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ установлСн, ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π· SWDIO/SWCLK Π±Π΅Π· ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ пароля ΠΈΠ»ΠΈ сброса настроСк Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Π°.

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

Одной ΠΈΠ· самых частых ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ являСтся ситуация, ΠΊΠΎΠ³Π΄Π° ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚ Ρ†Π΅Π»Π΅Π²ΠΎΠ΅ устройство. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½ΠΎ ΠΎΠ±Ρ€Ρ‹Π²ΠΎΠΌ Π»ΠΈΠ½ΠΈΠΈ SWCLK ΠΈΠ»ΠΈ SWDIO. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° цСлостности соСдинСний ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΏΡ€ΠΎΠ·Π²ΠΎΠ½ΠΊΠΈ β€” ΠΏΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

Другая распространСнная ошибка β€” Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ частота тактирования. Если Π² настройках ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° выставлСна слишком высокая частота SWCLK, ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΡƒΡΠΏΠ΅Π²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ запросы. Π‘Π½ΠΈΠΆΠ΅Π½ΠΈΠ΅ скорости соСдинСния часто Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Π’Π°ΠΊΠΆΠ΅ стоит ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° состояниС Π²Ρ‹Π²ΠΎΠ΄Π° Reset. Если этот ΠΏΠΈΠ½ «подтянут» ΠΊ Π·Π΅ΠΌΠ»Π΅ ΠΈΠ»ΠΈ Π½Π° Π½Π΅Π³ΠΎ подаСтся ΡˆΡƒΠΌ, процСссор Π±ΡƒΠ΄Π΅Ρ‚ постоянно ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ, Π½Π΅ давая ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΡƒ Π·Π°Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ использованиС Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ с Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌ сбросом.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли SWDIO «висит» Π² Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅?

Если линия Π΄Π°Π½Π½Ρ‹Ρ… постоянно Π΄Π΅Ρ€ΠΆΠΈΡ‚ высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΈ Π½Π΅ Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ записи, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΏΠ΅Ρ€Π΅ΡˆΠ΅Π» Π² Ρ€Π΅ΠΆΠΈΠΌ сна ΠΈΠ»ΠΈ остановил Ρ‚Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡ€Ρ‚Π° SWD ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ. Π’ этом случаС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Reset Π½Π° ΠΏΠ»Π°Ρ‚Π΅, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ, ΠΎΡ‚ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Reset ΠΈ сразу ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.

Иногда ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° кроСтся Π² самом ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ обСспСчСнии IDE. ОбновлСниС Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ бэкСнда ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с OpenOCD Π½Π° PyOCD) ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹.

Π’Π°Π±Π»ΠΈΡ†Π° соотвСтствия сигналов популярных ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΎΠ²

Π Π°Π·Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΡƒΡŽ ΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ Π½Π° своих Ρ€Π°Π·ΡŠΠ΅ΠΌΠ°Ρ…. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°, ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‰Π°Ρ ΡΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² для Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнных устройств.

Π‘ΠΈΠ³Π½Π°Π» ST-Link V2 J-Link (Segger) ESP-Prog Blue Pill (SWD)
ЗСмля GND GND GND GND
Π’Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ SWCLK RTCK / SWCLK TCK CLK / PB3
Π”Π°Π½Π½Ρ‹Π΅ SWDIO TMS / SWDIO TDI / SWDIO DIO / PA13
ΠŸΠΈΡ‚Π°Π½ΠΈΠ΅ 3.3V Vref / 3.3V 3.3V 3.3V
πŸ’‘

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°ΠΌΠΈ J-Link ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΠΈΠ½ TMS часто Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ соотвСтствуСт SWDIO, Π° TCK β€” SWCLK, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ J-Link эмулируСт ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ JTAG ΠΏΠΎΠ²Π΅Ρ€Ρ… SWD ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°.

ИспользованиС ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ распиновки Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΏΡƒΡ‚Π°Π΅Ρ‚Π΅ ΡΠΈΠ³Π½Π°Π»ΡŒΠ½Ρ‹Π΅ Π»ΠΈΠ½ΠΈΠΈ, Ρ‡Ρ‚ΠΎ особСнно Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΡΠ°ΠΌΠΎΠ΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊΠ°ΠΌΠΈ.

Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π·Π°Ρ‰ΠΈΡ‚Π° Π΄Π°Π½Π½Ρ‹Ρ…

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ β€” это Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ инструмСнт для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, Π½ΠΎ ΠΈ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ Π΄Ρ‹Ρ€Π° Π² бСзопасности устройства. Π§Π΅Ρ€Π΅Π· SWDIO ΠΈ SWCLK Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΡƒ.extractΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡ΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒ врСдоносный ΠΊΠΎΠ΄.

Для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ нСсанкционированного доступа ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π²Π½Π΅Π΄Ρ€ΡΡŽΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Π·Π°Ρ‰ΠΈΡ‚Ρ‹. НапримСр, Π² STM32 это ΡƒΡ€ΠΎΠ²Π½ΠΈ RDP (Readout Protection). ΠŸΡ€ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ высокого уровня доступа Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ памяти Ρ‡Π΅Ρ€Π΅Π· SWD блокируСтся, Π° ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΠΎΠ»Π½ΠΎΠΌΡƒ ΡΡ‚ΠΈΡ€Π°Π½ΠΈΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ памяти.

πŸ’‘

Активация Π·Π°Ρ‰ΠΈΡ‚Ρ‹ чтСния (RDP Level 1 ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅) β€” ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ шаг для Π»ΡŽΠ±Ρ‹Ρ… коммСрчСских устройств, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ собствСнности Ρ‡Π΅Ρ€Π΅Π· интСрфСйс ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ слСдуСт ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎΠ± этом Π΅Ρ‰Π΅ Π½Π° этапС проСктирования. Если устройство Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½ΠΎ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ запускС ΠΈΠ»ΠΈ Π² процСссС производства.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, физичСский доступ ΠΊ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°ΠΌ SWD Π½Π° ΠΏΠ»Π°Ρ‚Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ, Π½Π΅ выводя ΠΈΡ… Π½Π° ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ Ρ€Π°Π·ΡŠΠ΅ΠΌΡ‹, Π° оставляя Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½Ρ‹Π΅ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠΈ, ΠΈΠ»ΠΈ вовсС удаляя ΠΈΡ… послС ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π½Π° производствС.

МоТно Π»ΠΈ ΠΏΡ€ΠΎΡˆΠΈΡ‚ΡŒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π±Π΅Π· Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΡŠΠ΅ΠΌΠ° SWD?

Π”Π°, Ссли Π½Π° ΠΏΠ»Π°Ρ‚Π΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π²Ρ‹Π²ΠΎΠ΄Ρ‹, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ SWDIO ΠΈ SWCLK, Π½ΠΈΠΊΡƒΠ΄Π° Π½Π΅ заняты Π² Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΌ устройствС, ΠΊ Π½ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΏΠ°ΡΡ‚ΡŒΡΡ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Часто Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ эти ΠΏΠΈΠ½Ρ‹ свободными ΠΈΠΌΠ΅Π½Π½ΠΎ для возмоТности сСрвисного обслуТивания.

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ SWD ΠΈ SPI?

Π₯отя ΠΎΠ±Π° интСрфСйса ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π»ΠΈΠ½ΠΈΠΈ тактирования ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠ½ΠΈ слуТат Ρ€Π°Π·Π½Ρ‹ΠΌ цСлям. SPI ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ с ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠ΅ΠΉ (ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΈ), Π° SWD β€” ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ программирования самого ядра процСссора. ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Ρƒ Π½ΠΈΡ… ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Ρ€Π°Π·Π½Ρ‹Π΅.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚ устройство, хотя ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π²Π΅Ρ€Π½ΠΎ?

ΠŸΡ€ΠΈΡ‡ΠΈΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСсколько: ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ находится Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ сна, ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΠ²ΡˆΠ΅ΠΌ Ρ‚Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡ€Ρ‚Π° ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ; ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ RDP Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½; ΠΈΠ»ΠΈ ΠΆΠ΅ частота SWCLK Π² настройках ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° слишком высока для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ состояния систСмы.

НуТСн Π»ΠΈ рСзистор Π½Π° Π»ΠΈΠ½ΠΈΠΈ SWDIO?

Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ рСзисторы ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΈ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° suffisant. Однако, Ссли линия длинная ΠΈΠ»ΠΈ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½Π° источниками ΠΏΠΎΠΌΠ΅Ρ…, внСшняя подтяТка ΠΊ ΠΏΠΈΡ‚Π°Π½ΠΈΡŽ (3.3Π’) Ρ‡Π΅Ρ€Π΅Π· рСзистор 4.7-10 кОм ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ сигнала.