ת»»Ϊgb2312±àÂë
This commit is contained in:
@@ -16,7 +16,7 @@ void irq_vector_init(void)
|
||||
int size=(int)&isr_vector_end-(int)&isr_vector_start;
|
||||
if(g_irq_vector==0)
|
||||
{
|
||||
//向量表必须0x200字节对齐,这里申请大于0x200字节的内存,然后所申请的内存一定有0x200对齐的部分
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0x200<EFBFBD>ֽڶ<EFBFBD><EFBFBD>룬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0x200<EFBFBD>ֽڵ<EFBFBD><EFBFBD>ڴ棬Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>0x200<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>
|
||||
g_base=mymalloc((int)size+0x200);
|
||||
g_irq_vector=(void **)(((int)g_base+0x200)&0xfffffe00);
|
||||
mymemcpy(g_irq_vector,(void *)&isr_vector_start,size);
|
||||
@@ -27,11 +27,11 @@ void irq_vector_init(void)
|
||||
}
|
||||
|
||||
|
||||
//设置中断函数,同时返回旧的中断函数,irq_fun==0时不做修改
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϺ<EFBFBD><EFBFBD><EFBFBD>,ͬʱ<CDAC><CAB1><EFBFBD>ؾɵ<D8BE><C9B5>жϺ<D0B6><CFBA><EFBFBD><EFBFBD><EFBFBD>irq_fun==0ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
void *irq_vector_set_irq(int irq_num,void *irq_fun)
|
||||
{
|
||||
void *ret=0;
|
||||
irq_num+=16;//前16个中断是内核中断,中断号为负数
|
||||
irq_num+=16;//ǰ16<EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD><EFBFBD>жϣ<EFBFBD><EFBFBD>жϺ<EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
rt_base_t level=rt_hw_interrupt_disable();
|
||||
ret=g_irq_vector[irq_num];
|
||||
if(irq_fun)
|
||||
|
Reference in New Issue
Block a user