c - 'dev_addr' 未声明(在此函数中首次使用)

标签 c power-management nios

我正在使用 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);

我尽量让代码简洁,只放我认为必要的东西。如果有人想查看更多详细信息,我很乐意提供。

最佳答案

void * dev_addr = sd->dd->mmio; 被限制在函数 power_mode_sleep (struct SysDesc *sd) 的范围内因此出现错误。

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

的参数

关于c - 'dev_addr' 未声明(在此函数中首次使用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17099691/

相关文章:

c - 从用户定义的函数返回使我的程序崩溃

c - 使用指向数组的指针

power-management - 节能软件编码

c - 绕过 Nios II 处理器中的数据缓存

c - 为什么我的串行通信不工作?

c - 如何在 NIOS II 上加载图像?

c++ - 字符四 [4] = "four";该语句的正确语义是什么?

linux - 如何在基于 ARM 的嵌入式 Linux 系统上进行省电?

c++ - 如何知道 Windows 本地服务是否启用了唤醒计时器?

C 文本算法