อะแดปเตอร์ดีบัก HOLTEK e-Link32 Pro MCU

ข้อมูลจำเพาะ

  • แบบอย่าง: อินเทอร์เฟซ HT32 MCU SWD
  • เวอร์ชัน: AN0677EN V1.00
  • วันที่: 21 พฤษภาคม 2024
  • อินเทอร์เฟซ: SWD (ดีบักสายอนุกรม)
  • ความเข้ากันได้: e-Link32 Pro / Lite, MCU เป้าหมาย

ข้อมูลสินค้า
อินเทอร์เฟซ HT32 MCU SWD ได้รับการออกแบบมาสำหรับการเขียนโปรแกรม การเขียนโปรแกรมออฟไลน์ และการดีบัก MCU เป้าหมาย ใช้โปรโตคอลการสื่อสาร SWD เพื่อการส่งผ่านข้อมูลและการดีบักข้อมูลที่มีประสิทธิภาพ

คำอธิบายพิน SWD
อินเทอร์เฟซ SWD ประกอบด้วยพินหลักสองตัว:

  • SWDIO (อินพุต/เอาต์พุตข้อมูลสายอนุกรม): สายข้อมูลสองทิศทางสำหรับการส่งข้อมูลการแก้ไขข้อบกพร่องและการเขียนโปรแกรมโค้ด/ข้อมูล
  • SWCLK (Serial Wire Clock): สัญญาณนาฬิกาสำหรับการส่งข้อมูลแบบซิงโครนัส

คำอธิบายการเชื่อมต่อ/การออกแบบ PCB
อินเทอร์เฟซ SWD ต้องใช้ขั้วต่อ 10 พินพร้อมคำอธิบายพินต่อไปนี้:

หมายเลขพิน ชื่อ คำอธิบาย
1, 3, 5, 8 วีซีซี, GND การเชื่อมต่อแหล่งจ่ายไฟสำหรับอะแด็ปเตอร์ดีบักและเป้าหมาย
มหาเทพ
2, 4 สวีดิโอ, SWCLK ข้อมูลและสัญญาณนาฬิกาเพื่อการสื่อสาร
6, 10 ที่สงวนไว้ ไม่จำเป็นต้องเชื่อมต่อ
7, 9 VCOM_RXD, VCOM_TXD พอร์ต COM เสมือนสำหรับการสื่อสารแบบอนุกรม

หากออกแบบบอร์ดแบบกำหนดเอง ขอแนะนำให้รวมตัวเชื่อมต่อ SWD 5 พินพร้อมการเชื่อมต่อ VDD, GND, SWDIO, SWCLK และ nRST เพื่อความเข้ากันได้กับ e-Link32 Pro/Lite

ดีบักคำอธิบายการเปลี่ยนระดับอแด็ปเตอร์
เมื่อเชื่อมต่ออะแดปเตอร์ดีบักเข้ากับบอร์ดฮาร์ดแวร์ MCU ตรวจสอบให้แน่ใจว่าตรงตามเงื่อนไขที่กำหนดไว้ล่วงหน้าเพื่อหลีกเลี่ยงความขัดแย้งด้านฮาร์ดแวร์

คำแนะนำการใช้ผลิตภัณฑ์

  1. เชื่อมต่ออินเทอร์เฟซ SWD ของ e-Link32 Pro/Lite เข้ากับ MCU เป้าหมายโดยใช้ตัวเชื่อมต่อที่ให้มา
  2. ตรวจสอบให้แน่ใจว่ามีการเชื่อมต่อแหล่งจ่ายไฟที่เหมาะสมระหว่างอะแดปเตอร์ดีบักและ MCU เป้าหมาย
  3. ใช้เครื่องมือซอฟต์แวร์ที่เหมาะสม เช่น คู่มือผู้ใช้ e-Link32 Pro หรือคู่มือผู้ใช้ Starter Kit สำหรับการเขียนโปรแกรมและการดีบัก

การแนะนำ

MCU ซีรีส์ Holtek HT32 ใช้คอร์ Arm® Cortex®-M แกนหลักประกอบด้วยพอร์ต Serial Wire Debug (SWD) ในตัว ได้แก่ SW-DP/SWJ-DP ซึ่งช่วยให้การพัฒนา การเขียนโปรแกรม และการดีบักสะดวกยิ่งขึ้น อย่างไรก็ตาม ในระหว่างการออกแบบฮาร์ดแวร์เมื่อใช้ SWD ผู้ใช้อาจพบสถานการณ์ที่ผิดปกติซึ่งส่งผลต่อการพัฒนาโครงการ หมายเหตุแอปพลิเคชันนี้ให้คำแนะนำการแก้ไขปัญหาที่ครอบคลุมสำหรับปัญหาอินเทอร์เฟซ SWD แก่ผู้ใช้ และรวมถึงข้อผิดพลาดที่อาจเกิดขึ้นระหว่างการเชื่อมต่อ การสื่อสาร และเงื่อนไขอื่น ๆ คู่มือนี้จะช่วยให้ผู้ใช้ใช้อินเทอร์เฟซ SWD ได้ง่ายขึ้น ช่วยประหยัดเวลาในการพัฒนาเพื่อทำให้โครงการมีประสิทธิภาพมากขึ้น

