Hướng Dẫn Nâng Cấp Phần Mềm ST-LINK Revision 3.10.3

ST-LINK là giao diện lập trình và gỡ lỗi chuẩn cho các vi điều khiển STM32 và STM8, hỗ trợ giao tiếp qua cổng UART/JTAG/SWD/SWIM. Việc cập nhật phần mềm lên phiên bản 3.10.3 giúp cải thiện khả năng tương thích với các bộ vi điều khiển mới, tăng tốc độ truyền dữ liệu và mở rộng tính năng gỡ lỗi. Dưới đây là hướng dẫn chi tiết quy trình nâng cấp phần mềm cho các dòng ST-LINK/V2, V2-1, và V3.

1. Lý Do Cần Cập Nhật Phần Mềm ST-LINK

Phần mềm ST-LINK đóng vai trò trung gian giữa phần cứng và phần mềm phát triển. Phiên bản cũ có thể không hỗ trợ đầy đủ các tính năng mới trên STM32H7, STM32U5 hay STM32WBA, gây ra lỗi kết nối hoặc không nhận thiết bị. Các bản cập nhật thường bao gồm:

  • Sửa lỗi giao tiếp với các bộ vi điều khiển mới
  • Tăng tốc độ nạp chương trình và gỡ lỗi
  • Cải thiện độ ổn định trong môi trường công nghiệp
  • Hỗ trợ thêm các chế phí gỡ lỗi như P-JTAG, MTB

2. Phân Loại và So Sánh Các Dòng ST-LINK

Đặc điểm ST-LINK/V2-1 ST-LINK/V3 ( hoặc V3-MIN )
Giao tiếp với host USB 2.0 Full-Speed USB 2.0 High-Speed / HS-Link
Hỗ trợ STM8 (SWIM)
Hỗ trợ STM32 (SWD/JTAG) Có, kèm hỗ trợ SWO trace
Dòng tiêu thụ ≤ 100 mA ≤ 80 mA (thân nhỏ hơn)
Tính năng mở rộng Không hỗ trợ lập trình UART Có thể lập trình qua UART

Bản vá phần mềm 3.10.3 đặc biệt cải thiện khả năng tương thích với hilink-mode trên STM32C0/U0 và hỗ trợ STM32WBA chip reset logic mới.

3. Quy Trình Cập Nhật Phần Mềm

3.1. Chuẩn bị trước nâng cấp

  1. Tải phần mềm cập nhật Truy cập STMicroelectronics Official>Tools>ST-LINK Upgrade Tool và tải STLinkUpgrade_win32.msi (hoặc version tương thích).

  2. Xác nhận phiên bản hiện tại Mở ST-LINK Utility → Target → Connect → chọn đúng port → hiển thị info:

SWIM FW version: V2.J39.M27
JTAG/SWD FW version: V3.J7.M1 (possibly outdated)
  1. Kiểm tra trạng thái phần cứng
  • Đảm bảo cáp ST-LINK không bị rách/v Hon
  • Kiểm tra đèn LED: một đèn xanh (ST-link) và một đèn đỏ (POWER) cần sáng ổn định

3.2. Cập nhật phần mềm ST-LINK

  1. Khởi động công cụ nâng cấp
#}/${WIN_DIRECTORY}\STMicroelectronics\STLink\STLinkUpgrade.exe
  1. Chọn thiết bị và tải firmware
  • Trong giao diện, chọn device: ST-LINK/V2-1 hoặc ST-LINK/V3
  • Nhấn Yes khi được hỏi có muốn nâng cấp kéo dài hay không (Ext mode)
  • Chọn firmware file STLINK-V3-3.10.3.bin
