使用软件中断向量表

This commit is contained in:
2025-10-19 20:11:51 +08:00
parent 4eb3e830d0
commit 1150252a08
2 changed files with 3 additions and 4 deletions

View File

@@ -18,10 +18,10 @@ void irq_vector_init(void)
{ {
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0x200<30>ֽڶ<D6BD><DAB6><EFBFBD><EBA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0x200<30>ֽڵ<D6BD><DAB5>ڴ棬Ȼ<E6A3AC><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>0x200<30><30><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD> //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0x200<30>ֽڶ<D6BD><DAB6><EFBFBD><EBA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0x200<30>ֽڵ<D6BD><DAB5>ڴ棬Ȼ<E6A3AC><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>0x200<30><30><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>
g_base=mymalloc((int)size+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); mymemcpy(g_irq_vector,(void *)&isr_vector_start,size);
rt_base_t level=rt_hw_interrupt_disable(); 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); rt_hw_interrupt_enable(level);
} }
} }

View File

@@ -124,12 +124,11 @@ void rt_hw_board_init()
sFLASH_Init(); sFLASH_Init();
mymem_init(); mymem_init();
rt_system_heap_init(rt_heap_begin_get(),rt_heap_end_get()); rt_system_heap_init(rt_heap_begin_get(),rt_heap_end_get());
// irq_vector_init(); irq_vector_init();
mpu_init(); mpu_init();
Touch_Init(); Touch_Init();
USART3_Init(); USART3_Init();
RANDOM_Init(); RANDOM_Init();
// USBD_InitAsVcp ();
g_usart = libc_find_dev("usart"); g_usart = libc_find_dev("usart");
g_usart->open(); g_usart->open();
} }