การ Debug และ Simulation

ใน Keil uVision2 มีเครื่องมือที่ช่วยในการ Debug และ Simulation Program อยู่ในตัวมันแล้ว ซึ่งเพียงพอกับการใช้งานในทุกรูปแบบ สำหรับคนที่ download โปรแกรมมา จะพบว่าบางอย่างไม่สามารถทำได้ เพราะไม่ใช่เวอร์ชั่นเต็ม ซึ่งถ้าอยากศึกษาเวอร์ชั่นเต็มก็คงต้องยอมเสียตังค์ค่าลิขสิทธิ์ไป ในการทดลองทั้งหมดนี้ผมจะอ้างอิงจากเวอร์ชั่นเต็ม

ใน Lab1 ไฟวิ่ง Blinky.c เราได้ทำการทดลองกันไปแล้วโดยการต่อฮาร์ดแวร์ คราวนี้เรามาทดลองกันแบบ Simulation กันดีกว่า ก่อนที่สอนการ Debug และ Simulation ผมขออธิบายหน้าที่ของปุ่มที่ใช้ในการ Debug และ Simulation ก่อนดีกว่า

Start Debuging

 

ใช้ในการเปิด/ปิดโหมด Debug เมื่ออยู่ในโหมด Debug แล้วจะมีลูกศรสีเหลืองเป็นตัวชี้ตำแหน่งของบรรทัดถัดไปที่จะทำการ Execute

Disassembly Window

 

ปุ่มนี้ช่วยในการแปลงภาษา C เป็น ภาษาแอสแซมบลีและ HEX Code ทำให้เราสามารถเปรียบเทียบได้ว่าคำสั่งในภาษา C เมื่อแปลงเป็นภาษาแอสแซมบลีจะสั้นยาวอย่างไรตรงนี้มีประโยชน์ในการ Debug มากครับ

Watch Window

 

ปุ่มนี้ใช้สำหรับมองดูตัวแปรในโปรแกรมที่คุณเขียนขึ้น เหมือนกับคำสั่ง Add watch ใน Pascal แหล่ะครับเมื่อคุณกดปุ่มนี้คุณจะต้องใส่ค่าตัวแปลลงในหน้าต่าง Watch Window ข้างล่างการใส่ค่าตัวแปรลงไปสามารถทำได้โดย กด F2 แล้วพิมพ์ค่าตัวแปรลงไป ตัวแปรนี้อาจเป็น Special Function Register หรือ ตัวแปรที่คุณตั้งชื่อขึ้นมา

Memory Window

 

ปุ่มเปิด/ปิดหน้าต่าง Memory ช่วยในการดูค่าใน Memery คุณสามารถดูค่าใน Memory ที่ Address ต่างๆ ได้โดยการพิมพ์ลงไปในช่อง Address ในส่วนของค่า Memory คุณสามารถกำหนดการแสดงผลได้ว่าจะให้เป็น Decimal, Unsigned, Singed, Ascii, Float, Double ได้โดยการคลิกขวาที่ Memory Window

Serial Window

 

ในกรณีที่คุณเขียนโปรแกรมที่มีการสื่อสารทาง PC Com port คุณสามารถดูข้อมูลที่รับ/ส่ง ที่ Com Port ได้

Reset CPU

 

ใช้ในการรีเซต CPU ให้เริ่มทำงานใหม่

Step into

 

ใช้ในการ Run คำสั่งทีละบรรทัด โดยจะ Run ทีละบรรทัดในเครื่องหมาย { } (ในภาษา C) แทนได้ด้วยการกดปุ่ม F11

Step over

 

ใช้ในการ Run คำสั่งโดยจะ Run ทีละ { }(ในภาษา C) แทนได้ด้วยการกดปุ่ม F10

 


 

การ Debug และ Simulation Lab1

ใน Lab1 ผมได้สอนการเขียนภาษา C มาทำเป็นไฟวิ่ง บางคนบ่นว่าไม่สะดวกในการต่อฮาร์ดแวร์ ยังไงก็ตามเราสามารถดูผลการทดลองได้จากการ Simulate ให้คุณเปิด Keil uVision2 เปิด Lab1 ที่ Compile เสร็จเรียบร้อยแล้ว ในกรณีที่ยังไม่ได้เขียน ให้ย้อยกลับไปทำก่อนครับ จากนั้นให้กดปุ่ม Start Debuging เพื่อเข้าโหมด Debug กดปุ่ม Disassembly Window เพื่อดูเป็นภาษา แอมแซมบล

กดปุ่ม F11 จะทำการ Run ทีละบรรทัดสังเกตค่าใน Speacial Function Register จะมีการเปลี่ยนแปลงไป ค่าที่มีการเปลี่ยนแปลงไปจะถูกเน้นด้วยแถบสีเขียว

จากรูปจะเห็นได้ว่าค่าของ R7 มีการเปลี่ยนแปลงเป็น 9CH จึงถูกเน้นด้วยแถบสีเขียว

คลิก Peripherals - - -> I/O-Ports - - -> P0 จะเห็นค่าของ Port 0 ให้กด F11 ไปเรื่อยๆ สังเกตดูการเปลี่ยนแปลงที่เกิดขึ้น ในการ Simulation สามารถทำได้หลายรูปแบบ ที่กล่าวมาเป็นเพียงแนวทางในการใช้งานเบื้องต้น การใช้งานนอกเหนือจากนี้จะนำเสนอในคราวหน้าครับ

 


Copyright © 2003 Aon micro. All rights reserved

E-mail:[email protected]

 

 

 

Hosted by www.Geocities.ws

1