БоврСмСнная микроэлСктроника Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Π±Π΅Π· эффСктивных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² обновлСния встроСнного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Когда ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ Π½ΠΎΠ²Ρ‹Π΅ устройства Π½Π° Π±Π°Π·Π΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ², ΠΎΠ½ΠΈ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ Ρ‡ΠΈΠΏΠΎΠ². ИмСнно здСсь Π½Π° сцСну Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ BSL Ρ€Π΅ΠΆΠΈΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ часто становится СдинствСнным способом Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ устройства послС критичСского сбоя.

МногиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ, ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ²ΡˆΠΈΠ΅ΡΡ с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ², Π·Π°Π΄Π°ΡŽΡ‚ΡΡ вопросом: Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ BSL ΠΈ Ρ‡Π΅ΠΌ ΠΎΠ½ отличаСтся ΠΎΡ‚ стандартных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ? Boot Strap Loader прСдставляСт собой спСциализированный ΠΊΠΎΠ΄, записанный Π² ΠŸΠ—Π£ самого Ρ‡ΠΈΠΏΠ° Π΅Ρ‰Π΅ Π½Π° Π·Π°Π²ΠΎΠ΄Π΅-ΠΈΠ·Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚Π΅Π»Π΅. Он активируСтся ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… условиях ΠΈ позволяСт Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ основной ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ устройства Ρ‡Π΅Ρ€Π΅Π· простыС интСрфСйсы связи, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ UART ΠΈΠ»ΠΈ USB, Π±Π΅Π· использования дорогостоящих эмуляторов.

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

ВСхничСскиС особСнности ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Bootloader

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ дСйствия Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ° базируСтся Π½Π° строгой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ событий, происходящих сразу послС ΠΏΠΎΠ΄Π°Ρ‡ΠΈ питания Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€. ΠŸΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ устройства процСссор провСряСт состояниС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² ΠΈΠ»ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ спСцифичСских сигналов Π½Π° ΠΏΠΎΡ€Ρ‚Π°Ρ… Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°. Если условия Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ пСрСдаСтся Π½Π΅ основному ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ, Π° Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ области памяти, Π³Π΄Π΅ ΠΈ resides BSL ΠΊΠΎΠ΄.

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΡ‚ внСшнСго хост-ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π°. Texas Instruments, являясь ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΠΈΠΎΠ½Π΅Ρ€ΠΎΠ² этой Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π² своих ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ… MSP430, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»Π° Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ для Π²Ρ…ΠΎΠ΄Π° Π² Ρ€Π΅ΠΆΠΈΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±Π°ΠΉΡ‚ΠΎΠ² ΠΈΠ»ΠΈ Π·Π½Π°Ρ‚ΡŒ заводской ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ нСсанкированноС ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ источник питания с Π½ΠΈΠ·ΠΊΠΈΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ ΠΏΡƒΠ»ΡŒΡΠ°Ρ†ΠΈΠΉ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с BSL, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ скачки напряТСния ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠΎΠ²Ρ€Π΅Π΄ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ.

Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° Π² этом Ρ€Π΅ΠΆΠΈΠΌΠ΅ происходит Π½Π° Π½ΠΈΠ·ΠΊΠΈΡ… скоростях ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΉ ΠΎΡ‚Π»Π°Π΄ΠΊΠΎΠΉ Ρ‡Π΅Ρ€Π΅Π· JTAG. Однако для ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠΉ записи ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ»ΠΈ обновлСния firmware Π² ΠΏΠΎΠ»Π΅Π²Ρ‹Ρ… условиях этого Π²ΠΏΠΎΠ»Π½Π΅ достаточно. ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ строится Π²ΠΎΠΊΡ€ΡƒΠ³ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ подтвСрТдаСтся acknowledgment-сигналом.

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

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ отличия BSL ΠΎΡ‚ интСрфСйса JTAG ΠΈ Spy-Bi-Wire

Часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ программирования. JTAG (Joint Test Action Group) β€” это ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ интСрфСйс ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄, Π½ΠΎ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ построчно, ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ процСссор, Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ рСгистры Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π½Π° Π»Π΅Ρ‚Ρƒ. Π­Ρ‚ΠΎ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Π½ΠΎ ΠΎΠ½ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΡ€ΠΎΠ³ΠΈΡ… эмуляторов ΠΈ наличия Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² Π½Π° ΠΏΠ»Π°Ρ‚Π΅.

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π½Π΅Π³ΠΎ, BSL Ρ€Π΅ΠΆΠΈΠΌ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΊΠΎΠ΄Π° ΠΈΠ· памяти. Он Π½Π΅ позволяСт Β«Π·Π°ΠΌΠΎΡ€ΠΎΠ·ΠΈΡ‚ΡŒΒ» Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π°Π½Π°Π»ΠΈΠ·Π°. Π—Π°Ρ‚ΠΎ BSL Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠ° рСсурсов: часто достаточно всСго Π΄Π²ΡƒΡ… ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠ² (TX ΠΈ RX) для связи Ρ‡Π΅Ρ€Π΅Π· UART. Π­Ρ‚ΠΎ критичСски Π²Π°ΠΆΠ½ΠΎ для устройств с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌ количСством Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² ΠΈΠ»ΠΈ для Ρ‚Π΅Ρ…, Π³Π΄Π΅ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ издСлия Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ минимальной.

БущСствуСт Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, извСстный ΠΊΠ°ΠΊ Spy-Bi-Wire (SBW), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ… MSP430. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π΄Π²Π° ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°, ΠΊΠ°ΠΊ BSL, Π½ΠΎ прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π», Π±Π»ΠΈΠ·ΠΊΠΈΠΉ ΠΊ JTAG. Однако BSL остаСтся ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ своим свойством Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Π΅Π· нСобходимости Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ кристалла, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ лишь стандартныС ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ.

πŸ“Š Π‘ ΠΊΠ°ΠΊΠΈΠΌ интСрфСйсом программирования Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ всСго?
  • JTAG
  • SWD
  • BSL (UART)
  • BSL (USB)
  • I2C/SPI

Π Π°Π·Π½ΠΈΡ†Π° Π² скорости Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ³Ρ€Π°Π΅Ρ‚ Ρ€ΠΎΠ»ΡŒ. JTAG обСспСчиваСт Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ ускоряСт процСсс ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. BSL, работая Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Π½ΠΎ Π΅Π³ΠΎ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ COM-ΠΏΠΎΡ€Ρ‚ Π΄Π΅Π»Π°ΡŽΡ‚ Π΅Π³ΠΎ Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΡ‹ΠΌ для Ρ„ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ устройств Π½Π° ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π΅.

Пошаговая инструкция Π²Ρ…ΠΎΠ΄Π° Π² Ρ€Π΅ΠΆΠΈΠΌ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ°

Для ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ Ρ€Π΅ΠΆΠΈΠΌΠ° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ряд дСйствий Π² строгой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠŸΡ€ΠΎΡ†Π΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°Ρ€ΡŒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ производитСля ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, Π½ΠΎ ΠΎΠ±Ρ‰ΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ остаСтся схоТим. Π‘Π½Π°Ρ‡Π°Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΡƒΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ², ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΡ… Π·Π° Π²Ρ‹Π±ΠΎΡ€ Ρ€Π΅ΠΆΠΈΠΌΠ° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ трСбуСтся ΠΏΠΎΠ΄Π°Ρ‚ΡŒ логичСский ноль ΠΈΠ»ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΠΈΠ½ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, TEST ΠΈΠ»ΠΈ BSL) Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΠΎΠ΄Π°Ρ‡ΠΈ питания ΠΈΠ»ΠΈ сброса (RST). ПослС этого ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Ρ€Π΅ΠΆΠΈΠΌ оТидания ΠΊΠΎΠΌΠ°Π½Π΄. Π”Π°Π»Π΅Π΅ слСдуСт ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ связь Ρ‡Π΅Ρ€Π΅Π· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈΠ»ΠΈ спСциализированный софт.