Holtek ได้เปิดตัวเครื่องมือแก้ไขข้อบกพร่อง USB ชื่อ e-Link32 Pro/Lite ซึ่งได้รับการพัฒนาโดยใช้การออกแบบอ้างอิง Arm® CMSIS-DAP ด้วยการเชื่อมต่อบอร์ดเป้าหมายเข้ากับพอร์ต USB ของพีซี ผู้ใช้สามารถตั้งโปรแกรมและดีบักโปรแกรมบน MCU เป้าหมายผ่าน SWD ภายใต้สภาพแวดล้อมการพัฒนาหรือด้วยเครื่องมือการเขียนโปรแกรม รูปภาพต่อไปนี้แสดงความสัมพันธ์ในการเชื่อมต่อ ข้อความนี้จะใช้ e-Link32 Pro/Lite เป็นตัวอย่างampเพื่อแนะนำ SWD ข้อความแสดงข้อผิดพลาดทั่วไป และขั้นตอนการแก้ไขปัญหา คำแนะนำและข้อมูลการดีบักที่เกี่ยวข้องกับ SWD ยังใช้สำหรับอะแดปเตอร์ดีบัก USB ทั่วไป เช่น ULINK2 หรือ J-Link

คำอธิบายคำย่อ:

  • สว.ด.: การดีบักสายอนุกรม
  • SW-DP: พอร์ตดีบักสายอนุกรม
  • SWJ-DP: Serial Wire และ JTAG ดีบักพอร์ต
  • ซีเอ็มซิส: มาตรฐานอินเทอร์เฟซซอฟต์แวร์ไมโครคอนโทรลเลอร์ทั่วไป
  • ดีเอพี: พอร์ตการเข้าถึงดีบัก
  • ไอดีอี:สภาพแวดล้อมการพัฒนาแบบบูรณาการ

บทนำ SWD

SWD เป็นอินเทอร์เฟซฮาร์ดแวร์ที่ใช้กันอย่างแพร่หลายกับ MCU ซีรีส์ Arm® Cortex-M® สำหรับการเขียนโปรแกรมและการดีบัก ส่วนต่อไปนี้จะแสดงภาพของ Holtek e-Link32 Pro และ e-Link32 Lite e-Link32 Pro มีสถาปัตยกรรมแบบเดียวกับ e-Link32 Lite โดยประมาณ ข้อแตกต่างที่สำคัญคือ e-Link32 Pro รองรับการเขียนโปรแกรมออฟไลน์ ICP ต่อไปนี้เป็นคำอธิบายโดยย่อ:

  • e-Link32 Pro: นี่คืออะแดปเตอร์ดีบัก USB แบบสแตนด์อโลนของ Holtek ซึ่งรองรับการเขียนโปรแกรมในวงจร การเขียนโปรแกรมแบบออฟไลน์ และการดีบัก โปรดดูรายละเอียดในคู่มือผู้ใช้ e-Link32 Pro
  • e-Link32 Lite: นี่คืออะแดปเตอร์แก้ไขจุดบกพร่อง USB ภายใน Holtek Starter Kit ซึ่งสามารถตั้งโปรแกรมหรือแก้ไขข้อบกพร่องบน MCU เป้าหมายได้โดยตรงโดยไม่ต้องเชื่อมต่อเพิ่มเติม โปรดดูรายละเอียดในคู่มือผู้ใช้ชุดเริ่มต้น

คำอธิบายพิน SWD
มีพินการสื่อสาร SWD สองตัว:

  • SWDIO (อินพุต/เอาต์พุตข้อมูลสายอนุกรม): เส้นข้อมูลแบบสองทิศทางสำหรับการส่งข้อมูลการดีบักและการเขียนโปรแกรมโค้ด/ข้อมูลระหว่างอะแด็ปเตอร์การดีบักและ MCU เป้าหมาย
  • SWCLK (นาฬิกาสายอนุกรม): สัญญาณนาฬิกาจากอะแดปเตอร์ดีบักสำหรับการส่งข้อมูลแบบซิงโครนัส

กลุ่มปฏิบัติการทดสอบร่วมแบบดั้งเดิม (เจTAG) ต้องใช้พินเชื่อมต่อสี่พิน ในขณะที่ SWD ต้องการเพียงสองพินในการสื่อสาร ดังนั้น SWD จึงต้องใช้พินน้อยลงและใช้งานได้สะดวกกว่า

คำอธิบายการเชื่อมต่อ/การออกแบบ PCB
รูปภาพต่อไปนี้แสดงอินเทอร์เฟซ e-Link32 Pro/Lite

หากผู้ใช้จำเป็นต้องออกแบบบอร์ดของตนเอง แนะนำให้จองขั้วต่อ SWD ดังแสดงในรูปต่อไปนี้ อินเทอร์เฟซ SWD ต้องมี VDD, GND, SWDIO, SWCLK และ nRST ของ MCU เป้าหมาย ซึ่งสามารถเชื่อมต่อกับ e-Link32 Pro/Lite ผ่านตัวเชื่อมต่อนี้สำหรับการตั้งโปรแกรมหรือการดีบัก

ดีบักคำอธิบายการเปลี่ยนระดับอแด็ปเตอร์
เนื่องจาก MCU อาจมีปริมาตรการทำงานที่แตกต่างกันtagในการใช้งานจริง ตรรกะ I/O ฉบับที่tagระดับ e อาจแตกต่างกันด้วย e-Link32 Pro/Lite มีวงจร Level Shift เพื่อปรับให้เข้ากับระดับเสียงที่แตกต่างกันtagเช่น หากใช้ SWD Pin 1 VCC เป็นข้อมูลอ้างอิงtage ในวงจรด้านบน จากนั้นพิน SWD อินพุต/เอาท์พุตปริมาตรtage บน e-Link32 Pro/Lite สามารถปรับได้โดยอัตโนมัติตามปริมาณการทำงานของ MCU เป้าหมายtage จึงทำให้เข้ากันได้กับการออกแบบบอร์ดฮาร์ดแวร์ MCU ต่างๆ อะแดปเตอร์ดีบักส่วนใหญ่ เช่น ULINK2 หรือ J-Link มีการออกแบบที่คล้ายกัน
ตามที่เห็นได้จากคำอธิบายข้างต้น เมื่ออะแดปเตอร์ดีบักเชื่อมต่อกับบอร์ดฮาร์ดแวร์ MCU ภายใต้เงื่อนไขที่กำหนดไว้ ควรสังเกตว่าบอร์ดฮาร์ดแวร์ MCU จะให้พลังงานแก่พิน SWD VCC บนอะแดปเตอร์ดีบัก ดังที่แสดงใน รูปต่อไปนี้ ซึ่งหมายความว่าบอร์ดฮาร์ดแวร์ MCU จะต้องเชื่อมต่อกับแหล่งจ่ายไฟแยกต่างหาก และพิน SWD VCC บนอะแดปเตอร์ดีบักจะไม่มีเอาต์พุตพลังงานตามค่าเริ่มต้น

