j'ai écrit un pilote de périphérique de Linux et mis en œuvre la fonction DEVICE_WRITE comme ceci:sur la fonction d'écriture dans le pilote de périphérique Linux
static int device_write(struct file* file,const char* buff,int count, loff * offp)
{
//some implementation
printk("write value %x to card\n",value);
//some implementation
}
je aussi mettre en œuvre la fonction device_read et un printk d'imprimer certaines informations qu'il contient. Le problème est que lorsque j'utilise read (fd, buff, 1) dans le programme d'application, le résultat printk est affiché mais lorsque j'utilise write (fd, buff, 1), il n'y a pas de résultat printk. La fonction device_write ne peut pas être appelée .Qu'est-ce qui peut causer ce problème? Est-ce que quelqu'un a déjà rencontré ce genre de problème? Quelqu'un peut-il me donner de l'aide et des suggestions?
http://freshmeat.net/projects/dtrace-for-linux? – nmichaels
Nous avons besoin de beaucoup plus d'informations. Quelle est la valeur? Pourquoi pensez-vous que l'écriture n'est pas appelée? Vous n'avez rien de tel dans votre question, ce code n'est même pas compilable. – Falmarri