作者fish39 (醒醒吧!!宅宅)
看板LinuxDev
標題[問題] block type driver利用kmalloc
時間Thu Mar 29 23:08:48 2007
首先
在驅動程式方面
#define b_data (8)
//先取得一塊記憶空間
data=kmalloc(b_data* sizeof(short int),GFP_KERNEL);
//ioctl
static int blk_ioctl(struct inode* inode, struct file* filp,
unsigned int cmd,unsigned long arg)
switch (cmd)
AAA: copy_from_user(&data,(short int *)arg,16);
break;
在應用程式方面
//準備一些資料
short int BB[8]={12217,2490 ,-1277,-58,882,-36,-304,78};
//想利用ioctl 將資料傳送到驅動程式的data裡面
ioctl(devfp,AAA,&BB,16);
但是執行後,把data[]裡面的值輸出,卻不是我要的
請問哪邊有錯呢?
我懷疑是ioctl那邊有錯,但又不知道哪邊
請高手指點一下吧,THX@@
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.120.108.99
推 yhuiyang:user space的ioctl(2),int ioctl(int d,int request,...) 03/29 23:29
→ yhuiyang:確認bbb是你要的request operation... 03/29 23:30
是AAA文章打錯了。
※ 編輯: fish39 來自: 140.120.108.99 (03/29 23:33)