|
ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
|
Externally-readable diagnostic counters for OUT-pipe stall debug. More...
#include <ux_dcd_ra8_usb_internal.h>
Data Fields | |
| volatile uint32_t | xfer_req_total |
| +0x00 priv_transfer_request entered. | |
| volatile uint32_t | xfer_req_null_arg |
| +0x04 tr or ep was NULL. | |
| volatile uint32_t | xfer_req_bad_pipe |
| +0x08 pipe index >= max. | |
| volatile uint32_t | xfer_req_pipe2_in |
| +0x0C pipe == 2. | |
| volatile uint32_t | xfer_req_pipe2_out_dir |
| +0x10 pipe == 2 + OUT direction. | |
| volatile uint32_t | xfer_req_pipe2_stashed |
| +0x14 pipe2 OUT slot populated. | |
| volatile uint32_t | xfer_req_pipe2_block |
| +0x18 about to tx_semaphore_get. | |
| volatile uint32_t | xfer_req_pipe2_woken |
| +0x1C tx_semaphore_get returned. | |
| volatile uint32_t | irq_walk_total |
| +0x20 IRQ pipe-walk loop iterations. | |
| volatile uint32_t | irq_walk_pipe2_seen |
| +0x24 pipe2 walked with non-NULL xfer. | |
| volatile uint32_t | irq_walk_pipe2_complete |
| +0x28 queue_out drained pipe2. | |
| volatile uint32_t | irq_walk_pipe2_no_data |
| +0x2C queue_out returned no_data. | |
| volatile uint32_t | in_rearm_nak |
| +0x30 stashed IN at PID=NAK with a loaded bank; PID forced back to BUF. | |
| volatile uint32_t | in_restage_nak |
| +0x34 stashed IN at PID=NAK, empty bank, no BEMP; current chunk re-staged. | |
| volatile uint32_t | in_stage_fail |
| +0x38 queue_in failed while staging an IN chunk from the IRQ walk. | |
| volatile uint32_t | ep_create_calls |
| +0x3C endpoint-create invocations. | |
| volatile uint32_t | ep_create_fail |
| +0x40 endpoint-create failures. | |
| volatile uint32_t | chg_state_attached |
| +0x44 CHANGE_STATE(ATTACHED) calls. | |
| volatile uint32_t | chg_state_configured |
| +0x48 CHANGE_STATE(CONFIGURED) calls. | |
Externally-readable diagnostic counters for OUT-pipe stall debug.
Read these via JLink to localise where bulk-OUT data flow stops. Layout in declaration order, 4 bytes each. Address resolved via arm-none-eabi-nm | grep g_diag. Increment-only; never cleared at runtime so a JLink dump after a single host write tells the full story.
Definition at line 103 of file ux_dcd_ra8_usb_internal.h.
| volatile uint32_t ra8_usb_dcd_diag_t::chg_state_attached |
+0x44 CHANGE_STATE(ATTACHED) calls.
Definition at line 124 of file ux_dcd_ra8_usb_internal.h.
| volatile uint32_t ra8_usb_dcd_diag_t::chg_state_configured |
+0x48 CHANGE_STATE(CONFIGURED) calls.
Definition at line 125 of file ux_dcd_ra8_usb_internal.h.
| volatile uint32_t ra8_usb_dcd_diag_t::ep_create_calls |
+0x3C endpoint-create invocations.
Definition at line 122 of file ux_dcd_ra8_usb_internal.h.
| volatile uint32_t ra8_usb_dcd_diag_t::ep_create_fail |
+0x40 endpoint-create failures.
Definition at line 123 of file ux_dcd_ra8_usb_internal.h.
| volatile uint32_t ra8_usb_dcd_diag_t::in_rearm_nak |
+0x30 stashed IN at PID=NAK with a loaded bank; PID forced back to BUF.
Definition at line 116 of file ux_dcd_ra8_usb_internal.h.
| volatile uint32_t ra8_usb_dcd_diag_t::in_restage_nak |
+0x34 stashed IN at PID=NAK, empty bank, no BEMP; current chunk re-staged.
Definition at line 118 of file ux_dcd_ra8_usb_internal.h.
| volatile uint32_t ra8_usb_dcd_diag_t::in_stage_fail |
+0x38 queue_in failed while staging an IN chunk from the IRQ walk.
Definition at line 120 of file ux_dcd_ra8_usb_internal.h.
| volatile uint32_t ra8_usb_dcd_diag_t::irq_walk_pipe2_complete |
+0x28 queue_out drained pipe2.
Definition at line 114 of file ux_dcd_ra8_usb_internal.h.
| volatile uint32_t ra8_usb_dcd_diag_t::irq_walk_pipe2_no_data |
+0x2C queue_out returned no_data.
Definition at line 115 of file ux_dcd_ra8_usb_internal.h.
| volatile uint32_t ra8_usb_dcd_diag_t::irq_walk_pipe2_seen |
+0x24 pipe2 walked with non-NULL xfer.
Definition at line 113 of file ux_dcd_ra8_usb_internal.h.
| volatile uint32_t ra8_usb_dcd_diag_t::irq_walk_total |
+0x20 IRQ pipe-walk loop iterations.
Definition at line 112 of file ux_dcd_ra8_usb_internal.h.
| volatile uint32_t ra8_usb_dcd_diag_t::xfer_req_bad_pipe |
+0x08 pipe index >= max.
Definition at line 106 of file ux_dcd_ra8_usb_internal.h.
| volatile uint32_t ra8_usb_dcd_diag_t::xfer_req_null_arg |
+0x04 tr or ep was NULL.
Definition at line 105 of file ux_dcd_ra8_usb_internal.h.
| volatile uint32_t ra8_usb_dcd_diag_t::xfer_req_pipe2_block |
+0x18 about to tx_semaphore_get.
Definition at line 110 of file ux_dcd_ra8_usb_internal.h.
| volatile uint32_t ra8_usb_dcd_diag_t::xfer_req_pipe2_in |
+0x0C pipe == 2.
Definition at line 107 of file ux_dcd_ra8_usb_internal.h.
| volatile uint32_t ra8_usb_dcd_diag_t::xfer_req_pipe2_out_dir |
+0x10 pipe == 2 + OUT direction.
Definition at line 108 of file ux_dcd_ra8_usb_internal.h.
| volatile uint32_t ra8_usb_dcd_diag_t::xfer_req_pipe2_stashed |
+0x14 pipe2 OUT slot populated.
Definition at line 109 of file ux_dcd_ra8_usb_internal.h.
| volatile uint32_t ra8_usb_dcd_diag_t::xfer_req_pipe2_woken |
+0x1C tx_semaphore_get returned.
Definition at line 111 of file ux_dcd_ra8_usb_internal.h.
| volatile uint32_t ra8_usb_dcd_diag_t::xfer_req_total |
+0x00 priv_transfer_request entered.
Definition at line 104 of file ux_dcd_ra8_usb_internal.h.