request_firmware 的用法,struct firmware,内核,固件,usb
来源:互联网 发布:linux shell 等待输入 编辑:程序博客网 时间:2024/05/01 09:03
【转帖请注明出处:blog.csdn.net/lanmanck】
网上有许多说明,ldd3也有:http://www.deansys.com/doc/ldd3/ch14s08.html。
对于刚使用的人来说,上面都说的笼统,说了等于没说,我总结一下:
1、request_firmware在内核使用,需要文件系统支持,就是说,启动的时候如果在驱动里面的probe函数调用request_firmware ,那么系统将等待30s左右,因为文件系统还没有挂载,当然找不到固件了,所以最好在中断里面启动tasklet,然后request_firmware 。如果不想等待,就用request_firmware_nowait,好像是这样写的。
2、那么用户层怎么用?这是初学者最易迷惑的,网上的基本都没有讲到。
实际上这个分x86和嵌入式,比如arm,平台。x86的用到了udev,我没有试。我说说arm平台的,用的是busybox的mdev。
比如你要请求固件 fw.hex,那么必须在文件系统中导出环境变量,比如 export FIRMWARE=/lib/firmware,而且目录/lib/firmware不能少,因为busybox要用到。然后把固件fw.hex放到/lib/firmware目录下即可。内核request_firmware的时候,busybox就知道去FIRMWARE找了。这实际上用到了mdev的热插拔功能:
echo /sbin/mdev > /proc/sys/kernel/hotplug
3、对linux来讲,所谓的固件什么也不是,他只是按fopen()返回二进制文件给你,看看busybox的处理就知道了。所以你的文件随便定义,比如一个mp3文件,你也可以称为固件:request_firmware("xxx.mp3"),那么你文件系统里面也要有这个xxx.mp3文件,只不过系统给你返回二进制数据,具体的处理要在内核进行。
讲到这大家应该都会用了,不对请指正。
- request_firmware 的用法,struct firmware,内核,固件,usb
- request_firmware 的用法,
- linux固件接口request_firmware
- Linux中request_firmware 的用法
- 固件升级相关接触与request_firmware
- request_firmware()分析——加载在用户空间的固件
- Linux 设备驱动的固件firmware加载
- 整理:linux kernel firmware update 内核设备固件升级方法
- firmware-mod-kit解压固件出错
- Linux设备模型firmware(固件)
- openwrt生成固件firmware过程
- request_firmware
- request_firmware
- request_firmware
- request_firmware
- request_firmware
- request_firmware
- request_firmware
- 年头年尾
- Linux下VSFTP配置全攻略
- Project Euler Problem 14
- dddddddddddd
- 软件开发者面试百问
- request_firmware 的用法,struct firmware,内核,固件,usb
- 10个非常有用的CSS技巧
- FS寄存器资料
- 健康?十种错误的常识习惯
- 会让你“变笨”的12种食物
- 感冒了闻热茶能加速康复
- linux 密码忘记 linux 修改root的密码!
- 程序员六大职业素养
- 关于Grid++利用JSON前台填充数据