β˜‘οΈ Алгоритм Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ BSL

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

Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ MSP430, часто трСбуСтся ΠΏΠΎΡΠ»Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±Π°ΠΉΡ‚ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 0x80 Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт 0x00) Ρ‡Π΅Ρ€Π΅Π· UART, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ с Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΎΠΌ. Π‘Π΅Π· этой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ‡ΠΈΠΏ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ входящиС Π΄Π°Π½Π½Ρ‹Π΅, считая ΠΈΡ… ΡˆΡƒΠΌΠΎΠΌ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: НСсоблюдСниС Ρ‚Π°ΠΉΠΌΠΈΠ½Π³ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΠ΄Π°Ρ‡Π΅ΠΉ сигнала Π½Π° ΠΏΠΈΠ½ Π²Ρ‹Π±ΠΎΡ€Π° Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΈ сигналом сброса ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ устройство просто запустит ΡΡ‚Π°Ρ€ΡƒΡŽ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΡƒ вмСсто ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π² Ρ€Π΅ΠΆΠΈΠΌ программирования.

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях, Ссли ΠΏΠ°Ρ€ΠΎΠ»ΡŒ BSL Π±Ρ‹Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ, потрСбуСтся сначала Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ сброса пароля, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΏΠΎΠ»Π½ΠΎΠΌΡƒ ΡΡ‚ΠΈΡ€Π°Π½ΠΈΡŽ flash-памяти устройства. Π­Ρ‚ΠΎ ΠΌΠ΅Ρ€Π° бСзопасности, Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ, Ρ‡Ρ‚ΠΎ посторонниС Π½Π΅ смогут Π²Ρ‹Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ.

Π‘Ρ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π° характСристик интСрфСйсов

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

Π₯арактСристика BSL (UART/USB) JTAG Spy-Bi-Wire I2C/SPI BSL
ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠ² 2-3 (TX, RX, GND) 4-5 (TCK, TMS, TDI, TDO, TRST) 2 (TEST, TCK) 2-4 (SDA, SCL, CS)
Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Низкая/БрСдняя Высокая БрСдняя Низкая
ΠžΡ‚Π»Π°Π΄ΠΊΠ° ΠΊΠΎΠ΄Π° НСвозмоТна ΠŸΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Π°Ρ ΠŸΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Π°Ρ НСвозмоТна
Π‘Ρ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° Низкая (часто USB-UART) Высокая (эмулятор) БрСдняя Низкая
Π—Π°Ρ‰ΠΈΡ‚Π° ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ Π•ΡΡ‚ΡŒ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ) Π•ΡΡ‚ΡŒ (Π±ΠΈΡ‚ Π·Π°Ρ‰ΠΈΡ‚Ρ‹) Π•ΡΡ‚ΡŒ Π•ΡΡ‚ΡŒ

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, BSL Ρ€Π΅ΠΆΠΈΠΌ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎ простотС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ части. Для массового производства, Π³Π΄Π΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° ΡƒΠΆΠ΅ ΠΏΡ€ΠΎΠΉΠ΄Π΅Π½Π°, использованиС JTAG-эмуляторов Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ сборки Π±Ρ‹Π»ΠΎ Π±Ρ‹ экономичСски нСцСлСсообразным.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ BSL Ρ‡Π΅Ρ€Π΅Π· Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ интСрфСйсы (UART, USB, I2C, SPI) Π΄Π°Π΅Ρ‚ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°ΠΌ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚. МоТно Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚ интСрфСйс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΆΠ΅ задСйствован Π² систСмС ΠΈΠ»ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ развСсти Π½Π° ΠΏΠ»Π°Ρ‚Π΅.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС ΠΈ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹

Для взаимодСйствия с Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΎΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ спСциализированный софт. Для ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Texas Instruments стандартом Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎ являСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° UniFlash ΠΈΠ»ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° BSL Scripter. Π­Ρ‚ΠΈ инструмСнты ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ скрипты Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΈ сСрийном ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ.

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ сторонниС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ msp430-flasher ΠΈΠ»ΠΈ графичСскиС ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ для Linux ΠΈ Windows. Они часто ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ спСктр Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠ², Π²ΠΊΠ»ΡŽΡ‡Π°Ρ популярныС USB-to-UART ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€Ρ‹ Π½Π° Π±Π°Π·Π΅ Ρ‡ΠΈΠΏΠΎΠ² FTDI ΠΈΠ»ΠΈ CP2102.

Π‘Π΅ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ BSL

