Чи можу я використовувати програміст ST-Link для мікросхем без ST?


12

Чи можу я програмувати всі типи чіпів, програмованих SWD (ARM-MCU) за допомогою ST-Link?


"ST-LINK / V2 - це внутрішній налагоджувач та програміст для сімейств мікроконтролерів STM8 та STM32." Я не думаю, що можна одразу, але це має бути досяжно в теорії. Хтось спромігся підключити його до MCC
Fluffy

1
Можливо, у деяких випадках, якщо ви використовуєте щось на зразок openocd, а не програмне забезпечення ST. Якщо у вас виникнуть труднощі, є реалізовані CMSIS-DAP реалізації з відкритим кодом, ви можете наблизитись до нього, які більш універсальні, якщо розмістити хост-програмне забезпечення в більш тонкому контролі деталей.
Кріс Страттон

Це не те, про що ви просили, але є також налагоджувачі, які охоплюють декілька цілей, таких як мікровідладчики PE.
макет

2
Я використовую посилання ST на програму lpc1549, вона працює.
користувач2425240

Відповіді:


6

Ви також можете спалах st-link та перетворити його на зонд Black Magic . Це ж зображення також перетворить Синю таблетку в BMP.

Я зробив і те, і інше. Блакитна таблетка має перевагу в тому, що USB-rs232 міст БМП експорту легко доступний.

BMP підтримує цілий ряд мікросхем, включаючи, але не обмежуючись ними:
ST Microelectronics STM32F0, STM32F1, STM32F3, STM32F2, STM32F4, STM32F7, STM32L0, STM32L1, STM32L4
Atmel SAM3N, SAM3X, SAM3S, SAM3U, SAM21S, D21, SAM21S
Nordic nRF51, nRF52 (Ось чому я використовую BMP)

BMP є відкритим кодом, може використовуватися для комерційного програмування, а апаратне забезпечення може бути дешевим ("Справжній" BMP коштує близько 60 доларів, синя таблетка 5 упаковок від Amazon була менше 20 доларів).


4

Додати до існуючої відповіді; деякі фішки відомі не працюють належним чином зі ST-LINK та OpenOCD.

Зокрема, якщо ваша ціль із сімейства мікроконтролерів Atmel SAMD21, ви, швидше за все, зіткнетеся з дивними проблемами, де виявляється процесор, але будь-які спроби стерти флеш-сектори не вдається з помилкою.

Причина, скоріше, пов'язана з цитуванням:

Проблема AFAIK полягає в тому, що в півслові (16-розрядному) запишіть у реєстр NVMCTRL-> CTRLA. STLink не реалізує доступ до пам'яті з половинними словами, а OpenOCD емулює як дві байтові операції. На жаль, реєстр CTRLA складається з ключа та команди, які повинні бути записані атомно. Якщо STLink пише два байти, контролер NVM встановлює PROGE біт у STATUS: "Невірна команда та / або неправильне ключове слово було / були записані в реєстр команд NVM"

Вирішення проблеми включає перекомпіляцію OpenOCD за допомогою патчів коду. Не смішно.

Однак, якщо ви не заперечуєте про те, щоб миготіти ST-Link (через інший ST-Link), ви можете перетворити його в адаптер CMSIS-DAP , який добре працює з SAMD, а також повинен працювати з STM32 та іншими Cortex-M фішки.


1

Так, я вважаю, що це можливо, хоча я цього не пробував. Ймовірно, ви будете порушувати Ліцензійну угоду ST, якщо ви спробували програмні пристрої, відмінні від пристроїв ST

В якості прикладу Segger (Один з лідерів ринку налагоджувачів та програмістів) підтримує перетворення вашого ST-Link в J-link (по суті, перезапис чіпа ST-Link з кодом Segger). Це також оборотно, тому якщо ви хочете відновити свій ST-link пристрій у його первісний вигляд, ви можете.

Однак існує кілька версій ST-Link. Перегляньте наступні посилання, які надають додаткову інформацію та посібник, як це зробити.

https://www.segger.com/jlink-st-link.html
https://www.segger.com/jlink-ob.html


1
Я використовував заголовок stlink на ядрах і дошках виявлення на більшості основних брендів cortex-m ... і ті, над якими я не міг змусити його працювати, - це проблеми з налаштуванням openocd, а не Stlink.
old_timer

1
Перемикання ST-Link на J-Link працюватиме (і буде законним) лише на платі Nucleo або Discovery і лише для використання з цільовим MCU. Читайте ліцензійні умови Seggar, вони досить обмежуючі. Наскільки мені відомо, флешер Seggar навіть не буде працювати на окремому ST-Link.
GB - AE7OO

1

Так, можливо. Я використовую stlink v2 (оригінальний, а також китайські клони типу usb stick) з Coocox IDE. Coocox також має окремий додаток програміста - CoFlash , який можна використовувати для програмування безлічі фішок. Я маю досвід роботи лише з двома серіями: LPC176x та LPC175x, через інтерфейс SWD. І я не маю жодних проблем з цими фішками. Я також не вносив жодних специфічних змін або оновлень для програмістів (за винятком того, що оригінальна посилання st вимагала високого рівня напруги на TVCC (PIN1), інакше це не дозволило програмувати чіп, тому я підключив безпосередньо штифт 19 (3.3vcc) зафіксувати 1 на stlink v2).


0

STLink V2 / V2.1 або V3 з недавньою прошивкою також можна використовувати з платформою Blackmagic pc-stlinkv2, розміщеною на ПК. Компілюйте з "make PROBE_HOST = pc-stlinkv2", запустіть сервер налагодження з "blackmagic_stlinkv2" і підключіться до: 2000 в gdb або безпосередньо завантажте двійкові файли з "blackmagic_stlinkv2". Це працює з усіма цілями, які знає BMP. Однак V3 активно заперечує роботу над цілями, що не належать до ST, тоді як V2 не хвилює.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.