增加代码,验证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;
uint32_t tx_index = 0;
@@ -114,7 +114,7 @@ uint32_t HLM_poll(uint32_t mode)
{
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];
tx_index++;
@@ -161,16 +161,16 @@ uint32_t HLM_poll(uint32_t mode)
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;
data = *rx0_rxFifo;
if (rx_index == 0)
{
rx_pkt_len = (data >> 20) + 4;
*tx1_txLen = rx_pkt_len + 4;
*tx1_txLen = rx_pkt_len;
}
rx_index++;
@@ -178,19 +178,6 @@ uint32_t HLM_poll(uint32_t mode)
if (rx_pkt_len <= (rx_index * 4))
{
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;
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