[DIY] Mạch nạp JLink ARM-OB v7

Jlink ARM-OB STM32 ThanhNT DIY

Giới thiệu qua về mạch nạp Jlink

Nhắc tới mạch nạp Jlink thì chắc hầu hết anh em làm với vi điều khiển đều biết công dụng của nó là dùng để nạp chương trình cho vi điều khiển. Mạch nạp JLink được phát triển bởi hãng Segger, có rất nhiều phiên bản từ Lite, Education đến Professional. Jlink hỗ trợ rất nhiều các loại chip ARM, 8051, PIC…
Và có một mạch gọi là Jlink ARM-OB được Segger điều chỉnh gọn nhẹ sử dụng nạp chương trình cho các MCU lõi Cortex M3, M4.

Phiên bản Jlink ARM-OB Made By Me

Phiên bản Jlink ARM-OB trong bài này tôi xin nói qua một chút, đây là phiên bản thửa do các bạn hàng xóm phương Bắc của chúng ta clone để đáp ứng nhu cầu rẻ, ngon dùng chống vã khi chưa có xèng mua hàng xịn. :D Mạch Jlink này hỗ trợ cả JTAG và SWD, tuy nhiên mấy mạch bán trên mạng mà chúng ta hay mua được ở các cửa hàng bán linh kiện lại chỉ có mỗi kết nối SWD. Vì vậy mà tôi quyết định tự làm một cái, và điều chỉnh tí chút để phục vụ nhu cầu bản thân gồm JTAG lẫn SWD. Mạch này chỉ hỗ trợ giao tiếp với MCU 3.3V, không có các chip buffer cũng như bảo vệ nên khi sử dụng cần cẩn thận tránh mắc nhầm :). Tôi chưa thử làm mạch dịch mức logic để thử với các dòng MCU có mức điện áp khác nên không rõ có tương thích được không.

Mạch gốc các bạn có thể tự tìm với Google, mạch này của tôi hỗ trợ JTAG và SWD, dùng tốt đến phiên bản Jlink Utility 6.14b. Các phiên bản cao hơn đã block mạch này. Bạn nào không may update lên phiên bản cao hơn thì chỉ cần gỡ ra, cài lại phiên bản 6.14b là lại có thể sử dụng bình thường.

Bạn có thể tải bản Jlink Utility 6.14b dùng ngay tại đây.

Sơ đồ nguyên lý mạch thiết kế như hình dưới đây:

Mạch nguyên lý Jlink ARM-OB STM32

Firmware của mạch tải tại đây.

Làm mạch và nạp file hex vào mạch thành công, cài đặt Jlink driver có trong JlinkUtility đã tải về. Khi gắn mạch Jlink vào máy tính và mở Jlink lên phần mềm sẽ yêu cầu cập nhật phần mềm cho mạch, nhấn Yes và chờ đợi phần mềm nâng cấp xong là dùng được luôn. :)

Jlink Utility v6.14b chạy ngon

Jlink Configuration nhận mạch ngon

Mục hay ho – Cá nhân hóa mạch Jlink ARM-OB

FW tôi chia sẻ ở đây cũng như trên mạng đã fix cứng số serial là 20090928, khi bạn nạp vào thì số serial mạch nào cũng giống nhau là 20090928.

Gắn nhiều mạch vào là máy tính sẽ nhận lung tung không biết cái nào với cái nào. Còn chần chừ gì nữa mà không đổi serial cho dễ phân biệt nhỉ? :D

Bước 1. Mở file firmware tải về ở trên với phần mềm ST-Link Utility. Serial của mạch ở dạng số nguyên 32bit (int32), lưu trữ ở địa chỉ như trong hình sau:

Chỉnh sửa firmware với ST-Link Utility

Bước 2: Dùng công cụ Calculator của Windows check giá trị trong 4 byte đầu đoạn địa chỉ 0x0800FC00

Serial Calculator

Đúng số serial rồi, bây giờ bạn muốn đổi số serial thành bao nhiêu thì:

  • Convert số serial mới thành dạng Hex.
  • Thay vào 4 byte đầu tiên tại đoạn địa chỉ 0x0800FC00.
  • Lưu firmware có số serial mới thành file fw mới dạng hex.
  • Nạp fw mới vào mạch.
  • Cắm mạch đã nạp serial mới vào máy tính, cập nhật và tận hưởng thành quả thôi. :D

Chia sẻ một chút trong lúc vọc vạch

Ban đầu tham khảo trên mạng thấy rằng phần mềm Jlink Utility đã block số serial 20090928 do quá nhiều mạch clone, tôi đã thử đổi số serial các loại, bao gồm cả những số serial của những mạch nạp chính hãng. Tuy nhiên khi nâng cấp phần mềm Jlink lên phiên bản cao hơn 6.14b thì phần mềm vẫn block mạch như thường. Như vậy là phần mềm Jlink các phiên bản sau có cơ chế xác thực phần cứng nào đó khác chứ không chỉ dựa vào serial nữa. :D

Bạn nào lười lười không thích tự làm thì PM mình nhé, giá rẻ hơn cửa hàng và hỗ trợ cả JTAG. :D

Leave a Reply

Be the First to Comment!

Notify of
avatar
wpDiscuz