将硬件设备及其驱动程序附加到HWMON子系统与输入子系统之间的性能差异是什么?
我有一个带有ADC的嵌入式板,它通过SPI总线连接。目前,它使用了一个简单的供应商提供的设备驱动程序,将其绑定到HWMON子系统。当ADC被频繁地读取时,它消耗了大量的CPU时间。创建一个使用输入子系统与HWMON子系统的驱动程序会更有效吗?
发布于 2019-06-14 19:09:06
在我看来,HWMON子系统最适合用于相对昂贵的设备,但只需要在应用程序要求时才能读取。
在输入子系统驱动程序中,您需要实现一种机制,该机制允许应用程序告诉驱动程序应该读取设备的频率,或者接受驱动程序将在固定的时间间隔内轮询设备,从而导致持续的CPU消耗。
您应该谨慎地查看供应商提供的设备驱动程序代码。这是实际的生产质量,还是仅仅是一个简单的例子,说明如何在不关心性能的情况下读取ADC?
如果它通过在循环中愚蠢地旋转来实现与ADC相关的定时,并且您的嵌入式平台可以提供高分辨率的计时器,那么用一个时钟处理程序或其他允许内核在需要回来读取ADC之前做其他事情的机制来代替这个循环是个好主意。无论使用哪个子系统与驱动程序接口,都可以大大减少驱动程序使用的CPU时间。
https://unix.stackexchange.com/questions/524914
复制相似问题