e-Link32 Pro/Lite Pin 1 VCC ยังสามารถตั้งค่าเป็นเอาต์พุต 3.3V เพื่อจ่ายไฟให้กับบอร์ดฮาร์ดแวร์ MCU เป้าหมายได้ อย่างไรก็ตาม สิ่งสำคัญคือต้องคำนึงถึงข้อจำกัดด้านกระแสไฟและแหล่งจ่ายไฟ โปรดดูรายละเอียดในคู่มือผู้ใช้ e-Link32 Pro

ตรวจสอบว่าอะแดปเตอร์ USB ดีบักเชื่อมต่ออย่างถูกต้องหรือไม่
เมื่อ e-Link32 Pro/Lite เชื่อมต่อกับพีซี ให้ตรวจสอบว่าเชื่อมต่ออย่างถูกต้องหรือไม่โดยใช้สองวิธีต่อไปนี้

  1. ตรวจสอบว่าไฟ LED D1 USB ของ e-Link32 Pro/Lite ยังคงสว่างอยู่หรือไม่
  2. กดปุ่ม "Win +R" เพื่อเรียก "Run" และป้อน "ควบคุมเครื่องพิมพ์" เพื่อเรียกใช้ เมื่อหน้าต่าง "เครื่องพิมพ์และสแกนเนอร์" ปรากฏขึ้น ให้คลิก "อุปกรณ์" และค้นหา "อุปกรณ์อื่นๆ" จากเมนูแบบเลื่อนลง จากนั้นตรวจสอบว่าอุปกรณ์ชื่อ “CMSIS-DAP” หรือ “Holtek CMSIS-DAP” ปรากฏขึ้นหรือไม่ ดังแสดงในรูปต่อไปนี้ ควรสังเกตว่าระบบคอมพิวเตอร์ที่แตกต่างกันอาจมีจอแสดงผลที่แตกต่างกันเล็กน้อย ผู้ใช้สามารถอ้างถึงขั้นตอนนี้เพื่อค้นหาและตรวจสอบว่าอุปกรณ์นี้ปรากฏขึ้นหรือไม่

HOLTEK-e-Link32-Pro-MCU-Debug-อะแดปเตอร์-รูปที่ 31

หากอะแดปเตอร์ดีบัก USB ไม่สามารถเชื่อมต่อกับพีซีได้ โปรดดูที่ “การแก้ไขปัญหาขั้นตอนที่ 2”

การตั้งค่าดีบัก Keil
ส่วนนี้จะใช้ e-Link32 Pro/Lite เป็นตัวอย่างampไฟล์เพื่อแสดงการตั้งค่าการดีบักภายใต้สภาพแวดล้อมการพัฒนา Keil ใช้ขั้นตอนต่อไปนี้เพื่อตรวจสอบทีละขั้นตอนว่าการตั้งค่าถูกต้องหรือไม่ ขั้นแรกให้คลิกที่ “โครงการ  ตัวเลือกสำหรับเป้าหมาย”

  1. คลิกที่แท็บ "ยูทิลิตี้"
  2. ทำเครื่องหมาย "ใช้ไดรเวอร์ Debug"HOLTEK-e-Link32-Pro-MCU-Debug-Adapter-fig- (6)
  3. คลิกที่แท็บ "แก้ไขข้อบกพร่อง"
  4. ใช้ “ดีบักเกอร์ CMSIS-DAP”
  5. ตรวจสอบ “โหลดแอปพลิเคชันเมื่อเริ่มต้น”
  6. คลิก "การตั้งค่า" ทางด้านขวาเพื่อเปิดกล่องโต้ตอบ "ตัวเลือกสำหรับเป้าหมาย"HOLTEK-e-Link32-Pro-MCU-Debug-Adapter-fig- (7)
  7. หากอะแดปเตอร์ดีบักเชื่อมต่อกับพีซีได้สำเร็จ ข้อความ "หมายเลขซีเรียล" จะปรากฏขึ้น ถ้าไม่เช่นนั้น โปรดดูที่” การแก้ไขปัญหาขั้นตอนที่ 2”
  8. ตรวจสอบ “SWJ” และเลือก “SW” เป็นพอร์ต
  9. หากอะแดปเตอร์ดีบักเชื่อมต่อกับ MCU สำเร็จ ตาราง SWDIO จะแสดง “IDCODE” และ “ชื่ออุปกรณ์” มิฉะนั้น โปรดดูที่ "การแก้ไขปัญหาขั้นตอนที่ 3" และตรวจสอบแต่ละรายการตามลำดับจากที่นั่นHOLTEK-e-Link32-Pro-MCU-Debug-Adapter-fig- (8)
  10. คลิกที่แท็บ "ดาวน์โหลดแฟลช"
  11. เลือก "Erase Full Chip" หรือ "Erase Sectors" เป็นฟังก์ชันดาวน์โหลด จากนั้นเลือก "Program" และ "Verify"
  12. ตรวจสอบว่า HT32 Flash Loader มีอยู่ในอัลกอริทึมการเขียนโปรแกรมหรือไม่ ต่อไปนี้จะแสดง HT32 Flash Loader
    • แฟลชซีรีส์ HT32
    • ตัวเลือกแฟลชซีรีส์ HT32

