#include #include "tl2cdr.h" #include "system_cfg.h" #include "sysDef.h" #include "halfLvdsMacSvr.h" #include "plic.h" //------------------------------------------------------------------- //internal function static uint32_t init_plic(void); static void error() ; void main() { int i; //初始化plic init_plic(); //延迟等待从机复位,初始化 for (i = 0; i < 100; i++) asm volatile("nop"); //使用查询策略 POLL_STRATEGY 操作 half lvds mac HLM_poll(WORKMODE_MASTER); while (1); } uint32_t init_plic(void) { /*初始化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; return 0; } void error() { while(1); }