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 *);
点赞  2009-11-4 21:59
                                 非常感谢,可惜我的分数分完了,呵呵,下次看到你多给你分数:)
点赞  2009-11-25 11:13
关中断就可以了吗?
点赞  2015-7-15 09:23
12
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复