หากไม่มี HT32 Flash Loader ให้คลิก "เพิ่ม" เพื่อเพิ่มด้วยตนเอง หากไม่พบ HT32 Flash Loader ให้ติดตั้ง Holtek DFP คลิกที่ “โครงการ – จัดการ – ตัวติดตั้งแพ็ค…” เพื่อค้นหา Holtek DFP และติดตั้ง อ้างถึงผู้พัฒนา Arm webไซต์หรือดาวน์โหลดไลบรารีเฟิร์มแวร์ HT32 ค้นหา “Holtek.HT32_DFP.latest.pack” ในไดเร็กทอรีรากและติดตั้ง

HOLTEK-e-Link32-Pro-MCU-Debug-Adapter-fig- (9)

การตั้งค่าดีบัก IAR
ส่วนนี้จะใช้ e-Link32 Pro/Lite เป็นตัวอย่างampไฟล์เพื่อแสดงการตั้งค่าการดีบักภายใต้สภาพแวดล้อมการพัฒนา IAR ทำตามขั้นตอนต่อไปนี้เพื่อตรวจสอบทีละขั้นตอนว่าการตั้งค่าถูกต้องหรือไม่ ขั้นแรกให้คลิกที่ “โครงการ → ตัวเลือก”

  1. คลิก “ตัวเลือกทั่วไป → เป้าหมาย” และเลือก MCU เป้าหมายเป็นอุปกรณ์ หากไม่พบ MCU ที่เกี่ยวข้อง ให้ดาวน์โหลด “HT32_IAR_Package_Vx.xxexe” จากเจ้าหน้าที่ของ Holtek webไซต์เพื่อติดตั้งแพ็คเกจสนับสนุน IARHOLTEK-e-Link32-Pro-MCU-Debug-Adapter-fig- (10)
  2. เลือกแท็บ "ตั้งค่า" ใน "Debugger" และเลือก "CMSIS DAP" เป็นไดรเวอร์HOLTEK-e-Link32-Pro-MCU-Debug-Adapter-fig- (11)
  3. เลือกแท็บ "อินเทอร์เฟซ" ใน "CMSIS DAP" และเลือก "SWD" เป็นอินเทอร์เฟซ

HOLTEK-e-Link32-Pro-MCU-Debug-Adapter-fig- (12)

ตรวจสอบว่าเชื่อมต่อ SWD อย่างถูกต้องหรือไม่
เมื่อเอาคีลมาเป็นอดีตampจากนั้นคลิกที่ “Project → Options for Target” เพื่อเลือกแท็บ “Debug” และคลิก “Settings” ทางด้านขวา

HOLTEK-e-Link32-Pro-MCU-Debug-Adapter-fig- (13)

หาก IDCODE และชื่ออุปกรณ์แสดงในตาราง SWDIO ดังแสดงในรูปต่อไปนี้ แสดงว่า SWD เชื่อมต่ออย่างถูกต้อง มิฉะนั้น หากมีข้อผิดพลาดเกิดขึ้น โปรดดูคำแนะนำในส่วน “เชื่อมต่อภายใต้การรีเซ็ต” หรืออ้างอิงถึงขั้นตอนการแก้ไขปัญหาเพื่อตรวจสอบ

HOLTEK-e-Link32-Pro-MCU-Debug-Adapter-fig- (14)

เชื่อมต่อภายใต้การรีเซ็ต
Connect Under Reset เป็นคุณสมบัติของ MCU core และ SW-DP เพื่อหยุดระบบชั่วคราวก่อนที่โปรแกรมจะทำงาน หากพฤติกรรมของโปรแกรมทำให้ SWD ไม่สามารถเข้าถึงได้ ผู้ใช้สามารถแก้ไขปัญหาโดยใช้วิธีนี้ สาเหตุทั่วไปที่ทำให้ SWD ไม่สามารถเข้าถึงได้มีดังต่อไปนี้

  1. เมื่อเลือกฟังก์ชันแชร์พิน SWDIO/SWCLK ให้มีฟังก์ชันอื่น เช่น GPIO I/O จะไม่ใช้สำหรับการสื่อสาร SWD
  2. เมื่อ MCU เข้าสู่โหมด Deep-Sleep หรือ Power-Down แกน MCU จะหยุดทำงาน ดังนั้นจึงไม่สามารถสื่อสารกับแกน MCU ผ่าน SWD เพื่อการเขียนโปรแกรมหรือแก้ไขจุดบกพร่องได้

โปรดดูการเชื่อมต่อภายใต้การตั้งค่ารีเซ็ตด้านล่างเมื่อใช้ Keil “Project” → “Options for Target” → “Debug” → คลิก “Settings” → เลือก “under Reset” เป็นวิธีการเชื่อมต่อ ดังแสดงในรูปต่อไปนี้ โปรดดู “การแก้ไขปัญหาขั้นตอนที่ 9” สำหรับขั้นตอนการตั้งค่า Keil โดยละเอียด

HOLTEK-e-Link32-Pro-MCU-Debug-Adapter-fig- (15)

ข้อความแสดงข้อผิดพลาดทั่วไป

ตารางต่อไปนี้แสดงสรุปข้อความแสดงข้อผิดพลาดทั่วไประหว่าง Keil และ IAR

HOLTEK-e-Link32-Pro-MCU-Debug-Adapter-fig- (16)

เมื่ออะแดปเตอร์ดีบักไม่สามารถเชื่อมต่อกับพีซีได้ โปรดดูที่ “การแก้ไขปัญหาขั้นตอนที่ 2”

Keil – ข้อความ “SWD/JTAG การสื่อสารล้มเหลว”

