看板 LinuxDev 關於我們 聯絡資訊
首先 在驅動程式方面 #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)