首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > VxWorks >

关于驱动中分配缓存的疑问解决方法

2012-02-10 
关于驱动中分配缓存的疑问各位高手,我现在在写一个DMA的驱动,需要在一个接口中建立消息队列,在内存中开辟

关于驱动中分配缓存的疑问
各位高手,我现在在写一个DMA的驱动,需要在一个接口中建立消息队列,在内存中开辟缓存的时候
请问该怎样实现?我看到有人说过在驱动中要避免使用malloc,因为sysHwInit()时内存未初始化,
会造成系统崩溃。我的函数类似下面这样:
fun1(void *descBuffer,int len)
其中descBuffer是输入发送消息队列的首地址,len是队列的长度。descBuffer到底是用户已分配好
的呢还是需要在函数中开辟呢?请高手帮我解决一下这两个疑问哈

[解决办法]
友情帮顶下,
MARK
[解决办法]
> descBuffer到底是用户已分配好的呢还是需要在函数中开辟呢
这个需要你的驱动和应用程序协调,约定好由谁来分配空间。个人觉得由驱动分配内存比较合适一点。
为避免cache一致性问题,你可以用cacheDmaMalloc来分配内存。

热点排行