int (*func)(void *);
func = (int (*)(void *))0x8005000;
asm("CPSID I"); /* 关中断 */
return func(p);
我加了一句关中断,可是跳到0x8005000之后,B指令的执行结果还是hard fault ...
bigfacecat 发表于 2009-11-4 11:38
这不是C吗?只需把"func = (int (*)(void *))0x8005000;"改成"func = API_FUNC_TABLE;"。当然事先要声明一下void API_FUNC_TABLE(void *); |
|