增加代码,验证cdr的status寄存器,功能正确了

This commit is contained in:
2025-02-11 17:56:44 +08:00
parent 9291c6eba5
commit 82919d861a

View File

@@ -93,7 +93,7 @@ uint32_t HLM_poll(uint32_t mode)
//开始发送工作 //开始发送工作
*tx0_txLen = tx_pkt_len + 8; *tx0_txLen = tx_pkt_len + 4;
*tx0_txFifo = (tx_pkt_len << 20) | (0 << 16) | 0; *tx0_txFifo = (tx_pkt_len << 20) | (0 << 16) | 0;
uint32_t tx_index = 0; uint32_t tx_index = 0;
@@ -114,7 +114,7 @@ uint32_t HLM_poll(uint32_t mode)
{ {
status = *HLM_status; status = *HLM_status;
if (((tx_index * 4) < tx_pkt_len) && (status & HLM_TX0_FIFO_FULL)) if (((tx_index * 4) < tx_pkt_len) && (!(status & HLM_TX0_FIFO_FULL)))
{ {
*tx0_txFifo = tx_data_ptr[tx_index]; *tx0_txFifo = tx_data_ptr[tx_index];
tx_index++; tx_index++;
@@ -161,16 +161,16 @@ uint32_t HLM_poll(uint32_t mode)
while (1) while (1)
{ {
//status = *HLM_status; status = *HLM_status;
if (rx_start)// && (status & HLM_RX0_VALID)) if (rx_start && (status & HLM_RX0_VALID))
{ {
uint32_t data; uint32_t data;
data = *rx0_rxFifo; data = *rx0_rxFifo;
if (rx_index == 0) if (rx_index == 0)
{ {
rx_pkt_len = (data >> 20) + 4; rx_pkt_len = (data >> 20) + 4;
*tx1_txLen = rx_pkt_len + 4; *tx1_txLen = rx_pkt_len;
} }
rx_index++; rx_index++;
@@ -178,19 +178,6 @@ uint32_t HLM_poll(uint32_t mode)
if (rx_pkt_len <= (rx_index * 4)) if (rx_pkt_len <= (rx_index * 4))
{ {
rx_start = 0; rx_start = 0;
#if 0
*plic_enable_0_31 = 1 << CDR_INT_TX0END
| 1 << CDR_INT_TX1END
| 1 << CDR_INT_RX0ERROR
| 1 << CDR_INT_RX1ERROR
| 1 << CDR_INT_RX0START
| 1 << CDR_INT_RX1START
| 1 << CDR_INT_RX0END
| 1 << CDR_INT_RX1END;
#endif
} }
} }
@@ -199,27 +186,7 @@ uint32_t HLM_poll(uint32_t mode)
{ {
isr_flag[CDR_INT_RX0START] = 0; isr_flag[CDR_INT_RX0START] = 0;
rx_start = 1; rx_start = 1;
//*plic_enable_0_31 = 0;
} }
#if 0
//rx1 上行
if (isr_flag[CDR_INT_RX1START])
{
isr_flag[CDR_INT_RX1START] = 0;
}
if (isr_flag[CDR_INT_RX0END])
{
isr_flag[CDR_INT_RX0END] = 0;
//break;
}
if (isr_flag[CDR_INT_RX1END])
{
isr_flag[CDR_INT_RX1END] = 0;
//break;
}
#endif
} }
} }
else else