1

我正在使用 NIOS II - Eclipse 这是我的代码示例我基本上是在尝试调用一个函数

struct DevDesc {

u32* mmio;

}

struct DevDesc dev_desc;

struct MemDesc mem_desc_g;//this structure is defined in another file

struct SysDesc sys_desc_g = {

.dd = &dev_desc,

.md = &mem_desc_g,

};

u32 power_mode_sleep (struct SysDesc *sd)

{

void * dev_addr = sd->dd->mmio;

//code
//code
//code

return 0;

}

几行之后我尝试调用它

int main()

{

power_mode_sleep((u32*)dev_addr);

}

当我尝试构建它时,会抛出未声明的错误“dev_addr”(在此函数中首次使用),它指向该行

power_mode_sleep((u32*)dev_addr);

我试图使代码简短,只写我认为必要的。如果有人想查看更多详细信息,我很乐意为他们提供。

4

1 回答 1

1

void * dev_addr = sd->dd->mmio;仅限于函数的范围因此power_mode_sleep (struct SysDesc *sd)错误。

此外,您将(u32*)dev_addr作为参数传递给power_mode_sleep. 然而,它需要一个类型的参数struct SysDesc *

于 2013-06-14T01:19:03.117 回答