¿Puedo programar todo tipo de chips programables SWD (ARM-MCU) con ST-Link?
¿Puedo programar todo tipo de chips programables SWD (ARM-MCU) con ST-Link?
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 tenga problemas extraños, donde se detecta el procesador, pero cualquier intento de borrar sectores flash falla con un error.
El motivo está bastante involucrado , para citar:
AFAIK el problema está en la escritura de media palabra (16 bits) en NVMCTRL- > CTRLA registro. STLink no implementa el acceso a la memoria de media palabra y OpenOCD emula es como operaciones de dos bytes. Desafortunadamente CTRLA El registro comprende desde la tecla y el comando y debe escribirse atómicamente Si STLink escribe dos bytes, el controlador NVM establece el bit PROGE en ESTADO: "Se escribió / se escribió un comando no válido y / o una palabra clave incorrecta en el registro de Comando NVM "
La solución consiste en compilar 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 conviértalo a un adaptador CMSIS-DAP , que funciona bien con el SAMD y también debería funcionar con STM32 y otros Cortex-M chips.
Sí, creo que esto es posible, aunque no lo he probado. Es probable que no cumpla con el acuerdo de licencia de ST, si ha intentado programar dispositivos distintos a 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 sobrescribe el chip ST-Link con el código de 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 información adicional y una guía sobre cómo hacer esto.
También puede flashear el enlace st y convertirlo en una Black Magic Probe . La misma imagen también convertirá un Blue Pill en un BMP.
He hecho ambas 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, SAM4L, SAM D20, D21
Nordic nRF51, nRF52 (estas son las razones por las que uso el BMP)
El BMP es de código abierto, se puede usar para la programación comercial y el hardware puede ser barato (el BMP "real" cuesta alrededor de $ 60, un paquete de 5 pastillas azules de amazon tenía menos de $ 20 de envío).
Lea otras preguntas en las etiquetas microcontroller arm swd st-link