คำถามติดแท็ก debugging

กระบวนการระบุหาปริมาณและแก้ไขข้อผิดพลาดในการทำงานของระบบ

4
JTAG กับการดีบัก SWD
หลังจากอ่านบทความนี้ฉันสงสัยว่าประโยชน์ของการดีบัก SWD ในการดีบัก JTAG คืออะไร ฉันเข้าใจว่า SWD ใช้สายไฟ / พินน้อยกว่ากินพื้นที่น้อยลง แต่มันเล่นในแง่ของประสิทธิภาพคุณสมบัติและค่าใช้จ่ายของอุปกรณ์โปรแกรมเมอร์ / อุปกรณ์ดีบั๊กได้อย่างไร รหัสยังคงสามารถแตกหักแหลม / หยุดชั่วคราวและก้าวผ่านใน IDE ของเช่น Eclipse? ชิป ARM สามารถตั้งโปรแกรมโดยใช้อินเตอร์เฟส SWD อย่างที่ฉันเชื่อว่าสามารถทำได้ใน JTAG หรือไม่
41 jtag  debugging  swd 

6
การชนหลอดทีวีอิเล็กตรอนช่วยได้อย่างไร
ในภาพยนตร์เก่า (หรือภาพยนตร์ใหม่ที่เล่นในเวลาเหล่านี้) ฉันมักจะเห็นคนตบทีวีหรือหน้าจอหลอดอิเล็กตรอน อย่างใดดูเหมือนว่าจะช่วยรักษาเสถียรภาพ / คมชัดของภาพ แต่ทำไม มีเหตุผลใดบ้างที่วงจรอิเล็กทรอนิกส์อาจไม่ทำงานอย่างที่คาดหวังว่าจะทำงานตามที่คาดไว้จากการกระแทกเชิงกลที่คมชัด? อะไรคือเงื่อนไขที่ทำให้เกิดปัญหาดังกล่าวในอุปกรณ์อิเล็กทรอนิกส์? ดูเหมือนว่าAtari STได้รับความทุกข์ทรมานจากปัญหาที่คล้ายกันซึ่งสามารถแก้ไขได้โดยการทำสิ่งที่เป็นที่รู้จักในชื่อ "Atari drop" (ตามที่กล่าวไว้ในส่วนนี้ในวิกิพีเดีย ) แม้ว่านี่จะอธิบายว่าเป็นเพราะการเชื่อมต่อหลวม ๆ โหมดความล้มเหลวอื่น ๆ ที่สามารถแก้ไขได้ในลักษณะเดียวกันและเพราะเหตุใด

