¿Puedo usar el programador ST-Link para chips que no sean ST?

8

¿Puedo programar todo tipo de chips programables SWD (ARM-MCU) con ST-Link?

    
pregunta Meylis Cherkezov

3 respuestas

3

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.

    
respondido por el minexew
2

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.

enlace
enlace

    
respondido por el Peter H
2

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).

    
respondido por el GB - AE7OO

Lea otras preguntas en las etiquetas