// Minh họa sử dụng CLI (chỉ áp dụng khi dùng tùy chọn shell command-line)
#ifndef CMD_ENABLE
int main() {
    LoadFirmwareFile("STLINK-V3-3.10.3.bin");
    if (IsDeviceReady()) {
        StartDFUUpgrade();
    }
}
#endif
  1. Thực thi nâng cấp
  • Nhấn Start Upgrade
  • Đợi khoảng 30–60 giây, màn hình báo "Upgrade successful!"
  • Không ngắt nguồn, không tháo ST-LINK trong quá trình này

3.3. Xác thực kết quả

  • Mở lại ST-LINK Utility, kiểm tra lại phiên bản:
FW version: V3.J39.M27 (duy nhất xuất hiện sau khi nâng cấp thành công)
  • Kiểm tra hoạt động thực tế:
  • Mở STM32CubeIDE → tạo project mới → nạp blink LED cho STM32F103C8T6
  • Nếu không lỗi → kết nối ổn định, nâng cấp thành công

4. Cài Đặt và Kiểm Tra Driver STLinkUSBDriver.dll

File DLL này đảm bảo hệ điều hành nhận diện đúng mô-đun USB của ST-LINK.

  • Cài đặt tự động qua phần mềm ST-Link Utility hoặc ST-Link Upgrade sẽ tự động cài driver
  • Kiểm tra trong Device Manager:
  • Universal Serial Bus devices: STMicroelectronics STLink Virtual Com Port
  • Other devices: STMicroelectronics STLink Generic PPP Device hoặc STM32 STLink
  • Nếu xuất hiện dấu chấm hỏi vàng → Sử dụng Update driver → chọn driver trong thư mục installation: \Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\Drivers\

5. Các Lưu Ý Quan Trọng Trước Khi Nâng Cấp

  • Sao lưu dữ liệu ứng dụng trên bộ điều khiển mục tiêu trước khi gỡ lỗi thêm
  • Kiểm tra nguồn cấp cho ST-LINK và board mục tiêu không vượt quá 5.25V
  • Đóng tất cả phần mềm đang dùng ST-LINK (STM32CubeIDE, Keil, IAR) trước khi nâng cấp
  • Kiểm tra thời gian hệ thống là đúng (sai giờ có thể làm hỏng cập nhật DFU)

6. Xử Lý Sự Cố Phổ Biến

Triệu chứng Nguyên nhân Giải pháp
Error 0x80000219 Giao tiếp USB bị gián đoạn Thay cổng USB, thay cáp, tắt USB hub
Upgrade failed at phase 2 File *.bin lỗi hoặc không tương thích Tải lại file từ trang chính thức
Device not detected Driver sai版本 Gỡ driver cũ → chạy lại Setup
ST-LINK không nhận(Set to DFU mode) うまく不出来 Nhấn reset + hold-boot rồi cắm USB

7. Mẹo Tối Ưu Quy Trình Nâng Cấp

  • Tự động hóa kiểm tra firmware qua script Python + STM32CubeProgrammer CLI:
STM32_Programmer_CLI -c port=USB1 -v
# Xuất phiên bản – nếu nó nhỏ hơn 3.10.3 thì tự động gọi file .bin
  • Sử dụng chế độ DFU để phục hồi khiST-INK mất phản hồi:
# Mở STFlashUtil → chọn "Enter DFU Mode"
# Dùng STM32CubeProgrammer CLI nạp lại firmware:
STM32_Programmer_CLI -c port=USB1 -d STLINK-V3-3.10.3.bin -s
  • Kiểm tra trạng thái DFU qua hệ thống Linux:
lsusb -d 0483:3748   # device DFU mode

Kết luận

Việc cập nhật phần mềm ST-LINK lên phiên bản 3.10.3 không chỉ giúp mão rộng khả năng hỗ trợ phần cứng mới mà còn tăng dịch vụ phát triển hệ thống nhúng. Đảm bảo thực hiện đúng các bước và chú ý đến môi trường thiết bị để tránh lỗi phần mềm không thể khôi phục.

Thẻ: STM32 ST-Link FW-Update DFU SWIM

Đăng vào ngày 16 tháng 05 lúc 13:24