HOLTEK-e-Link32-Pro-MCU-Debug-Adapter-fig- (17)

เมื่อการสื่อสาร SWD ล้มเหลว หมายความว่าอะแดปเตอร์ดีบักไม่สามารถเชื่อมต่อกับ MCU ตรวจสอบทีละรายการจาก "การแก้ไขปัญหาขั้นตอนที่ 3"

Keil – ข้อความ “ข้อผิดพลาด: ดาวน์โหลด Flash ล้มเหลว – “Cortex-Mx””

HOLTEK-e-Link32-Pro-MCU-Debug-Adapter-fig- (18)

  1. ขั้นแรกให้ตรวจสอบว่า "ขนาดโค้ด + ข้อมูล RO + ขนาดข้อมูล RW" ที่คอมไพล์แล้วนั้นเกินข้อกำหนดเฉพาะของ MCU เป้าหมายหรือไม่
  2. ตรวจสอบว่าการตั้งค่า Flash Loader ในอัลกอริทึมการเขียนโปรแกรม Keil ถูกต้องหรือไม่ โปรดดูส่วน "การตั้งค่า Keil Debug" สำหรับรายละเอียด
  3. ตรวจสอบว่ามีการเปิดใช้งานการลบหน้า/โปรแกรมหรือการป้องกันความปลอดภัยหรือไม่ โปรดดูรายละเอียดที่ “การแก้ไขปัญหาขั้นตอนที่ 10 และขั้นตอนที่ 11”

Keil – ข้อความ “ไม่สามารถโหลดอัลกอริทึมการเขียนโปรแกรมแฟลชได้!”

HOLTEK-e-Link32-Pro-MCU-Debug-Adapter-fig- (19)

ตรวจสอบว่าพิน VCC และ GND บนอะแดปเตอร์ดีบักเชื่อมต่อกับหมุดของ MCU เป้าหมายหรือไม่ โปรดดู “การแก้ไขปัญหาขั้นตอนที่ 4” และ “ขั้นตอนที่ 5”

Keil – ข้อความ “แฟลชหมดเวลา รีเซ็ตเป้าหมายแล้วลองอีกครั้ง”

HOLTEK-e-Link32-Pro-MCU-Debug-Adapter-fig- (20)

ตรวจสอบว่า "ขนาดโค้ด + ข้อมูล RO + ขนาดข้อมูล RW" ที่คอมไพล์แล้ว เกินข้อกำหนดเฉพาะของ MCU เป้าหมายหรือไม่

IAR – ข้อความ “ข้อผิดพลาดร้ายแรง: ไม่พบโพรบ”

HOLTEK-e-Link32-Pro-MCU-Debug-Adapter-fig- (21)

เมื่ออะแดปเตอร์ดีบักไม่ได้เชื่อมต่อกับพีซี โปรดดู “การแก้ไขปัญหาขั้นตอนที่ 2” และ “ขั้นตอนที่ 13”

IAR – ข้อความ “ข้อผิดพลาดร้ายแรง: ไม่สามารถเชื่อมต่อกับ CPU”

HOLTEK-e-Link32-Pro-MCU-Debug-Adapter-fig- (22)

เมื่อการสื่อสาร SWD ล้มเหลว หมายความว่าอะแดปเตอร์ดีบักไม่สามารถเชื่อมต่อกับ MCU ข้อมูลต่อไปนี้แสดงสาเหตุที่เป็นไปได้:

  1. โมเดล MCU เป้าหมายของอุปกรณ์ใน "ตัวเลือกทั่วไป" อาจไม่ถูกต้อง โปรดดูส่วน "การตั้งค่าการแก้ไขข้อบกพร่อง IAR" สำหรับรายละเอียดเกี่ยวกับวิธีการแก้ไข
  2. หาก MCU ไม่สามารถตอบสนองต่อโฮสต์ผ่าน SWD ได้ ให้ตรวจสอบทีละรายการจาก “การแก้ไขปัญหาขั้นตอนที่ 3”

IAR – ข้อความ “ไม่สามารถโหลดตัวโหลดแฟลช:….”

HOLTEK-e-Link32-Pro-MCU-Debug-Adapter-fig- (23)

ตรวจสอบว่าพิน VCC และ GND บนอะแดปเตอร์ดีบักเชื่อมต่อกับหมุดของ MCU เป้าหมายหรือไม่ โปรดดู “การแก้ไขปัญหาขั้นตอนที่ 4” และ “ขั้นตอนที่ 5”

การแก้ไขปัญหา

