diff --git a/Project/Src/MyApp/irq_vector.c b/Project/Src/MyApp/irq_vector.c index 38d3e1a..c760e0f 100644 --- a/Project/Src/MyApp/irq_vector.c +++ b/Project/Src/MyApp/irq_vector.c @@ -18,10 +18,10 @@ void irq_vector_init(void) { //向量表必须0x200字节对齐,这里申请大于0x200字节的内存,然后所申请的内存一定有0x200对齐的部分 g_base=mymalloc((int)size+0x200); - g_irq_vector=(void **)(((int)g_base+0x200)&0xfffffe00); + g_irq_vector=(void **)(((int)g_base+0x1ff)&0xfffffe00); mymemcpy(g_irq_vector,(void *)&isr_vector_start,size); rt_base_t level=rt_hw_interrupt_disable(); - NVIC_SetVectorTable(NVIC_VectTab_RAM,(u32)g_irq_vector-NVIC_VectTab_RAM); + NVIC_SetVectorTable(NVIC_VectTab_RAM,(u32)g_irq_vector-NVIC_VectTab_RAM); rt_hw_interrupt_enable(level); } } diff --git a/Project/Src/rt-thread/board.c b/Project/Src/rt-thread/board.c index f7a6192..3ace741 100644 --- a/Project/Src/rt-thread/board.c +++ b/Project/Src/rt-thread/board.c @@ -124,12 +124,11 @@ void rt_hw_board_init() sFLASH_Init(); mymem_init(); rt_system_heap_init(rt_heap_begin_get(),rt_heap_end_get()); - // irq_vector_init(); + irq_vector_init(); mpu_init(); Touch_Init(); USART3_Init(); RANDOM_Init(); - // USBD_InitAsVcp (); g_usart = libc_find_dev("usart"); g_usart->open(); }