亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標題:
驅(qū)動里面如何加載某文件
[打印本頁]
作者:
aaaaa5aa
時間:
2013-07-08 16:18
標題:
驅(qū)動里面如何加載某文件
目前在寫一個驅(qū)動程序,是要求將一個配置文件加載到驅(qū)動文件里面,
以便上層能打開查看,請問有什么辦法能把文件加載到驅(qū)動里面去
作者:
wwxxxxll
時間:
2013-07-08 19:59
本帖最后由 wwxxxxll 于 2013-07-08 19:59 編輯
固件開發(fā),就是把用戶文件讀入驅(qū)動
常常.bin\.fw等文件
作者:
aaaaa5aa
時間:
2013-07-09 10:50
回復
2#
wwxxxxll
請問怎么讀取,能教一下具體方法嗎,謝謝了
作者:
wwxxxxll
時間:
2013-07-09 11:14
回復
3#
aaaaa5aa
我最近在寫關于設備模型的文章,后面準備寫固件開發(fā),可惜現(xiàn)在還沒寫。我只能提供你函數(shù)
ldd3
#include <linux/firmware.h>
int request_firmware(const struct firmware **fw, char *name,
struct device *device);
調(diào)用 request_firmware 要求用戶空間定位并提供一個固件映象給內(nèi)核; 我們
一會兒看它如何工作的細節(jié). name 應當標識需要的固件; 正常的用法是供應者
提供的固件文件名. 某些象 my_firmware.bin 的名子是典型的. 如果固件被成
功加載, 返回值是 0(負責常用的錯誤碼被返回), 并且 fw 參數(shù)指向一個這些
結(jié)構(gòu):
struct firmware {
size_t size;
u8 *data;
};
void release_firmware(struct firmware *fw);
因為 request_firmware 請求用戶空間來幫忙, 它保證在返回前睡眠. 如果你
的驅(qū)動當它必須請求固件時不在睡眠的位置, 異步的替代方法可能要使用:
int request_firmware_nowait(struct module *module,
char *name, struct device *device, void *context,
void (*cont)(const struct firmware *fw, void *context));
這里額外的參數(shù)是 moudle( 它將一直是 THIS_MODULE), context (一個固件子
系統(tǒng)不使用的私有數(shù)據(jù)指針), 和 cont. 如果都進行順利,
request_firmware_nowait 開始固件加載過程并且返回 0. 在將來某個時間,
cont 將用加載的結(jié)果被調(diào)用. 如果由于某些原因固件加載失敗, fw 是 NULL.
你在/linux-2.6.*/drivers/下
grep -r "request_firmware" ./*
看那些驅(qū)動用了,研究一下。
我的bolg
http://blog.csdn.net/xxxxxlllllxl
后期我會寫固件開發(fā)的專題
歡迎光臨 Chinaunix (http://72891.cn/)
Powered by Discuz! X3.2