编译android内核出现问题 隐式声明函数‘dmac_flush_range’未定义

蓝天白云青草 2014-02-27 08:53:13
/home/wk/pmem.c:689:5: 错误: ‘get_pmem_user_addr’重定义
/home/wk/android_pmem.h:78:19: 附注: ‘get_pmem_user_addr’的上一个定义在此
/home/wk/pmem.c:746:5: 错误: ‘get_pmem_file’重定义
/home/wk/android_pmem.h:75:19: 附注: ‘get_pmem_file’的上一个定义在此
/home/wk/pmem.c:769:6: 错误: ‘put_pmem_file’重定义
/home/wk/android_pmem.h:80:20: 附注: ‘put_pmem_file’的上一个定义在此
/home/wk/pmem.c:791:6: 错误: ‘flush_pmem_file’重定义
/home/wk/android_pmem.h:81:20: 附注: ‘flush_pmem_file’的上一个定义在此
/home/wk/pmem.c: 在函数‘flush_pmem_file’中:
/home/wk/pmem.c:813:3: 错误: 隐式声明函数‘dmac_flush_range’ [-Werror=implicit-function-declaration]
/home/wk/pmem.c: 在文件作用域:
/home/wk/pmem.c:933:5: 错误: ‘pmem_remap’重定义
/home/wk/android_pmem.h:87:19: 附注: ‘pmem_remap’的上一个定义在此
/home/wk/pmem.c:1226:5: 错误: ‘pmem_setup’重定义
/home/wk/android_pmem.h:83:19: 附注: ‘pmem_setup’的上一个定义在此
/home/wk/pmem.c: 在函数‘pmem_setup’中:
/home/wk/pmem.c:1273:3: 错误: 隐式声明函数‘ioremap_cached’ [-Werror=implicit-function-declaration]
求解决方案。
...全文
301 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
蓝天白云青草 2014-02-27
  • 打赏
  • 举报
回复
59 #ifdef CONFIG_ANDROID_PMEM 60 int is_pmem_file(struct file *file); 61 int get_pmem_file(int fd, unsigned long *start, unsigned long *vstart, 62 unsigned long *end, struct file **filp); 63 int get_pmem_user_addr(struct file *file, unsigned long *start, 64 unsigned long *end); 65 void put_pmem_file(struct file* file); 66 void flush_pmem_file(struct file *file, unsigned long start, unsigned long len); 67 int pmem_setup(struct android_pmem_platform_data *pdata, 68 long (*ioctl)(struct file *, unsigned int, unsigned long), 69 int (*release)(struct inode *, struct file *)); 70 int pmem_remap(struct pmem_region *region, struct file *file, 71 unsigned operation); 72 73 #else 74 static inline int is_ pmem_file(struct file *file) { return 0; } 75 static inline int get_pmem_file(int fd, unsigned long *start, 76 unsigned long *vstart, unsigned long *end, 77 struct file **filp) { return -ENOSYS; } 78 static inline int get_pmem_user_addr(struct file *file, unsigned long *start, 79 unsigned long *end) { return -ENOSYS; } 80 static inline void put_pmem_file(struct file* file) { return; } 81 static inline void flush_pmem_file(struct file *file, unsigned long start, 82 unsigned long len) { return; } 83 static inline int pmem_setup(struct android_pmem_platform_data *pdata, 84 long (*ioctl)(struct file *, unsigned int, unsigned long), 85 int (*release)(struct inode *, struct file *)) { return -ENOSYS; } 86 87 static inline int pmem_remap(struct pmem_region *region, struct file *file, 88 unsigned operation) { return -ENOSYS; } 89 #endif
蓝天白云青草 2014-02-27
  • 打赏
  • 举报
回复
上面有2类问题,一类问题是/home/wk/pmem.c:689:5: 错误: ‘get_pmem_user_addr’重定义 /home/wk/android_pmem.h:78:19: 附注: ‘get_pmem_user_addr’的上一个定义在此 另一种问题是 /home/wk/pmem.c:813:3: 错误: 隐式声明函数‘dmac_flush_range’ [-Werror=implicit-function-declaration]
内容概要:本文围绕“基于改进型SVPWM调制的钳位型单相三电平NPC逆变器中点电位平衡”展开仿真研究,系统探讨了如何通过改进的空间矢量脉宽调制(SVPWM)策略有效抑制单相三电平中性点钳位(NPC)逆变器中存在的中点电位漂移问题。研究依托Simulink仿真平台构建系统模型,详细分析了不同调制策略对中点电压波动的影响机制,验证了所提出控制方法在提升输出波形质量、增强系统稳定性方面的有效性。同时,文档附带了多项相关科研主题资源,涵盖多电平逆变器控制、虚拟同步发电机(VSG)、微电网能量管理、信号处理、路径规划、机器学习与深度学习等多个前沿方向,展现了较强的综合性与科研实用价值。; 适合人群:电气工程、自动化、新能源科学与工程、电力电子与电力传动等领域的硕士、博士研究生,以及从事电力系统控制、可再生能源并网技术研究的科研人员与工程技术人员。; 使用场景及目标:① 深入理解三电平NPC逆变器的工作原理及中点电位不平衡的成因与危害;② 掌握改进型SVPWM调制策略的设计思想及其在中点电位控制中的实现路径;③ 利用Simulink搭建电力电子系统仿真模型,开展控制算法的验证与优化;④ 拓展至三相多电平逆变器、VSG构网型控制、微电网协同优化等高级课题的研究与复现。; 阅读建议:建议读者结合Simulink仿真环境进行实操演练,重点关注调制策略中开关状态选择与作用时间分配对中点电荷累积的影响机制。初学者应先夯实传统SVPWM理论基础,再逐步过渡到改进策略的学习;进阶研究者可尝试将该方法推广至多目标协同控制或引入智能优化算法进一步提升动态响应性能。

80,493

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