diff --git a/bsp/dev3210/startup.c b/bsp/dev3210/startup.c index 29aa38e2ec235eba45c55ea6cdec61a940994122..8b38099c6f25755db23ad2380feea4ba31f75b7f 100644 --- a/bsp/dev3210/startup.c +++ b/bsp/dev3210/startup.c @@ -17,6 +17,7 @@ #include #include "board.h" +#define A_K0BASE 0x80000000 /** * @addtogroup Loongson SoC3210 @@ -42,6 +43,10 @@ void dump_mem(const unsigned char* addr) rt_kprintf("\n"); } +extern void tlb_refill_exception(void); +extern void general_exception(void); +extern void irq_exception(void); + /** * This function will startup RT-Thread RTOS. */ @@ -52,12 +57,10 @@ void rtthread_startup(void) /* init hardware interrupt */ rt_hw_interrupt_init(); - /* - dump_mem((rt_uint8_t*)0x80000000); - dump_mem((rt_uint8_t*)0x80000100); - dump_mem((rt_uint8_t*)0x80000180); - dump_mem((rt_uint8_t*)0x80000200); - */ + /* copy vector */ + memcpy((void *)A_K0BASE, tlb_refill_exception, 0x20); + memcpy((void *)(A_K0BASE + 0x180), general_exception, 0x20); + memcpy((void *)(A_K0BASE + 0x200), irq_exception, 0x20); /* init board */ rt_hw_board_init();