НСкоторыС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ undocumented ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² BSL для заводского тСстирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ID Ρ‡ΠΈΠΏΠ°, Π½ΠΎ ΠΈΡ… использованиС Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π΅ рискованно.

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкой часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Π½Π° ΠΏΠΎΡ€Ρ‚ ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ. НапримСр, ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊ запрос Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ вСрсии bootloader ΠΈΠ»ΠΈ запись Ρ„Π°ΠΉΠ»Π° .hex ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ адрСсу. ПониманиС структуры этих ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ процСсса ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ Π² Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ сборочныС Π»ΠΈΠ½ΠΈΠΈ.

Π’Π°ΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ вСрсии Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² для USB-Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠ². Π‘Ρ‚Π°Ρ€Ρ‹Π΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° высоких скоростях, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкам ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈ нСобходимости ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ процСсс.

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈΡ… устранСния

НаиболСС распространСнной ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ являСтся отсутствиС ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° ΠΎΡ‚ устройства. Π’ этом случаС слСдуСт ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ†Π΅ΠΏΡŒ питания ΠΈ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ соСдинСний. Часто ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° кроСтся Π² Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ сигнала Π½Π° Π»ΠΈΠ½ΠΈΠΈ RTS/DTR, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для управлСния сбросом.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° частая ошибка β€” ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² COM-ΠΏΠΎΡ€Ρ‚Π°. Если Π² систСмС установлСно нСсколько USB-UART Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠ², опСрационная систСма ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Ρƒ. НСобходимо Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ ΠΏΠΎΡ€Ρ‚Π° Π² диспСтчСрС устройств ΠΏΠ΅Ρ€Π΅Π΄ запуском BSL ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹.

πŸ’‘

90% ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Π²Ρ…ΠΎΠ΄ΠΎΠΌ Π² Ρ€Π΅ΠΆΠΈΠΌ BSL связаны с Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ΄Π°Ρ‡ΠΈ питания ΠΈ сигнала Π½Π° ΠΏΠΈΠ½ TEST/BSL.

Если устройство Π±Ρ‹Π»ΠΎ Ρ€Π°Π½Π΅Π΅ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½ΠΎ ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ, ΠΈ Π²Ρ‹ Π΅Π³ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅, СдинствСнным Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ остаСтся ΠΊΠΎΠΌΠ°Π½Π΄Π° erase mass (ΠΏΠΎΠ»Π½ΠΎΠ΅ стираниС). Π­Ρ‚ΠΎ дСйствиС Π½Π΅ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠΌΠΎ удаляСт всю ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π½ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ заводскиС настройки доступа.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ использовании ΡΠ°ΠΌΠΎΠ΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊΠΎΠ² ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π»ΠΈΠ½ΠΈΠΈ TX ΠΈ RX ΠΏΠ΅Ρ€Π΅ΠΊΡ€Π΅Ρ‰Π΅Π½Ρ‹ (TX ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° ΠΈΠ΄Π΅Ρ‚ Π½Π° RX ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚), прямоС соСдинСниС Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΏΠΎΡ€Ρ‚Ρ‹ ΠΈΠ· строя.

Π’Π°ΠΊΠΆΠ΅ стоит ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ «зависания» ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ΅. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ, Ссли Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Π΅ процСссы ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°ΡŽΡ‚ ΠΏΠΎΡ‚ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ…. РСкомСндуСтся Π·Π°ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ лишниС прилоТСния ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ энСргосбСрСТСниС USB-ΠΏΠΎΡ€Ρ‚ΠΎΠ² Π² BIOS.

ΠŸΠ΅Ρ€ΡΠΏΠ΅ΠΊΡ‚ΠΈΠ²Ρ‹ развития ΠΈ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ Π² соврСмСнных систСмах

