นี่คือคำสั่ง ice-insight ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
ice-gdb - ส่วนหน้า JTAG ICE สำหรับ avr-gdb
ice-insight - ส่วนหน้า JTAG ICE สำหรับ avr-insight
เรื่องย่อ
ice-gdb/ice-insight [--ดีบักเกอร์ ดีบัก] [--การจับกุม] [--ละเว้น-intr] [--ภายนอก]
[gdb_arguments]
DESCRIPTION
น้ำแข็ง-gdb (ตามลำดับ ข้อมูลเชิงลึก) เริ่ม avr-gdb (ตามลำดับ avr-ข้อมูลเชิงลึก) and ความโลภ
เพื่อทำการดีบักบนชิปบนโปรเซสเซอร์ Atmel AVR โดยใช้การดีบักบนชิปบน JTAG
สิ่งอำนวยความสะดวกผ่าน Atmel JTAG ICE pod
ไฟล์ปฏิบัติการสำหรับโปรแกรมที่กำลังดีบั๊กจะถูกดาวน์โหลดไปยังโปรเซสเซอร์ เว้นแต่
--การจับกุม มีการระบุตัวเลือก มีคำสั่งพิเศษจำนวนหนึ่งอยู่ภายใน gdb เมื่อ
เริ่มต้น ดูคำอธิบายในคำสั่ง GDB ใหม่ด้านล่าง ข้อจำกัดในการดีบักด้วย
JTAG ICE pod มีการกล่าวถึงในรายละเอียดเพิ่มเติมในการดีบักด้วย JTAG ICE ด้านล่าง
อาร์กิวเมนต์ส่งผ่านไปยัง ความโลภ รวมมูลค่าของ AVARICE_ARGS สิ่งแวดล้อม
ตัวแปร. โดยทั่วไปจะใช้เพื่อระบุพอร์ตอนุกรมที่พ็อด JTAG ICE เป็น
เชื่อมต่อด้วยการตั้งค่า AVARICE_ARGS ถึง "-j ".
OPTIONS
--ดีบักเกอร์ ดีบักเกอร์_คำสั่ง
ระบุดีบักเกอร์ที่แตกต่างจาก avr-gdb (หรือ avr-insight) ดีบักเกอร์อื่นนี้
ควรประพฤติคล้ายกับ gdb
--การจับกุม
อย่าดาวน์โหลดไฟล์ปฏิบัติการที่ถูกดีบั๊กไปที่ mote เพียงขัดจังหวะ
โปรแกรมปัจจุบันและถือว่าตรงกับไฟล์ปฏิบัติการที่ส่งผ่านไปยัง น้ำแข็ง-gdb. นี้
คล้ายกับ "การแนบ" กับโปรแกรมที่ทำงานอยู่ภายใน gdb
--ละเว้น-intr
ผ่านไฟล์ --ละเว้น-intr ตัวเลือก ความโลภ. คำสั่งขั้นตอนเดียวใน gdb (s, n)
จากนั้นจะ "ก้าวข้าม" ตัวจัดการขัดจังหวะ (เช่น หากเกิดการขัดจังหวะ การดำเนินการ
จะกลับมาทำงานต่อในช่วงเวลาของการขัดจังหวะ)
--ภายนอก
อย่าเริ่ม ความโลภ. แทน, avr-gdb จะพยายามเชื่อมต่อกับแล้ว
วิ่ง ความโลภ บนพอร์ต localhost:6423
NEW GDB คำสั่ง
น้ำแข็งเริ่มใหม่
เริ่มต้นความโลภ
โหลดน้ำแข็ง ชื่อไฟล์
ดาวน์โหลดชื่อไฟล์ปฏิบัติการไปยังตัวประมวลผล Atmel และเริ่มการดีบัก (นี้
แทนที่ gdb โหลด สั่งการ).
เป้าหมายน้ำแข็ง
เชื่อมต่อกับสำเนาของ ความโลภ ทำงานบนพอร์ต localhost:6423
การดีบัก กับ JTAG ICE
สภาพแวดล้อมการดีบัก JTAG ICE มีข้อ จำกัด และการเปลี่ยนแปลงบางประการ:
· ไม่มีเบรกพอยต์ "อ่อน" และมีเพียงสามเบรกพอยต์ของฮาร์ดแวร์ คำสั่ง break set
เบรกพอยต์ของฮาร์ดแวร์ วิธีที่ง่ายที่สุดในการจัดการกับข้อจำกัดนี้คือการเปิดใช้งานและ
ปิดการใช้งานเบรกพอยต์ตามต้องการ
· จุดเฝ้าระวังฮาร์ดแวร์ 1 ไบต์ XNUMX จุด (แต่จุดเฝ้าระวังฮาร์ดแวร์แต่ละจุดใช้ฮาร์ดแวร์เดียว
เบรกพอยต์) หากคุณตั้งค่าจุดตรวจสอบบนตัวแปรซึ่งใช้เวลามากกว่าหนึ่งไบต์
การดำเนินการจะช้ามาก ควรทำสิ่งต่อไปนี้แทน:
ดู *(อักขระ *)&myvariable
ซึ่งดูไบต์ที่มีนัยสำคัญน้อยที่สุดของ ตัวแปรของฉัน.
· โปรเซสเซอร์ Atmel AVR มีสถาปัตยกรรมฮาร์วาร์ด (โค้ดแยกและบัสข้อมูล)
เพื่อแยกความแตกต่างที่อยู่ข้อมูล 0 จากที่อยู่รหัส 0 avr-gdb เพิ่ม 0x800000 ให้กับข้อมูลทั้งหมด
ที่อยู่ จำสิ่งนี้ไว้เสมอเมื่อตรวจสอบพอยน์เตอร์ที่พิมพ์ออกมา หรือเมื่อผ่านค่าสัมบูรณ์
ที่อยู่ในคำสั่ง gdb
และพวกเรา
AVARICE_ARGS
อาร์กิวเมนต์พิเศษที่จะส่งผ่านไปยัง ความโลภ เมื่อเริ่มต้น
ใช้ ice-insight ออนไลน์โดยใช้บริการ onworks.net