หากผู้ใช้พบปัญหาเมื่อใช้ SWD ให้ใช้ขั้นตอนต่อไปนี้เพื่อตรวจสอบตามลำดับ

  1. มีการเชื่อมต่ออะแด็ปเตอร์ดีบัก USB หลายตัวเข้ากับระบบหรือไม่
    หากมีการเชื่อมต่ออะแด็ปเตอร์ดีบัก USB หลายตัว เช่น e-Link32 Pro/Lite หรือ ULINK2 เข้ากับระบบพร้อมกัน ให้ถอดออกและคงไว้เพียงกลุ่มเดียว วิธีนี้จะป้องกันการตัดสินที่ผิดที่เกิดจากการเข้าถึงอะแดปเตอร์ดีบักหลายตัวพร้อมกัน ผู้ใช้ยังสามารถเลือกอะแดปเตอร์ดีบักที่มีการเชื่อมต่อเฉพาะภายใต้สภาพแวดล้อมการพัฒนา
  2. ตรวจสอบว่าพอร์ต USB ของอะแดปเตอร์ดีบักเชื่อมต่อสำเร็จหรือไม่
    หากไฟ LED D1 USB บน e-Link32 Pro/Lite ไม่ติดสว่างหรือไม่พบอุปกรณ์ที่เกี่ยวข้อง “CMSIS-DAP” ใน “เครื่องพิมพ์และสแกนเนอร์” ให้ลองแก้ไขข้อผิดพลาดโดยใช้วิธีการต่อไปนี้
    1. เสียบพอร์ต USB e-Link32 Pro/Lite อีกครั้ง
    2. ตรวจสอบว่าสาย USB ไม่เสียหายและสามารถสื่อสารกับพีซีได้หรือไม่
    3. ตรวจสอบว่าพอร์ต USB e-Link32 Pro/Lite ไม่หลวม
    4. ตรวจสอบว่าพอร์ต USB ของพีซีสามารถทำงานได้อย่างถูกต้องหรือเปลี่ยนพอร์ต USB ที่เชื่อมต่ออยู่
    5. รีสตาร์ทพีซีและเชื่อมต่อพอร์ต USB อีกครั้ง
  3. ตรวจสอบว่าพิน SWDIO/SWCLK/ nRST เชื่อมต่ออยู่หรือไม่
    ตรวจสอบว่าพิน MCU SWDIO, SWCLK และ nRST เชื่อมต่อกับอะแดปเตอร์ดีบักจริงหรือไม่ ตรวจสอบว่าสายเคเบิลไม่ขาดหรือการเชื่อมต่อถูกตัดออก หากใช้ชุดเริ่มต้น Holtek ESK32 ตรวจสอบให้แน่ใจว่า Switch-S1 บนบอร์ดได้เปลี่ยนเป็น "เปิด"
  4. ตรวจสอบว่าสาย SWDIO/SWCLK ยาวเกินไปหรือไม่?
    ตัดลวดให้สั้นลงเหลือน้อยกว่า 20 ซม.
  5. ตรวจสอบว่า SWDIO/SWCLK เชื่อมต่อกับส่วนประกอบการป้องกันหรือไม่
    ส่วนประกอบการป้องกันแบบอนุกรมอาจทำให้สัญญาณความเร็วสูง SWD ผิดเพี้ยนได้ ดังนั้น อัตราการส่งข้อมูล SWD จะต้องลดลง ปรับอัตราการส่งข้อมูลดังต่อไปนี้:
    • คีล: “Project →Options for Target” เลือกแท็บ “Debug” และคลิก “Settings” เพื่อปรับ Max Clock ดังแสดงในรูปต่อไปนี้HOLTEK-e-Link32-Pro-MCU-Debug-Adapter-fig- (24)
    • ไอเออาร์: คลิก “CMSIS DAP” ใน “Project →Options” และคลิกแท็บ “Interface” เพื่อปรับความเร็วของอินเทอร์เฟซ ดังแสดงในรูปต่อไปนี้HOLTEK-e-Link32-Pro-MCU-Debug-Adapter-fig- (25)
  6. ตรวจสอบว่าแหล่งจ่ายไฟปกติหรือไม่?
    ตรวจสอบเงื่อนไขของแหล่งจ่ายไฟต่อไปนี้:
    1. ตรวจสอบว่าพิน GND ทั้งหมดเชื่อมต่อเข้าด้วยกันเพื่อให้แน่ใจว่ามีปริมาณอ้างอิงเท่ากันหรือไม่tage
    2. ตรวจสอบว่าแหล่งจ่ายไฟของอะแดปเตอร์ดีบักเช่น e-Link32 Lite Pro เป็นปกติหรือไม่ (USB VBUS 5V)
    3. ตรวจสอบว่าบอร์ดเป้าหมายเชื่อมต่อกับแหล่งจ่ายไฟอย่างถูกต้องหรือไม่
    4. ตรวจสอบว่า SWD Pin 1 VCC บนอะแดปเตอร์ดีบักนั้นขับเคลื่อนโดยบอร์ดเป้าหมายหรือไม่ Pin 1 VCC บนอะแดปเตอร์ดีบักเชื่อมต่อกับพิน VDD บน MCU เป้าหมายและควรมีปริมาตรที่เหมาะสมtage.
  7. ตรวจสอบว่าการตั้งค่า Boot pin ถูกต้องหรือไม่?
    หากการดำเนินการตั้งโปรแกรมสำเร็จแต่โปรแกรมไม่ดำเนินการ ให้ตรวจสอบว่าพิน BOOT ถูกดึงจากภายนอกต่ำหรือไม่ หากใช่ ให้ลบสัญญาณภายนอกนี้ออก หลังจากเปิดเครื่องหรือรีเซ็ต พิน BOOT จะต้องคงอยู่ในระดับสูง หลังจากนั้นโปรแกรมในหน่วยความจำแฟลชหลักจึงสามารถทำงานได้ตามปกติ โปรดดูเอกสารข้อมูล MCU สำหรับรายละเอียดเกี่ยวกับตำแหน่งพิน BOOT หรือระดับที่ต้องการ
  8. ตรวจสอบว่า MCU กำหนดค่าพิน SWDIO/SWCLK เป็น GPIO หรือฟังก์ชันอื่นๆ หรือไม่
    หากเลือกฟังก์ชันแชร์พิน SWDIO/SWCLK ให้มีฟังก์ชันอื่น เช่น GPIO โดยเฟิร์มแวร์ MCU จากนั้นเมื่อโปรแกรมดำเนินการไปที่ “สวิตช์ AFIO SWDIO/SWCLK” MCU จะไม่ตอบสนองต่อการสื่อสาร SWD ใด ๆ อีกต่อไป . ซึ่งจะทำให้บอร์ดเป้าหมายแสดงสถานะที่ไม่สามารถตั้งโปรแกรมได้ ในกรณีเช่นนี้ สามารถกู้คืนได้โดยการตั้งค่าการเชื่อมต่อภายใต้การรีเซ็ต ดูวิธีที่ 1 หรือวิธีที่ 2 ในขั้นตอนที่ 9 สำหรับรายละเอียด
  9. ตรวจสอบว่า MCU เข้าสู่โหมดประหยัดพลังงานหรือไม่?
    หาก MCU เข้าสู่โหมด Deep-Sleep หรือโหมด Power-Down ด้วยเฟิร์มแวร์ จะไม่สามารถเข้าถึงรีจิสเตอร์ในแกน MCU Cortex-M ผ่านทาง SWD ได้ ซึ่งทำให้ฟังก์ชันการเขียนโปรแกรมหรือการดีบักไม่พร้อมใช้งาน อ้างถึงสองวิธีต่อไปนี้เพื่อคืนค่านี้ หลักการสำคัญในที่นี้คือการป้องกันไม่ให้เฟิร์มแวร์ในแฟลชหลักทำงาน จึงทำให้การสื่อสาร SWD ทำงานได้ตามปกติ
    1. วิธีที่ 1 - ตั้งค่าการเชื่อมต่อภายใต้การรีเซ็ต
      เอาคีลเป็นอดีตampสำหรับการตั้งค่า IDE คลิกที่ “Project →Options for Target” เพื่อเลือกแท็บ “Debug” จากนั้นคลิกที่ “Settings”HOLTEK-e-Link32-Pro-MCU-Debug-Adapter-fig- (26)เลือกเชื่อมต่อ “ภายใต้การรีเซ็ต” ดังแสดงในรูปต่อไปนี้ ตอนนี้ IDE ก็สามารถโปรแกรมโดยใช้ SWD ได้ตามปกติแล้ว ขอแนะนำให้ลบเฟิร์มแวร์ในแฟลชหลักก่อน (โปรดดู "ขั้นตอนที่ 11" สำหรับการดำเนินการลบ) เพื่อป้องกันไม่ให้สวิตช์ AFIO SWDIO/SWCLK หรือเข้าสู่โหมดประหยัดพลังงานด้วยเฟิร์มแวร์HOLTEK-e-Link32-Pro-MCU-Debug-Adapter-fig- (27)
    2. วิธีที่ 2
      ดึงพิน PA9 BOOT ลง รีเซ็ตหรือเปิดใหม่อีกครั้ง และดำเนินการ MCU Flash Erase หลังจากการลบเสร็จสิ้น ให้ปล่อยหมุด PA9 โปรดดูขั้นตอนที่ 11 สำหรับคำแนะนำเกี่ยวกับวิธีการลบข้อมูลผ่าน IDE
  10. ตรวจสอบว่า MCU ได้เปิดใช้งานการป้องกันการลบ/เขียนหน้าหน่วยความจำหรือไม่
    หาก MCU เปิดใช้งานการป้องกันการลบหน้าหน่วยความจำ หน้าหน่วยความจำที่ได้รับการป้องกันจะไม่สามารถลบหรือแก้ไขได้ ในระหว่างการลบเพจ SWD เมื่อมีข้อผิดพลาดเกิดขึ้นเนื่องจากเพจที่ได้รับการป้องกันไม่สามารถลบได้ จำเป็นต้องมีการดำเนินการลบจำนวนมากเพื่อแก้ไขปัญหานี้ ที่นี่หน่วยความจำ MCU จะถูกลบและลบออกจากการป้องกันหน่วยความจำอย่างสมบูรณ์โดยการลบข้อมูลจำนวนมาก โปรดดูรายละเอียดที่ “ขั้นตอนที่ 11”
  11. ตรวจสอบว่า MCU ได้เปิดใช้งานการป้องกันความปลอดภัยหรือไม่
    หาก MCU เปิดใช้งานการป้องกันความปลอดภัย เมื่อมีข้อผิดพลาดเกิดขึ้นระหว่างการลบเพจ SWD จะต้องดำเนินการลบจำนวนมากเพื่อลบไบต์ตัวเลือกเพื่อลบการป้องกันหน่วยความจำ หลังจากที่การลบข้อมูลจำนวนมากเสร็จสิ้น MCU จะต้องรีเซ็ตหรือเปิดเครื่องอีกครั้ง
    →คีล: “แฟลช → ลบ”HOLTEK-e-Link32-Pro-MCU-Debug-Adapter-fig- (28) ไอเออาร์: “โครงการ → ดาวน์โหลด → ลบหน่วยความจำ”
  12.  ตรวจสอบว่าจะรีเซ็ตระบบหลังจากการเขียนโปรแกรมเสร็จสิ้นหรือไม่.
    หลังจากที่โปรแกรมได้รับการอัปเดตผ่านอะแดปเตอร์ดีบักแล้ว การรีเซ็ต MCU จะต้องถูกทริกเกอร์ก่อนที่ระบบจะสามารถเริ่มโปรแกรมได้ การรีเซ็ต MCU สามารถทริกเกอร์ได้โดยใช้พิน nRST หรือโดยการเปิดเครื่องอีกครั้ง
  13. ตรวจสอบว่าเฟิร์มแวร์ e-Link32 Pro/Lite เป็นเวอร์ชันล่าสุดหรือไม่
    หากผู้ใช้ยังคงไม่สามารถตั้งโปรแกรมหรือแก้ไขข้อบกพร่องโดยใช้ SWD หลังจากทำตามขั้นตอนการแก้ไขปัญหาข้างต้นแล้ว ขอแนะนำให้อัปเดตเฟิร์มแวร์ e-Link32 Pro/Lite เป็นเวอร์ชันล่าสุด ดาวน์โหลด e-Link32 Pro ICP Tool ใหม่จากเจ้าหน้าที่ของ Holtek webเว็บไซต์และคลิกที่ "เชื่อมต่อ" หากเวอร์ชัน e-Link32 Pro Lite เก่ากว่า ข้อความอัปเดตจะปรากฏขึ้นโดยอัตโนมัติ จากนั้นคลิก "ตกลง" เพื่ออัปเดตเฟิร์มแวร์HOLTEK-e-Link32-Pro-MCU-Debug-Adapter-fig- (29)

