Tôi có thể sử dụng lập trình ST-Link cho các chip không ST không?


12

Tôi có thể lập trình tất cả các loại chip lập trình SWD (ARM-MCU) với ST-Link không?


"ST-LINK / V2 là một trình gỡ lỗi và lập trình trong mạch cho các họ vi điều khiển STM8 và STM32." Tôi không nghĩ rằng bạn có thể ngay lập tức, nhưng nó có thể đạt được trên lý thuyết. Ai đó đã quản lý để kết nối nó với MCU LPC tại đây: lpcware.com/content/forum/ hè
Fluffy

1
Có lẽ trong một số trường hợp nếu bạn sử dụng một cái gì đó như openocd hơn là phần mềm ST. Nếu bạn gặp khó khăn, có các triển khai CMSIS-DAP mã nguồn mở, bạn có thể flash vào nó, phổ biến hơn bằng cách đặt phần mềm máy chủ trong kiểm soát chi tiết tốt hơn.
Chris Stratton

Đây không phải là những gì bạn yêu cầu, nhưng cũng có những trình gỡ lỗi bao gồm nhiều mục tiêu như trình gỡ lỗi vi mô PE.
mkeith

2
Tôi sử dụng liên kết ST để chương trình lpc1549, nó hoạt động.
dùng2425240

Câu trả lời:


6

Bạn cũng có thể flash liên kết st và chuyển đổi nó thành Black Magic Thăm dò . Hình ảnh tương tự cũng sẽ chuyển đổi Blue Pill thành BMP.

Tôi đã làm cả hai. Blue Pill có lợi thế là cầu nối USB-rs 232 mà BMP xuất khẩu có sẵn dễ dàng.

BMP hỗ trợ một loạt các chip bao gồm nhưng không giới hạn:
ST Microelectronics STM32F0, STM32F1, STM32F3, STM32F2, STM32F4, STM32F7, STM32L0, STM32L1, STM32L4
Atmel SAM3N, SAM3X, SAM3S, SAM3U, SAM4S, SAM4L, SAM D20, D21
Bắc Âu nRF51, nRF52 (Đây là lý do tại sao tôi sử dụng BMP)

BMP là mã nguồn mở, có thể được sử dụng cho lập trình thương mại và phần cứng có thể rẻ (BMP "thực" có giá khoảng 60 đô la, một gói thuốc màu xanh 5 viên từ amazon được bán dưới 20 đô la).


4

Để thêm vào câu trả lời hiện có; một số chip được biết là không hoạt động đúng với ST-LINK và OpenOCD.

Đặc biệt, nếu mục tiêu của bạn là từ nhóm MCU Atmel SAMD21, bạn có thể gặp phải các vấn đề kỳ lạ, nơi bộ xử lý được phát hiện, nhưng mọi nỗ lực xóa các vùng flash đều bị lỗi.

Lý do là khá liên quan , để trích dẫn:

AFAIK vấn đề là trong một nửa từ (16 bit) ghi vào thanh ghi NVMCTRL-> CTRLA. STLink không thực hiện truy cập bộ nhớ nửa từ và mô phỏng OpenOCD là hai hoạt động byte. Thật không may, thanh ghi CTRLA bao gồm từ khóa và lệnh phải được viết bằng nguyên tử. Nếu STLink ghi hai byte, bộ điều khiển NVM đặt bit PROGE trong TÌNH TRẠNG: "Một lệnh không hợp lệ và / hoặc một từ khóa xấu đã / được ghi trong thanh ghi lệnh NVM"

Cách giải quyết liên quan đến việc biên dịch lại OpenOCD với các bản vá mã. Không vui.

Tuy nhiên, nếu bạn không nhớ flash ST-Link của mình (thông qua ST-Link khác), bạn có thể chuyển đổi nó thành bộ điều hợp CMSIS-DAP , hoạt động tốt với SAMD và cũng hoạt động với STM32 và Cortex-M khác khoai tây chiên.


1

Có tôi tin rằng điều này là có thể, mặc dù tôi đã không thử nó. Bạn có thể vi phạm thỏa thuận Cấp phép ST, nếu bạn đã thử các thiết bị lập trình khác với các thiết bị từ ST

Như một ví dụ Segger (Một trong những công ty dẫn đầu thị trường về trình gỡ lỗi và lập trình viên) hỗ trợ chuyển đổi ST-Link của bạn thành J-link (về cơ bản ghi đè chip ST-Link bằng mã Segger). Điều này cũng có thể đảo ngược, vì vậy nếu bạn muốn khôi phục thiết bị liên kết ST của mình trở lại dạng ban đầu, bạn có thể.

Tuy nhiên, có một số phiên bản của ST-Link. Hãy xem các liên kết sau đây cung cấp thêm thông tin và hướng dẫn về cách thực hiện việc này.

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


1
Tôi đã sử dụng tiêu đề stlink trên nucleo và bảng khám phá trên hầu hết các thương hiệu vỏ não chính ... và những cái tôi không thể làm cho nó hoạt động được là các vấn đề về cấu hình openocd không phải là liên kết.
old_timer

1
Việc nhấp nháy ST-Link tới J-Link sẽ chỉ hoạt động (và hợp pháp) trên bảng Nucleo hoặc Discovery và chỉ được sử dụng với MCU được nhắm mục tiêu. Đọc các điều khoản giấy phép Seggar, chúng khá hạn chế. Theo như tôi biết, flasher Seggar thậm chí sẽ không hoạt động trên một ST-Link độc lập.
GB - AE7OO 17/03/19

1

Vâng nó có thể. Tôi đang sử dụng stlink v2 (bản gốc, cũng như bản sao loại USB Trung Quốc) với Coocox IDE. Coocox cũng có ứng dụng lập trình độc lập - CoFlash , có thể được sử dụng để lập trình rất nhiều chip. Tôi có kinh nghiệm chỉ với hai loạt: LPC176x và LPC175x, qua giao diện SWD. Và tôi không có vấn đề gì với những con chip đó. Tôi cũng chưa thực hiện bất kỳ thay đổi hoặc cập nhật cụ thể nào cho các lập trình viên (ngoại trừ liên kết st gốc yêu cầu mức điện áp cao ở TVCC (PIN1), nếu không, nó không cho phép lập trình chip, vì vậy tôi đã kết nối trực tiếp pin 19 (3.3vcc) để ghim 1 trên stlink v2).


0

Một STLink V2 / V2.1 hoặc V3 với phần sụn gần đây cũng có thể được sử dụng với nền tảng PC-stlinkv2 được lưu trữ trên PC. Biên dịch với "make PROBE_HOST = pc-stlinkv2", khởi động máy chủ gỡ lỗi bằng "blackmagic_stlinkv2" và kết nối với: 2000 trong gdb hoặc tải trực tiếp các tệp nhị phân bằng "blackmagic_stlinkv2". Điều này hoạt động với tất cả các mục tiêu mà BMP biết. Tuy nhiên, V3 chủ động từ chối làm việc trên các mục tiêu không phải ST, trong khi V2 không quan tâm.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.