STM32F1 Programming Manual

  • 65 Replies
  • 1092 Views
*

Online tha

  • *****
  • 3954
    • View Profile
Re: STM32F1 Programming Manual
« Reply #64 on: Today at 11:01:05 am »
Exception return

Exception return เกิดขึ้นเมื่อ the processor อยู่ใน Handler mode และปฏิบัติหนึ่งของคำสั่งต่อไปนี้เพื่อโหลด the EXC_RETURN value ลงใน the PC:
•   A POP instruction ที่รวม the PC ไว้
•   A BX instruction ด้วย register ใดๆ.
•   An LDR or LDM instruction ที่มี the PC เป็น the destination(ปลายทาง)

EXC_RETURN คือค่าที่โหลดลงใน the LR ตอน exception entry. The exception mechanism อาศัยค่านี้ในการตรวจจับเมื่อ the processor เสร็จสมบูรณ์ an exception handler. The lowest four bits ของค่านี้จัดให้มี information เกี่ยวกับ the return stack และ processor mode. Table 17 แสดง the EXC_RETURN[3:0] values ที่มีคำอธิบายของ the exception return behavior

The processor เซ็ต EXC_RETURN bits[31:4] เป็น 0xFFFFFFF. เมื่อค่านี้ถูกโหลดลงใน the PC มันแสดงไปยัง the processor ว่า the exception เสร็จสมบูรณ์, และ the processor เริ่มต้น the exception return sequence.


*

Online tha

  • *****
  • 3954
    • View Profile
Re: STM32F1 Programming Manual
« Reply #65 on: Today at 03:15:42 pm »
2.4 Fault handling

Faults คือ a subset ของ the exceptions, ดู Exception model บนหน้า 32. สิ่งต่อไปนี้สร้าง a fault:
•   A bus error on:
     –   An instruction fetch or vector table load
     –   A data access
•   An internally-detected error อย่างเช่น an undefined instruction หรือความพยายามเพื่อเปลี่ยน state ด้วย a BX instruction
•   ความพยายามปฏิบัติ an instruction จาก a memory region ที่ทำเครื่องหมายเป็น Non-Executable(XN).

2.4.1 Fault types

Table 18 แสดง the types of fault, the handler ที่ใช้สำหรับ the fault, the corresponding fault status register, and the register bit ที่แสดงให้เห็นว่า the fault ได้เกิดขึ้นแล้ว. ดู Configurable fault status register (SCB_CFSR) บนหน้า 142 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ the fault status registers.