비 ST 칩에 ST-Link 프로그래머를 사용할 수 있습니까?


12

ST-Link로 모든 종류의 SWD 프로그램 가능 칩 (ARM-MCU)을 프로그래밍 할 수 있습니까?


"ST-LINK / V2는 STM8 및 STM32 마이크로 컨트롤러 제품군을위한 인서 킷 디버거 및 프로그래머입니다." 나는 당신이 즉시 할 수 있다고 생각하지 않지만 이론적으로는 달성 가능해야합니다. 누군가가 LPC MCU에 연결했습니다 : lpcware.com/content/forum/…
Fluffy

1
ST 소프트웨어가 아닌 openocd와 같은 것을 사용하는 경우가 있습니다. 문제가 발생하면 오픈 소스 CMSIS-DAP 구현을 구현할 수 있습니다. 호스트 소프트웨어를 세부 사항을보다 세밀하게 제어하여보다 보편적으로 구현할 수 있습니다.
Chris Stratton

이것은 당신이 요구 한 것이 아니지만 PE 마이크로 디버거와 같은 여러 대상을 다루는 디버거도 있습니다.
mkeith

2
ST 링크를 사용하여 lpc1549를 프로그래밍하면 작동합니다.
user2425240

답변:


6

st-link를 플래시하여 Black Magic Probe 로 변환 할 수도 있습니다 . 동일한 이미지는 Blue Pill 을 BMP로 변환합니다 .

둘 다 했어요 Blue Pill은 BMP 내보내기를 USB-rs232 브리지로 쉽게 사용할 수 있다는 이점이 있습니다.

BMP는
ST 마이크로 일렉트로닉스 STM32F0, STM32F1, STM32F3, STM32F2, STM32F4, STM32F7, STM32L0, STM32L1, STM32L4
Atmel SAM3N, SAM3X, SAM3S, SAM3U, SAM4D20, SAM4D, SAM4L, SAM4D, SAM4D, SAM4S21, SAM4D, SAM4D21
북유럽 nRF51, nRF52 (BMP를 사용하는 이유)

BMP는 오픈 소스이며, 상용 프로그래밍에 사용될 수 있으며 하드웨어는 저렴할 수 있습니다 ( "실제"BMP 비용은 약 $ 60, 아마존의 파란 알약 5 팩은 선적 된 $ 20 미만입니다).


4

기존 답변에 추가하려면 일부 칩이 알려져 있습니다 ST-LINK 및 OpenOCD에서 제대로 작동하지 않는 있습니다.

특히, 대상이 Atmel SAMD21 MCU 제품군에서 온 경우 프로세서가 감지되는 이상한 문제가 발생할 가능성이 있지만 플래시 섹터를 지우려는 시도는 오류와 함께 실패합니다.

그 이유는 오히려 관련이 있습니다 같이 인용하는 것입니다.

AFAIK 문제는 NVMCTRL-> CTRLA 레지스터에 반 워드 (16 비트) 쓰기입니다. STLink는 하프 워드 메모리 액세스를 구현하지 않으며 OpenOCD 에뮬레이션은 2 바이트 작업입니다. 불행히도 CTRLA 레지스터는 키와 명령으로 구성되며 원자로 작성되어야합니다. STLink가 2 바이트를 쓰면 NVM 컨트롤러는 STATUS에 PROGE 비트를 설정합니다. "잘못된 명령 및 / 또는 잘못된 키워드가 NVM 명령 레지스터에 기록되었습니다"

해결 방법은 코드 패치로 OpenOCD를 다시 컴파일하는 것입니다. 재미 없어.

그러나 ST-Link를 다른 ST-Link를 통해 깜박이는 것이 마음에 들지 않으면 이를 CMSIS-DAP 어댑터로 변환 하면 SAMD와 잘 작동하며 STM32 및 기타 Cortex-M에서도 작동합니다. 작은 조각.


1

예, 시도하지는 않았지만 가능하다고 생각합니다. ST 이외의 프로그래밍 장치를 사용하려는 경우 ST 라이센스 계약을 위반했을 수 있습니다.

예를 들어, Segger (디버거 및 프로그래머의 시장 리더 중 하나)는 ST-Link를 J-link로 변환 (필수적으로 Segger 코드로 ST-Link 칩을 덮어 쓰기)을 지원합니다. 이것은 또한 뒤집을 수 있으므로 ST 링크 장치를 원래 형태로 다시 복원하려는 경우 가능합니다.

그러나 여러 버전의 ST-Link가 있습니다. 추가 정보를 제공하는 다음 링크와이를 수행하는 방법에 대한 안내서를 살펴보십시오.

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


1
나는 대부분의 주요 cortex-m 브랜드에서 nucleo 및 디스커버리 보드에서 stlink 헤더를 사용하고 있습니다 ... 그리고 내가 할 수 없었던 것은 stlink가 아닌 openocd 구성 문제였습니다.
old_timer

1
ST-Link를 J-Link로 플래싱하는 것은 Nucleo 또는 Discovery 보드에서만 작동하며 적법한 MCU에서만 사용할 수 있습니다. Seggar 라이센스 조항을 읽으십시오. 상당히 제한적입니다. 내가 아는 한, Seggar 플래셔는 독립형 ST-Link에서도 작동하지 않습니다.
GB-AE7OO

1

예, 가능합니다. Coocox IDE와 함께 stlink v2 (원본 및 중국어 USB 스틱 유형 클론)를 사용하고 있습니다. Coocox 또한 독립형 프로그래머 응용 프로그램을 가지고 - CoFlash 칩의 많은 프로그래밍하는 데 사용할 수 있습니다. SWD 인터페이스를 통한 LPC176x 및 LPC175x의 두 가지 시리즈에 대한 경험이 있습니다. 그리고 나는 그 칩에 아무런 문제가 없습니다. 또한 프로그래머를 위해 특정 변경이나 업데이트를하지 않았습니다 (원래 st 링크가 TVCC (PIN1)에서 고전압 레벨을 필요로하는 것을 제외하고, 그렇지 않으면 칩을 프로그래밍 할 수 없었으므로 직접 핀 19 (3.3vcc)에 연결했습니다) stlink v2의 1 번 핀에 연결).


0

최신 펌웨어가 포함 된 STLink V2 / V2.1 또는 V3을 PC 호스팅 Blackmagic pc-stlinkv2 플랫폼과 함께 사용할 수도 있습니다. "make PROBE_HOST = pc-stlinkv2"로 컴파일하고 "blackmagic_stlinkv2"로 디버그 서버를 시작한 다음 gdb에서 : 2000에 연결하거나 "blackmagic_stlinkv2"로 바이너리를 직접로드하십시오. 이것은 BMP가 알고있는 모든 대상에서 작동합니다. 그러나 V3는 ST가 아닌 대상에 대한 작업을 적극적으로 거부하지만 V2는 신경 쓰지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.