如何解决为什么固件是驱动程序的一部分重要吗,我可以从驱动程序中排除它吗
首先为什么固件很重要。例如,在真实的驱动程序中,我看到有 DMA 或 MMIO 读/写完成,但通常 Linux 中的驱动程序代码在使用 request_firmware
函数从内核请求后添加固件结构。
当我可以使用直接内存访问从驱动程序读取和写入设备时,为什么要在 PCI 驱动程序中添加固件。 DMA 完全不同,与固件无关。 DMA 将设备对象映射到内核虚拟页面和固件结构对象简单具有读写操作。我不知道为什么需要它们。例如对于典型的驱动程序,这个函数是一个固件写操作的结构体
typedef void (*my_driver_write_phy)(struct mydriver_private *o,int register,int val);
这个函数被注册为回调和我的驱动程序固件结构的成员。所以我猜内核调用了这个函数。但我的问题是,内核什么时候调用这个函数。它是用于附加功能(请说明是否可以排除)还是每次在设备与系统之间进行数据传输时调用,包括访问 DMA 内存时调用
所以基本上真正的问题是:直接内存访问是否也需要固件?并且可以排除
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。