Rad*_*asp 9 kernel
两个不同的内核模块是否可以通过调用 ioremap_nocache() 来访问相同的内存区域?
我有一个无线驱动程序和一个单独的模块,我希望单独的模块在驱动程序仍在运行时分析卡上的噪声值。因此我上面的问题。
我探索的一种方法是从驱动程序启动一个内核线程,然后我实现了一个信号量,以防止由于对同一地址空间的并发读/写而引起的任何竞争条件。我希望子线程能够访问相同的内存区域。
不幸的是,这并没有像我预期的那样奏效。我将不胜感激任何建议。
小智 7
我假设您打算实现另一个内核模块,因为您认为在内核模块之间共享数据更容易。但也许这不是一个好的选择。如果可以在用户空间中“分析噪音”,我认为更好的解决方案是在用户空间中实现“分析器”。
在这个解决方案中,用户空间分析器读取数据,执行一些计算,然后提交结果。
如果这个方案没问题,实现如下。
在内核模块中,只是在'/proc'中注册一个char设备并实现'read'和'write'原语。在用户空间,只是实现profiler,读写char设备。此实现的详细信息和信息都在这里。
归档时间:
13 年,3 月 前
查看次数:
1216 次
最近记录:
12 年,5 月 前