Π‘ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ΠΌ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ IoT ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ управлСния, классичСский BSL Ρ‡Π΅Ρ€Π΅Π· физичСскиС ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ постСпСнно ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ΅, уступая мСсто DFU (Device Firmware Update) Ρ‡Π΅Ρ€Π΅Π· USB ΠΈ OTA (Over-The-Air) обновлСниям. Однако, BSL Ρ€Π΅ΠΆΠΈΠΌ остаСтся «послСднСй Π½Π°Π΄Π΅ΠΆΠ΄ΠΎΠΉΒ» ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ Π² памяти ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½.

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ сСрии STM32 ΠΈΠ»ΠΈ ESP32, Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ встроСнныС Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΈ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠΎ схоТим ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ. НапримСр, ESP32 ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Ρ€Π΅ΠΆΠΈΠΌ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΡ€ΠΈ Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠΈ GPIO0 Π½Π° зСмлю ΠΏΡ€ΠΈ рСстартС, Ρ‡Ρ‚ΠΎ являСтся прямым Π°Π½Π°Π»ΠΎΠ³ΠΎΠΌ BSL.

Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ становится всС Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹ΠΌ аспСктом. НовыС вСрсии BSL ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°Π½Π°Π»Π° связи ΠΈ слоТныС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ врСдоносного ΠΊΠΎΠ΄Π° Π² устройства критичСской инфраструктуры.

πŸ’‘

БохраняйтС ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΡƒ устройства ΠΏΠ΅Ρ€Π΅Π΄ Π»ΡŽΠ±Ρ‹ΠΌΠΈ экспСримСнтами с BSL, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ Π² случаС ошибки.

Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ стоит ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ° Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ уровня β€” это ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π²Ρ‹ΠΊ для любого塌ε…₯式-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. Π­Ρ‚ΠΎ Π·Π½Π°Π½ΠΈΠ΅ позволяСт ΡΠΏΠ°ΡΠ°Ρ‚ΡŒ Β«Π·Π°Π±Ρ€ΠΈΠΊΠΎΠ²Π°Π½Π½Ρ‹Π΅Β» устройства ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ускоряСт процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ тСстирования элСктроники.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли BSL Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚ устройство Π΄Π°ΠΆΠ΅ послС ΠΏΠΎΠ΄Π°Ρ‡ΠΈ сигнала?

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π½Π΅ установлСн Π»ΠΈ Π±ΠΈΡ‚ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ JTAG/BSL Π² самом Ρ‡ΠΈΠΏΠ΅. Если Π·Π°Ρ‰ΠΈΡ‚Π° установлСна, Π²Ρ…ΠΎΠ΄ Π² Ρ€Π΅ΠΆΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ стирания памяти ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ, Ссли ΠΎΠ½Π° поддСрТиваСтся ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ модСлью ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΊΠ²Π°Ρ€Ρ†Π΅Π²ΠΎΠ³ΠΎ Ρ€Π΅Π·ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°, Ссли BSL Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ внСшнСй Ρ‚Π°ΠΊΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ.

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ BSL для чтСния ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ с Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‡ΠΈΠΏΠ°?

НСт, Ссли установлСн Π±ΠΈΡ‚ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ (BSL protection), Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ памяти Ρ‡Π΅Ρ€Π΅Π· BSL Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π½ΡƒΠ»ΠΈ ΠΈΠ»ΠΈ случайныС Π΄Π°Π½Π½Ρ‹Π΅. Π­Ρ‚ΠΎ сдСлано для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ собствСнности Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Π‘Π½ΡΡ‚ΡŒ эту Π·Π°Ρ‰ΠΈΡ‚Ρƒ Π±Π΅Π· знания пароля Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

Какова максимальная ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ BSL Ρ‡Π΅Ρ€Π΅Π· UART?

Максимальная ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ зависит ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ сСмСйства ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ΠΈ вСрсии bootloader. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ½Π° Π²Π°Ρ€ΡŒΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ ΠΎΡ‚ 9600 Π±ΠΎΠ΄ Π΄ΠΎ 115200 Π±ΠΎΠ΄, Π° Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… соврСмСнных модСлях ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΡΡ‚ΠΈΠ³Π°Ρ‚ΡŒ 1 Мбод ΠΈ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈ использовании USB-интСрфСйса.

НуТСн Π»ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ для USB BSL?

Для Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ USB BSL (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² MSP430F5xx) часто трСбуСтся Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ устанавливаСтся вмСстС с ПО для ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ. Для UART BSL Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊ Π½ΡƒΠΆΠ½Ρ‹ стандартныС Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ для Ρ‡ΠΈΠΏΠ° ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€Π° (FTDI, CH340 ΠΈ Ρ‚.Π΄.).