#include // #include "uart.h" // #include "gpio.h" // #include "timer.h" #include "tl2cdr.h" #include "system_cfg.h" #include "halfLvdsMacSvr.h" #include "sysDef.h" #include "plic.h" uint8_t sys_stack[STACK_SIZE] __attribute__((aligned(0x100), section(".sys_stack"))); static void error(); static uint32_t init_plic(void); void main() { init_plic(); //tx0 下行 //tx1 上行 //rx0 下行 //rx1 上行 //使用查询策略 POLL_STRATEGY 操作 half lvds mac HLM_poll(WORKMODE_SLAVE); while (1); } void error() { while(1); } uint32_t init_plic(void) { #if 0 /*初始化plic*/ *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 //| 1 << CDR_INT_TX0_FIFO_DEQ //| 1 << CDR_INT_TX1_FIFO_DEQ //| 1 << CDR_INT_RX0_FIFO_ENQ //| 1 << CDR_INT_RX1_FIFO_ENQ ; plic_priority[CDR_INT_TX0END] = 1; plic_priority[CDR_INT_TX1END] = 1; plic_priority[CDR_INT_RX0ERROR] = 1; plic_priority[CDR_INT_RX1ERROR] = 1; plic_priority[CDR_INT_RX0START] = 1; plic_priority[CDR_INT_RX1START] = 1; plic_priority[CDR_INT_RX0END] = 1; plic_priority[CDR_INT_RX1END] = 1; plic_priority[CDR_INT_TX0_FIFO_DEQ] = 1; plic_priority[CDR_INT_TX1_FIFO_DEQ] = 1; plic_priority[CDR_INT_RX0_FIFO_ENQ] = 1; plic_priority[CDR_INT_RX1_FIFO_ENQ] = 1; *plic_threshold_0 = 0; #endif return 0; }