STM32F1 DEBUG

  • 18 Replies
  • 201 Views
*

Offline tha

  • *****
  • 2109
    • View Profile
Re: STM32F1 DEBUG
« Reply #16 on: June 23, 2021, 10:23:19 am »
31.8.3 SW-DP state machine (reset, idle states, ID code)

The State Machine ของ the SW-DP มี an internal ID code ซึ่งระบุ the SW-DP. มันเป็นไปตาม the JEP-106 standard. ID code นี้เป็นระหัสเริ่มต้นของ Arm® ตัวหนึ่งและถูกเซ็ตเป็น 0x1BA01477 (ตรงกันกับ Cortex®-M3 r1p1).

Note: บันทึกไว้ว่า the SW-DP state machine จะไม่ทำงานจนกระทั่ง the target อ่าน ID code นี้.

•    The SW-DP state machine อยู่ใน RESET STATE อย่างใดอย่างหนึ่งหลังจาก power-on reset, หรือหลังจาก the DP ได้สวิทช์
      จาก JTAG ไปยัง SWD หรือหลังจาก the line เป็น high เป็นเวลามากกว่า 50 cycles
•    The SW-DP state machine อยู่ใน IDLE STATE ถ้า the line เป็น low เป็นเวลาอย่างน้อยสองไซเคิลหลังจาก RESET state.
•    After RESET state, จำเป็นต้องเข้าสู่ไปใน an IDLE state ก่อนและเพื่อดำเนินการ a READ เข้าถึงของ the DP-SW ID CODE
      register. มิฉะนั้น, the target จะปล่อยออก a FAULT acknowledge response บนการส่งถ่ายอื่น.

รายละเอียดที่มากขึ้นของ the SW-DP state machine สามารถถูกพบใน the Cortex®-M3 r1p1 TRM และ the CoreSight Design Kit r1p0 TRM.

*

Offline tha

  • *****
  • 2109
    • View Profile
Re: STM32F1 DEBUG
« Reply #17 on: June 24, 2021, 08:33:02 am »
31.8.4 DP and AP read/write accesses

•    Read เข้าถึงไปยัง the DP ไม่ถูกโพสต์: the target response สามารถถูกทำทันที (ถ้า ACK=OK) หรือสามารถถูกหน่วงเวลา (ถ้า
      ACK=WAIT).
•    Read เข้าถึงไปยัง the AP ถูกโพสต์. นี้หมายความว่าผลของ the access ถูกส่งคืนบน the next transfer. ถ้า the next access ที่
      ถูกทำไม่ใช่ an AP access, ดังนั้น the DP-RDBUFF register ต้องถูกอ่านเพื่อให้ได้ the result.
      The READOK flag ของ the DP-CTRL/STAT register ถูกอัปเดตบนทุกๆ AP read access หรือ RDBUFF read request เพื่อ
      ให้ทราบหาก the AP read access สำเร็จแล้ว.
•    The SW-DP จัดให้มีใช้ a write buffer (สำหรับทั้ง DP หรือ AP writes), ที่เปิดการใช้งานมันเพื่อยอมรับ a write operation แม้ว่า
      เมื่อ transactions อื่นยังคงค้างอยู่. ถ้า the write buffer เต็ม, the target acknowledge response จะเป็น “WAIT”. ด้วยข้อ
      ยกเว้นของ IDCODE read หรือ CTRL/STAT read หรือ ABORT write ซึ่งถูกยอมรับถึงแม้ว่า the write buffer เต็ม.
•    เนื่องจาก the asynchronous clock domains SWCLK and HCLK, สอง extra SWCLK cycles ถูกต้องการหลังจาก a write
      transaction (หลังจาก the parity bit) เพื่อทำให้การเขียนเป็นผลภายใน. ไซเคิลเหล่านี้ควรถูกใช้ในขณะที่กำลังขับ the line low
      (IDLE state)
      สิ่งนี้มีความสำคัญอย่างยิ่งเมื่อเขียน the CTRL/STAT สำหรับ a power-up request. ถ้า the next transaction (ต้องการ a
      power-up) เกิดขึ้นทันที, มันจะล้มเหลว.

*

Offline tha

  • *****
  • 2109
    • View Profile
Re: STM32F1 DEBUG
« Reply #18 on: June 24, 2021, 09:52:07 am »
31.8.5 SW-DP registers

เข้าถึง registers เหล่านี้ถูกเริ่มต้นเมื่อ APnDP=0





31.8.6 SW-AP registers

เข้าถึง registers เหล่านี้ถูกเริ่มต้นเมื่อ APnDP=1
มี AP Registers จำนวนมาก (ดู AHB-AP) ที่ถูกติดต่อที่อยู่เป็นการรวมของ:
•    The shifted value A[3:2]
•    ค่าปัจจุบันของ the DP SELECT register