增加测试代码,让整个主站的代码工作在RV32E的编译选项下,仅中断代码工作在RV32I的编译选项下,可以优化中断的速度。代码仅做备份,中断部分执行不正常

This commit is contained in:
2025-02-03 07:51:54 +08:00
parent 1ae3a395d8
commit ab506a0e37
5 changed files with 219 additions and 56 deletions

View File

@@ -56,9 +56,6 @@ void plic_handle(){
return;
}
static inline void error() {
while(1);
}
@@ -72,7 +69,8 @@ static inline void error() {
// extern volatile uint32_t *cdr_rxLen = (uint32_t*)( TL2CDR_BASE + CDR_ReadRxLen ); //read
// extern volatile uint32_t *cdr_rxFifo = (uint32_t*)( TL2CDR_BASE + CDR_ReadRxFifo ); //read
//extern const uint8_t mst_svr_code[];
//uint32_t (*init_svr_code)(void);
void main()
{
@@ -88,6 +86,8 @@ void main()
uint32_t led = 0;
//init_svr_code = (uint32_t (*)(void))mst_svr_code;
*plic_enable_0_31 = 1 << CDR_INT_TXEND | 1 << CDR_INT_RXERROR | 1 << CDR_INT_RXSTART | 1 << CDR_INT_RXEND;
*plic_priority_TxEnd = 1;
*plic_priority_RxError = 1;
@@ -104,6 +104,8 @@ void main()
*plic_threshold_0 = 0;
}
//while (init_svr_code() != 1);
*cdr_softReset = 1; //复位脉冲
@@ -130,7 +132,6 @@ void main()
// led = 1;
// }
//发送下行包头
*cdr_txLen = 520; //总长520
*cdr_txFifo = (512 << 20) |( 0 << 16) | 0x0000; //负载长度512操作数0 参数全0