¿Puedo programar todo tipo de chips programables por SWD (ARM-MCU) con ST-Link?
microcontroller
arm
swd
st-link
Meylis Cherkezov
fuente
fuente
Respuestas:
También puede actualizar el enlace st y convertirlo en una sonda de magia negra . La misma imagen también convertirá una píldora azul en una BMP.
He hecho las dos cosas. La píldora azul tiene la ventaja de que el puente usb-rs232 que exporta BMP está fácilmente disponible.
El BMP admite una gama de chips para incluir, entre otros:
ST Microelectronics STM32F0, STM32F1, STM32F3, STM32F2, STM32F4, STM32F7, STM32L0, STM32L1, STM32L4
Atmel SAM3N, SAM3X, SAM3S, SAM3U, SAM4S, SAM4S, D4, SAM4S, SAM4S
Nordic nRF51, nRF52 (Es por eso que uso el BMP)
El BMP es de código abierto, se puede usar para programación comercial y el hardware puede ser barato (el BMP "real" cuesta alrededor de $ 60, un paquete azul de 5 píldoras de Amazon se envió por menos de $ 20).
fuente
Para agregar a la respuesta existente; Se sabe que algunos chips no funcionan correctamente con ST-LINK y OpenOCD.
En particular, si su objetivo es de la familia de MCU Atmel SAMD21, es probable que encuentre problemas extraños, donde se detecta el procesador, pero cualquier intento de borrar sectores flash falla con un error.
La razón es bastante complicada , por citar:
La solución consiste en recompilar OpenOCD con parches de código. No es divertido.
Sin embargo, si no le importa actualizar su ST-Link (a través de otro ST-Link), puede convertirlo en un adaptador CMSIS-DAP , que funciona bien con el SAMD y también debería funcionar con STM32 y otros Cortex-M papas fritas.
fuente
Sí, creo que esto es posible, aunque no lo he probado. Probablemente violaría el acuerdo de licencia de ST si intentara programar dispositivos distintos de los de ST
Como ejemplo, Segger (uno de los líderes del mercado en depuradores y programadores) admite la conversión de su ST-Link a J-link (esencialmente sobrescribiendo el chip ST-Link con el código Segger). Esto también es reversible, por lo que si desea restaurar su dispositivo ST-link a su forma original, puede hacerlo.
Sin embargo, hay varias versiones de ST-Link. Eche un vistazo a los siguientes enlaces que proporcionan más información y una guía sobre cómo hacerlo.
https://www.segger.com/jlink-st-link.html
https://www.segger.com/jlink-ob.html
fuente
Si es posible. Estoy usando stlink v2 (original, así como clones de tipo de memoria USB) con Coocox IDE. Coocox también tiene una aplicación de programador independiente: CoFlash , que podría usarse para programar una gran cantidad de chips. Tengo experiencia con solo dos series: LPC176x y LPC175x, a través de la interfaz SWD. Y no tengo ningún problema con esas fichas. Tampoco he realizado cambios o actualizaciones específicas para los programadores (excepto que el enlace st original requería el nivel de alto voltaje en TVCC (PIN1), de lo contrario, no permitía programar el chip, así que conecté directamente el pin 19 (3.3vcc) al pin 1 en stlink v2).
fuente
También se puede utilizar un STLink V2 / V2.1 o V3 con firmware reciente con la plataforma PC-stlinkv2 de Blackmagic alojada en PC. Compile con "make PROBE_HOST = pc-stlinkv2", inicie el servidor de depuración con "blackmagic_stlinkv2" y conéctese a: 2000 en gdb o cargue directamente los archivos binarios con "blackmagic_stlinkv2". Esto funciona con todos los objetivos que BMP conoce. Sin embargo, V3 niega activamente trabajar en objetivos que no sean ST, mientras que a V2 no le importa.
fuente