เอกสารอ้างอิง
หากต้องการข้อมูลเพิ่มเติม โปรดติดต่อเจ้าหน้าที่ของ Holtek webเว็บไซต์: https://www.holtek.com.

ข้อมูลการแก้ไขและการปรับเปลี่ยน

HOLTEK-e-Link32-Pro-MCU-Debug-Adapter-fig- (30)

การปฏิเสธความรับผิดชอบ
ข้อมูล เครื่องหมายการค้า โลโก้ กราฟิก วิดีโอ คลิปเสียง ลิงก์และรายการอื่นๆ ทั้งหมดที่ปรากฏในนี้ webเว็บไซต์ ('ข้อมูล') มีไว้เพื่อการอ้างอิงเท่านั้น และอาจมีการเปลี่ยนแปลงได้ตลอดเวลาโดยไม่ต้องแจ้งให้ทราบล่วงหน้า และขึ้นอยู่กับดุลยพินิจของ Holtek Semiconductor Inc. และบริษัทที่เกี่ยวข้อง (ต่อไปนี้จะเรียกว่า 'Holtek', 'บริษัท', 'พวกเรา', ' เรา' หรือ 'ของเรา') ในขณะที่ Holtek พยายามรับรองความถูกต้องของข้อมูลเกี่ยวกับเรื่องนี้ webเว็บไซต์ Holtek ไม่มีการรับประกันโดยชัดแจ้งหรือโดยนัยสำหรับความถูกต้องของข้อมูล Holtek จะไม่รับผิดชอบต่อความไม่ถูกต้องหรือการรั่วไหลใดๆ