3
กรณีลึกลับของกระแสรั่วไหลแบบสุ่ม
ข้อจำกัดความรับผิดชอบ:ฉันรู้วิธีแก้ปัญหาเรื่องวงจรดีบั๊กแล้ว (และมันก็ไม่สำคัญ) และฉันจะโพสต์หลังจากนั้นสักครู่เพื่อให้คนอื่นสามารถให้ความช่วยเหลือเรื่องลึกลับนี้ได้! ฉันคิดว่ามันอาจมีคุณค่าทางการศึกษาสำหรับนักออกแบบวงจร! เมื่อหลายปีก่อน (~ 8, IIRC) ฉันสะดุดกับข้อเสนอพิเศษที่น่าสนใจในร้านค้าทั่วไป: บางที่ดีมาก (ดังนั้นฉันคิดว่า) เครื่องใช้ไฟ LED Osram DOT-IT ราคาครึ่งหนึ่ง อย่างที่คุณเห็นมันเป็นเครื่องใช้ไฟฟ้าขนาดเล็กขับเคลื่อนด้วยแบตเตอรี่ AAA สามก้อนห่อหุ้มไฟ LED สีขาวสว่างมากสามดวง ทุกอย่างถูกเปิดใช้งานผ่านสวิตช์อ่อนที่ทำงานโดยการกดโดมโปร่งใส เมื่อกดครั้งที่หนึ่งไฟ LED สามดวงจะเปิดขึ้นและเมื่อกดครั้งต่อไปไฟ LED ดวงใดดวงหนึ่งจะดับ ดังนั้นคุณสามารถเลือกปริมาณแสงที่เครื่องจะผลิตได้ ตัวเรือนด้านนอกนอกจากโดมพลาสติกใสเป็นอลูมิเนียมที่มีความแข็งแกร่งมากโดยที่ฝาหลังเป็นพลาสติกที่มีแม่เหล็กแรงสูงซึ่งอนุญาตให้ติดสิ่งของเข้ากับตู้เย็นร้านขายตัวถังรถหรือพื้นผิวโลหะที่เหมาะสมที่คุณต้องการ เนื่องจากในช่วงเวลาที่ไฟ LED มีราคาแพงมากที่นี่ในอิตาลีและอุปกรณ์ขนาดเล็กเช่นนั้นมีราคาแพงมากหรือเส็งเคร็งอย่างสิ้นเชิงฉันคิดว่าเป็นความคิดที่ดีที่จะซื้อโหลของพวกเขา (ฉันพยายามเพียงหนึ่งหน่วยและฉัน ตรวจสอบแล้วว่าได้แสงที่แข็งแกร่งมากและมีคุณภาพสูงมาก) ฉันตั้งใจจะใช้มันเป็นไฟฉุกเฉินในทุก ๆ ห้องในบ้านและในรถของฉัน ทุกอย่างเรียบร้อยดีจนกระทั่งเกิดไฟดับเล็กน้อยหลังจากนั้นประมาณ 6 เดือน สำหรับความผิดหวังที่ยิ่งใหญ่ของฉันมีประมาณ 10 ใน 12 ของสิ่งที่ทำให้แบตเตอรี่หมด! แน่นอนความคิดแรกของฉันคือ "สวิตช์นุ่มรั่วไหลเร็ว" และฉันก็วิ่งหาไมโครแอมป์มิเตอร์ของฉัน! อย่างมีประสิทธิภาพฉันพบสองสามหน่วยที่มีกระแสรั่วไหลสูงเกินไป (~ …

5
สิ่งใดที่ทำให้ไมโครคอนโทรลเลอร์รีเซ็ตโดยไม่คาดคิด
ข้อผิดพลาดที่หลากหลายที่น่ารำคาญเป็นพิเศษในระบบที่ควบคุมด้วยไมโครโปรเซสเซอร์คือให้ไมโครโปรเซสเซอร์ทำการรีเซ็ตโดยไม่คาดคิด เครื่องมือสำคัญสำหรับการดีบักปัญหาประเภทนี้คือรายการสาเหตุที่เป็นไปได้ สิ่งใดที่ทำให้ไมโครคอนโทรลเลอร์รีเซ็ตโดยไม่คาดคิด

2
ถุงป้องกันไฟฟ้าสถิตย์ - ปลอดภัยต่อการรองรับแผงวงจรขับเคลื่อนหรือไม่?
โดยทั่วไปแล้วจะปลอดภัยหรือไม่ที่จะวางแผงวงจรแรงดันไฟฟ้าต่ำลงบนถุงป้องกันไฟฟ้าสถิตย์เมื่อทำการดีบั๊ก? การอ่านมิเตอร์อย่างง่ายแสดงให้เห็นว่ามันเป็นฉนวนที่ดี แต่มันจะต้องดำเนินการในระดับหนึ่ง? เหมือนกันบนแผ่นป้องกันไฟฟ้าสถิตย์บนโต๊ะทำงาน

8
คุณจะโจมตีบอร์ดใหม่ได้อย่างไร
คุณได้รับ PCB กลับมาจากผู้ผลิต มันเป็นการออกแบบใหม่คุณมีส่วนสำคัญในการทำขนมปัง แต่คุณรู้ว่ามันจะมีปัญหา มีหลายสิ่งมากเกินไปที่อาจทำให้เกิดปัญหาเช่น: ข้อผิดพลาดในแผนผัง ข้อผิดพลาดในเค้าโครงไม่พบโดย ERC / DRC วางชิ้นส่วนผิดระหว่างการบัดกรี กางเกงขาสั้นและชอบในระหว่างการบัดกรี การรวมกันดังกล่าวข้างต้น เมื่อไม่นานมานี้ฉันมีบอร์ดที่ค่อนข้างซับซ้อนสองบอร์ดซึ่งฉันจำเป็นต้องยกเลิกบอร์ดทั้งชุดหลังจากประกอบเพื่อหาข้อผิดพลาด ฉันพบข้อผิดพลาด แต่กระดานเป็นเรื่องที่สนใจ ฉันพยายามที่จะเริ่มต้นด้วยชิ้นส่วนขั้นต่ำที่เปลือยเปล่าและชิ้นส่วนที่ไม่สามารถบัดกรีด้วยมือได้ (ฉันใช้เพสต์ลายฉลุและเครื่องปิ้งขนมปัง) โดยทั่วไปจะเป็น MCU, ตัวเชื่อมต่อ JTAG และตัวเก็บประจุสองสามตัว จากนั้นฉันค่อย ๆ เติมพื้นที่อื่น ๆ ขณะตรวจสอบปัญหา วิธีนี้ใช้งานได้ แต่ช้ามาก ฉันยังต้องแสดงความคิดเห็น / แสดงความคิดเห็นในรหัสใด ๆ ที่ถือว่ามีฮาร์ดแวร์บางตัว ไม่มีใครมีเคล็ดลับ / คำแนะนำเกี่ยวกับวิธีการเข้าถึง PCBs ที่ออกแบบใหม่หรือไม่ แก้ไข: ฉันส่วนใหญ่คิดเกี่ยวกับชนิดของปัญหาที่ทำให้บอร์ดของคุณตายเช่นกางเกงขาสั้นรางพลังที่ซ่อนอยู่หรืออะไรก็ตามที่ทำให้ MCU

3
Jtag ดีบัก AVR
ทุกคนสามารถให้คำแนะนำว่าฮาร์ดแวร์และซอฟต์แวร์ใดที่จำเป็นสำหรับการดีบัก AVR ในวงจร

2
ค้นหาปัญหาของเครื่องขยายเสียงเก่า Marantz ได้อย่างไร
หลังจากที่คำถามแรกหมายถึงสัญลักษณ์ต้านทานผมกลับมาพร้อมกับ MARANTZ PM-68 ระดับ AB เครื่องขยายเสียงเก่านี้และผมจะอ้างถึงส่วนประกอบของพวกเขาโดยใช้รหัสที่สามารถพบได้ในคู่มือการให้บริการ เมื่อเพื่อนให้แอมป์นี้แก่ฉันมันทำงานได้บางส่วน เสียงไม่เลว แต่เสียงที่ดังมากแบบสุ่มออกมาจากลำโพงทุกสองสามนาที ในที่สุดมันก็หยุดทำงานและฉันต้องการซ่อม ฉันเปลี่ยนตัวเก็บประจุของกระดานหลักทั้งหมดเพราะบางอันเก่ารั่ว ตัวต้านทานฟิวส์บางตัว (3295-3298) ก็เป่าออกมา (อาจเป็นเพราะแหลมเมื่อเกิดเสียงระเบิด) ดังนั้นฉันก็เปลี่ยนมันด้วย ช่องทางด้านซ้ายทำงานได้ดีมากฉันตรวจสอบโดยการฉีดคลื่นไซน์บนอินพุตและเอาต์พุตไซน์ดูสวยงาม! สายไฟ (+ 56V และ -56V) เสถียรสำหรับทั้งสองช่อง ปัญหาคือช่องทางที่ถูกต้อง หลังจากทำการดีบั๊กด้วยขอบเขตและมัลติมิเตอร์ของฉันฉันก็ไร้เดียงสา มีการตัดอย่างรุนแรงที่ครึ่งล่างของคลื่นไซน์ ก้นของไซน์ไม่มีอยู่จริง! ฉันตรวจสอบตัวต้านทานไดโอดทหารทั้งหมด (ฉันพบทหารสองสามคนที่แห้งและแตกดังนั้นฉันจึงแก้ไข) หนึ่งในทรานซิสเตอร์ที่ใช้สำหรับส่วนล่างของไซน์ไม่รู้สึกร้อนเหมือนอย่างอื่นเมื่อฉันสัมผัสหลังจากผ่านไปสองสามนาทีและมันก็อบอุ่น (7266) เมื่อฉันจัดการและใช้ช่องสัญญาณด้านซ้ายปัญหาเดียวกันเกิดขึ้นดังนั้นจึงไม่ใช่ทรานซิสเตอร์ เมื่อฉันตรวจสอบสัญญาณโดยวางโพรบสองขอบเขตของฉันไว้ที่ด้านข้างของตัวเก็บประจุ 2268 แต่ละฉันได้รับคลื่นไซน์ที่ดีมากเมื่อลำโพงถูกตัดการเชื่อมต่อ แต่ทันทีที่ฉันเสียบลำโพงครึ่งล่างของไซน์จะถูกตัด คุณจะตรวจสอบอะไรในสถานการณ์นั้น คุณนึกถึงบางสิ่งที่ฉันคิดถึงได้หรือไม่? นี่คือความแตกต่างระหว่างช่องทางซ้าย (สีเหลือง) และด้านขวา (สีฟ้า) ที่ระดับเสียง ~ 33%: นี่คือความแตกต่างระหว่างช่องทางซ้าย (สีเหลือง) และด้านขวา (สีฟ้า) ที่ระดับเสียง …

8
เหตุใด printf () ไม่ดีสำหรับการดีบักระบบฝังตัว
printf()ผมคิดว่ามันเป็นสิ่งที่ดีที่จะพยายามที่จะแก้ปัญหาโครงการไมโครคอนโทรลเลอร์โดยใช้ ฉันสามารถเข้าใจได้ว่าคุณไม่มีสถานที่ที่กำหนดไว้ล่วงหน้าและสามารถใช้หมุดที่มีค่าได้ ในเวลาเดียวกันฉันเห็นคนใช้พิน UART TX สำหรับส่งออกไปยังเทอร์มินัล IDE ด้วยDEBUG_PRINT()มาโครแบบกำหนดเอง
16 c  debugging 

1
ฉันจะพิมพ์ข้อความดีบั๊กไปยังคอนโซล gdb ด้วยบอร์ดค้นพบ STM32 โดยใช้ GDB, OpenOCD และ arm-none-eabi-gcc ได้อย่างไร
ฉันกำลังเขียนโปรแกรมค้นพบบอร์ด STM32 Cortex M0 (32F0308DISCOVERY) โดยใช้ OpenOCD, arm-none-eabi-gcc และ gdb ฉันสงสัยว่ามีวิธีที่ตรงไปตรงมาในการบันทึกข้อความดีบั๊กผ่าน SWD ฉันได้อ่านเกี่ยวกับตัวเลือกการกำหนดเซมาสเตอรีแล้ว แต่ดูเหมือนว่าจะต้องมีการดึงใน newlib หรือไลบรารีขนาดใหญ่อื่น ๆ (มีแฟลชเพียง 64k เท่านั้น) มีวิธีที่มีน้ำหนักเบากว่าในการบันทึกข้อความผ่าน SWD หรือใช้ UART เป็นตัวเลือกที่ใช้งานได้จริงหรือไม่?

1
อะไรคือความแตกต่างระหว่างการทำงานในวงจรดีบักเกอร์และโปรแกรมจำลองวงจร?
In-circuit emulators (ตัวย่อ ICE) มีคุณสมบัติที่ดีเลิศในการดีบั๊กและยังมีแท็กราคาสูง ตัวแก้จุดบกพร่องในวงจร (ICD ย่อ) สามารถทำสิ่งต่าง ๆ ที่ ICE สามารถทำได้ แต่มักจะมีค่าใช้จ่ายน้อยกว่ามาก ฉันรู้วิธีนั้นในวันนั้น ICE จะลบชิปปัญหาออกจากซ็อกเก็ตและแทนที่ด้วยสายอีมูเลเตอร์ แต่ด้วยแพ็คเกจ QFN, BGA และแพ็คเกจ TQFP ที่ทันสมัยดูเหมือนว่าผลิตภัณฑ์ส่วนใหญ่เรียกตัวเองว่า "ICE" debuggers เชื่อมต่อกับส่วนหัวการดีบักในลักษณะเดียวกับที่ ICD จะเป็น นี่คือตัวอย่างของผลิตภัณฑ์ที่ใช้ "ICE" ในชื่อ: Atmel AVR JTAGICE Realch Microchip MPLAB นอกจากนี้ยังมีผลิตภัณฑ์ 'ICE' ของ JTAG จากผู้จำหน่ายหลายแห่งโปรดทราบว่าฉันไม่ได้ลดราคาเหล่านี้เพราะพวกเขาไม่ได้อยู่ในวงจรทางกายภาพ งานการพัฒนาประเภทใดที่ฉันต้องการ ICE และฉันควรจะพอใจกับ ICD เมื่อใด สมมติว่าฉันต้องการผ่านรหัสของฉันและไม่ใช้ LED และคำสั่ง …

8
ฉันจะดีบักสเก็ตช์ Arduino ได้อย่างไร
ฉันเริ่มเขียนโค้ดสำหรับ Arduino เมื่อเร็ว ๆ นี้ และข้อบกพร่องเหล่านี้ในรหัสกำลังฆ่าฉัน เนื่องจากไม่มีตัวดีบักฮาร์ดแวร์ใน Arduino serial.print () จึงเป็นทางเลือกเดียวของฉัน อะไรคือวิธีการ / แนวทางที่คุณใช้ในการดีบักรหัส Arduino?

2
อะไรคือข้อแตกต่างระหว่างดีบักเกอร์ JTAG เชิงพาณิชย์และโอเพ่นซอร์ส FT2232H ดีบัก OpenOCD?
ฉันเคยเห็นตัวแก้ไขข้อบกพร่อง JTAG เชิงพาณิชย์บางอย่างเช่น: iC6000 On-chip Analyzer (พร้อมการรองรับโปรโตคอล Aurora) Lauterbach - เครื่องมือพัฒนาไมโครโปรเซสเซอร์ และตัวแก้จุดบกพร่อง JTAG ที่ใช้ OpenOCD FT2232H: แมงวัน NGX ARM USB JTAG ทำไมกล่อง debuggers เชิงพาณิชย์ขนาดใหญ่ถึงเมื่อเทียบกับ FT2232H JTAG debuggers ซึ่งมีเพียง PCB ขนาดบัตรเครดิตขนาดเล็ก? มีฮาร์ดแวร์เพิ่มเติมใดบ้างที่อยู่ในตัวแก้ไขข้อบกพร่องทางการค้าและส่วนใดของการดีบักที่สามารถช่วยได้
10 jtag  debugging 

3
วิธีการค้นหาข้อผิดพลาดหน่วยความจำล้นในรหัส Arduino C?
หลายครั้งที่ฉันมีผลลัพธ์ที่น่าสงสัยใน Serial Monitor หลังจากอัปโหลดรหัสไปยัง Arduino: เช่นเอาท์พุทนิรันดร์ของช่องว่างหรือตัดสายหรือสัญญาณรบกวน เนื่องจากไม่มีข้อผิดพลาดในการคอมไพล์หรือคำเตือนใน Arduino IDE ฉันคิดว่า Arduino เสียหาย แต่หลังจากการทดสอบบางอย่างฉันพบว่ามีข้อผิดพลาดไม่ทุกชนิดที่ถูกรวบรวมโดยคอมไพเลอร์ Arduino IDE - โดยเฉพาะอย่างยิ่งเมื่อกำหนดตัวแปรในวงสำหรับโครงสร้างอาร์เรย์ ดูเหมือนว่าจะทำให้ Arduino ล้มเหลวในระยะเวลาอันสั้น ฉันจะค้นพบข้อผิดพลาดที่ไม่ได้แสดงโดย Arduino IDE ได้อย่างไร

3
ฉันจะดีบัก Arduino Uno ด้วย gdb บนพีซี Linux ได้อย่างไร
ฉันจะดีบัก (ซอร์สโค้ดขั้นตอนเดียว) Arduino Uno พร้อม gdb บนพีซี Linux ได้อย่างไร โปรดทราบว่าฉันไม่ชอบใช้ AVR Studio ใน wine หรือ VirtualBox คำถามที่ 1:การเชื่อมต่อทางกายภาพ ฉันจะเชื่อมต่อกับบอร์ด Uno ได้อย่างไรและอย่างไร? ฉันเดาว่าเนื่องจากบอร์ด Uno บรรจุด้วย ATmega328 ควรมีซอร์สโค้ดขั้นตอนเดียวหรือไม่ ฉันเดาด้วยว่าฉันสามารถใช้AVR JTAGICE mkIIหรือAVR Dragonบนส่วนหัว ICSP ได้หรือไม่ คำถามที่ 2:เซิร์ฟเวอร์ GDB จากนั้นฉันสังเกตเห็นว่ามีบางโครงการเช่นAVaRICEที่ดูเหมือนว่าจะให้ฟังก์ชั่น jtag กับ gdb แต่อาจมีโครงการอื่นหรือไม่? คำถามที่ 3: พรายอยู่ที่ไหน และถ้าฉันได้รับมันขึ้นและทำงาน Arduino IDE จะซ่อนเอาท์พุทที่สร้างขึ้นเช่นไฟล์ elf ที่มีสัญลักษณ์แก้ปัญหา (ควรมี) …
10 arduino  avr  linux  debugging 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.