DEBUG STM32F103C8 ด้วย SWD แล้วมันแปลกๆ ครับ

Started by TaoTao, April 04, 2016, 05:26:54 PM

Previous topic - Next topic

TaoTao

พอดี ซื้อ ตัวนี้ มาตั้งนานแล้ว
เป็นของ จีน-ก๊อปปี้ ครับ
ข้างในกล่อง DBG
แกะออกมา มี Chip STM32F103C8 กับ Crystal_8M
และ RC ไม่กี่ตัว
.
ตอนผมใช้ตัวนี้ Debug : STM8F103 แบบ SWIM ด้วย IAR
ผมต่อ โดยใช้ เส้นเดียว คือ SWIM ไม่ได้ต่อ RESET
ใช้ดีมากครับ Debug ไม่มีปัญหาเลย จับแมลงได้ทุกตัว
.
แต่ตัวนี้ พอมาใช้กับ STM32F103C8 ที่มีอยู่
ต่อแบบ SWD.. 2 เส้น คือ SWDIO+SWCLK ( ผมไม่ได้ต่อ NRST ครับ )
ตอน Initial ใน main.. Debug ทีละบรรทัดได้ ไม่มีปัญหาอะไร
.
แต่พอเปิดให้ Clock ให้กับ Timer และ Config Timer
พอมันวิ่งเข้า Loop while(1) ปรากฎว่า...
.
Debug ไม่กี่บรรทัด
มันก็ค้างไปดื้อๆ เลย และมี popup เด้งขึ้นมาว่า

"Could not stop M-device.. Please check JTAG Cable"

ก็งงตรงที่ ผมต่อแบบ SWD นี่นา
ไม่ได้ต่อแบบ JTAG ซะหน่อย 
@_@!

ค่าก็ตั้งใน KEIL แล้ว
เพราะถ้าไม่ตั้ง มันก็ใช้งานไม่ได้
ใช้ Coocox โค้ดเดียวกัน ก็เป็นเช่นกัน
.
.
กรณีนี้ ผมสงสัยว่า...
1. เป็นเพราะ HW ของก๊อบเลยห่วย หรือเปล่า
แต่ก็.. ทำไมกับ STM8 / SWIM ด้วย IAR กลับใช้งานได้ดี
Debud ทุกบรรทัด ไม่มีหลุดเลย

2. หรือเป็นเพราะ ต่อแบบ SWD กับ STM32.. Speed มันไม่เร็วพอ.. หรือเปล่า..?
แล้ว ST-LINK V.2 ของ ST แท้ๆ
ถ้าต่อแบบ SWD / STM32 Debug แล้วค้างไหมครับ มีใครใช้อยู่บ้างครับ..?
.
เสียดาย กล่องนี้ตรงที่..  มันต่อแบบ JTAG ไม่ได้
ไม่งั้น ได้ทดลองต่อดู ว่ามันเป็นมั๊ย
.
เล็งๆ VERSION 8 ไม่ก็ 9 เอาไว้อยู่ครับ
(ของก๊อปนะครับ ของจริงยังไม่มีปัญญา 555+)
เห็นว่า Version 9 ใช้ Chip STM32F205
ค้น DataSheet ปรากฎ่า Speed วิ่งไปถึง 120M เลย
แต่ก็ยังไม่รู้ว่า ใช้งานจริงจะดีเหมือน Spec หรือเปล่า
.
เขียนมาซะยาว O_o!
การต่อ แบบ SWD กับ STM32 ด้วย DGB อื่นๆ
ตอน DEBUG มันค้างไหมครับ..??
.
อ้อ ค้นๆ อากู๋ เห็นมี บางยี่ห้อ / บาง_version
เค้าว่ามัน Trace ได้ด้วย Trace คืออะไรหรือครับ ผมเจอที่นี่ครับ :
.
https://www.segger.com/jlink-model-overview.html
.
มือใหม่ STM8 / STM32 ครับ
หลังจากนี้ กะว่าจะใช้ ST เป็นหลักเลย
ทั้ง 8 bits และ 32 bits
เพราะทั้ง Chip และ DBG มีให้เลือกมากมาย หาง่ายดี ราคาไม่แรง
.
ขอบคุณสำหรับคำตอบล่วงหน้าครับ
8)




dec

ผมใช้ st-link แบบนี้ (http://www.st.com/web/catalog/tools/FM146/CL1984/SC724/SS1677/PF251168?sc=internet/evalboard/product/251168.jsp)

แล้วก็ st-link ที่อยู่บนบอร์ด discovery ทั้งหลาย และ jlink-edu v8 ของ segger ด้่วย (ไม่มีปัญญาหา jlink base มาใช้) ถ้าต่อวงจรต่อสายปกติ (ต่อ nrst ด้วย) เคยลองใช้ทั้ง jtag และ swd ก็ใช้งานได้ปกติหมดนะครับ

เคยขึ้น Could not stop M-device. บ้าง เวลาสายที่ใช้เชื่อมต่อกับ mcu ไม่ดีหรือจ่ายไฟให้ mcu ไม่พอ หรือตอน debug อยู่เผลอไปช็อตวงจรมัน

TaoTao

Quote from: dec on April 06, 2016, 08:35:40 PM
ผมใช้ st-link แบบนี้ (http://www.st.com/web/catalog/tools/FM146/CL1984/SC724/SS1677/PF251168?sc=internet/evalboard/product/251168.jsp)

แล้วก็ st-link ที่อยู่บนบอร์ด discovery ทั้งหลาย และ jlink-edu v8 ของ segger ด้่วย (ไม่มีปัญญาหา jlink base มาใช้) ถ้าต่อวงจรต่อสายปกติ (ต่อ nrst ด้วย) เคยลองใช้ทั้ง jtag และ swd ก็ใช้งานได้ปกติหมดนะครับ

เคยขึ้น Could not stop M-device. บ้าง เวลาสายที่ใช้เชื่อมต่อกับ mcu ไม่ดีหรือจ่ายไฟให้ mcu ไม่พอ หรือตอน debug อยู่เผลอไปช็อตวงจรมัน


ตอนนี้ อาการที่ว่า หายยยย แว้ว ๆ ๆ ๆ ๆ

วันนี้ ลองอัพเดท Firmware แล้ว หายเลย  O_o!

สามารถ Debug หาแมลง
ได้ทุกๆ บรรทัดที่ต้องการ แว้ว ๆ ๆ

ขอบคุณ คุณ dec มากมายครับ

^_^!