Holtek จะไม่รับผิดชอบต่อความเสียหายใด ๆ (รวมถึงแต่ไม่จำกัดเพียงไวรัสคอมพิวเตอร์ ปัญหาของระบบ หรือการสูญเสียข้อมูล) ใด ๆ ที่เกิดขึ้นจากการใช้หรือเกี่ยวข้องกับการใช้สิ่งนี้ webเว็บไซต์โดยฝ่ายใดฝ่ายหนึ่ง อาจมีลิงค์ในบริเวณนี้ซึ่งอนุญาตให้คุณเยี่ยมชม webเว็บไซต์ของบริษัทอื่น เหล่านี้ webเว็บไซต์ไม่ได้ถูกควบคุมโดย Holtek Holtek จะไม่รับผิดชอบและไม่รับประกันใดๆ ต่อข้อมูลที่แสดงบนเว็บไซต์ดังกล่าว ไฮเปอร์ลิงก์ไปยังผู้อื่น webเว็บไซต์เป็นความเสี่ยงของคุณเอง

  • การจำกัดความรับผิดชอบ
    ไม่ว่าในกรณีใด Holtek Limited จะไม่รับผิดต่อบุคคลอื่นใดสำหรับความสูญเสียหรือความเสียหายใด ๆ ที่เกิดขึ้นโดยตรงหรือโดยอ้อมที่เกี่ยวข้องกับการเข้าถึงหรือการใช้สิ่งนี้ของคุณ webเว็บไซต์ เนื้อหาบนนั้น หรือสินค้า วัสดุ หรือบริการใดๆ
  • กฎหมายที่ใช้บังคับ
    ข้อจำกัดความรับผิดชอบที่มีอยู่ใน webเว็บไซต์จะถูกควบคุมและตีความตามกฎหมายของสาธารณรัฐจีน ผู้ใช้จะส่งไปยังเขตอำนาจศาลที่ไม่ผูกขาดของศาลสาธารณรัฐจีน
  • การอัปเดตข้อจำกัดความรับผิดชอบ
    Holtek ขอสงวนสิทธิ์ในการอัปเดตข้อจำกัดความรับผิดชอบได้ตลอดเวลาโดยมีหรือไม่มีการแจ้งให้ทราบล่วงหน้า การเปลี่ยนแปลงทั้งหมดจะมีผลทันทีเมื่อโพสต์ไปที่ webเว็บไซต์.

คำถามที่พบบ่อย

ถาม: SWD คืออะไร และแตกต่างจาก JTAG?
A: SWD (Serial Wire Debug) เป็นอินเทอร์เฟซการดีบักแบบสองพินที่นำเสนอโซลูชันการดีบักที่มีประสิทธิภาพมากกว่าเมื่อเปรียบเทียบกับ JTAGซึ่งต้องใช้พินสี่พินในการสื่อสาร

ถาม: จะเชื่อมต่ออินเทอร์เฟซ SWD เข้ากับบอร์ดแบบกำหนดเองได้อย่างไร
A: ออกแบบบอร์ดที่มีตัวเชื่อมต่อ SWD 5 พินที่ประกอบด้วยพิน VDD, GND, SWDIO, SWCLK และ nRST เพื่อให้เข้ากันได้กับ e-Link32 Pro/Lite

เอกสาร / แหล่งข้อมูล

อะแดปเตอร์ดีบัก HOLTEK e-Link32 Pro MCU [พีดีเอฟ] คู่มือการใช้งาน
e-Link32 Pro, e-Link32 Lite, อะแดปเตอร์ดีบัก e-Link32 Pro MCU, e-Link32 Pro, อะแดปเตอร์ดีบัก MCU, อะแดปเตอร์ดีบัก, อะแดปเตอร์

อ้างอิง

ฝากความคิดเห็น

ที่อยู่อีเมลของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องกรอกข้อมูลมีเครื่องหมาย *