[J-Link] Hướng dẫn manual flash, automated flashing và debug firmware sử dụng J-Link commander


J-Link Commander là một tool trong bộ phần mềm J-Link khi chúng ta cài đặt driver của hãng Segger. Việc sử dụng phần mềm này để flash firmware sẽ rất hữu ích cho việc automation test sau này. Bài viết này mình xin chia sẻ các flash và debug cơ bản khi sử dụng công cụ này.

I. Chuẩn bị

    - Board: STM32F407 Discovery
    - J-Link: V9
    - Driver version: V7.68
    - Chuẩn debug: SWD

Cấu hình trên chỉ là theo thiết bị mình đang có. Các bạn hoàn toàn có thể sử dụng các mạch tương tự 

II. Kết nối phần cứng

    Bước 1: Tra cứu chân debug theo chuẩn SWD trong datasheet hoặc trong STM32CubeIDE




    Bước 2: Tra cứu SWD Connector Pinout của J-Link


    Bước 3: Kết nối Jlink với board


III. Flash firmware

    Bước 1: Kết nối board và J-Link tới PC và chạy J-Link commander

    Bước 2: Chạy lệnh connect sau đó chọn device hoặc nhấn enter thì chương trình sẽ tự động chọn chip trên board



    Bước 3: Chọn chuẩn SWD và speed

    Bước 4: Jlink đã kết nối vào được vào board

    Bước 5: gõ lệnh: loadfile [đường dẫn tới file .bin mà bạn muốn nạp]

        Ví dụ: loadfile C:\Users\quan\Desktop\blink_led\blink_led.bin

        - Kết quả thành công:

    Bước 6: Reset device
    Command: r

    Bước 7: Chạy chương trình
    Command: g

IV. Debug firmware

Chúng ta có thể debug cơ bản như sau:

    Bước 1: Tạm dừng CPU và có thể xem các thanh ghi của CPU

    Command: h

    Bước 2: chạy từng lệnh assembly instruction
    Command: s

    Bước 3: Tiếp tục chạy chương trình
    Command: g

    Bước 4: Bạn có thể memory dump
    Command: mem 0 100


    Bước 5: liệt kê toàn bộ command
    Command: ?

V. Automation flash firmware dùng script

Bạn có thể viết ra 1 script để flash firmware tự động

    Bước 1: Viết script và lưu với format .jlink

        device STM32F407VG
        speed 4000
        if SWD
        r
        loadfile blink_led.bin
        r
        g
        exit

    Bước 2: script và file firmware

    Bước 3: chạy script
        Command: Jlink flash.jlink



    Bước 4: Flash thành công và chạy chương trình

Bài chia sẻ đến đây là hết. Chúc các bạn học tập tốt!😎


Đăng nhận xét

0 Nhận xét