[問題] block type driver利用kmalloc

看板LinuxDev作者 (醒醒吧!!宅宅)時間18年前 (2007/03/29 23:08), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串1/2 (看更多)
首先 在驅動程式方面 #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

03/29 23:29, , 1F
user space的ioctl(2),int ioctl(int d,int request,...)
03/29 23:29, 1F

03/29 23:30, , 2F
確認bbb是你要的request operation...
03/29 23:30, 2F
是AAA文章打錯了。 ※ 編輯: fish39 來自: 140.120.108.99 (03/29 23:33)
文章代碼(AID): #162zQ1J4 (LinuxDev)
文章代碼(AID): #162zQ1J4 (LinuxDev)