我正在用C++为Xtensa虚拟平台编写代码。我想使用simcall_callback,的功能从内部FW代码返回数据。我的C++有点生锈了。
(xtsc_core &core,void∗callback_arg,int arg1,int arg2,int arg3,int arg4,int arg5,int arg6)
simcall_callback set_simcall_callback (simcall_callback回调,void∗callback_arg,void∗∗previous_arg = NULL)
我应该如何正确地调用set_simcall_callback,第二个和第三个参数应该是什么?
有关Xtensa回调函数的文档可以在以下链接中找到(Pg.282,309)
发布于 2018-11-02 21:07:28
如果需要声明函数,可以这样做:
simcall_callback simcall_callback_func;然后需要定义回调函数主体:
int simcall_callback_func (xtsc_core &core, void *callback_arg, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6)
{
// Do what you need
return 0;
}然后,您可以调用set_simcall_callback,其中第一个参数是我们声明的函数。所有参数都在说明书的310页中进行了描述。
int main()
{
// If you need previouse function then hold returned value
simcall_callback prev_func = set_simcall_callback (simcall_callback_func, NULL);
return 0;
}https://stackoverflow.com/questions/53121181
复制相似问题