好的,所以我正在为硬件分配编程,但可以使用一些帮助或见解。我知道我到处都读到你不应该在模块中打开文件,但是我们的任务......
无论如何我的模块代码在这里:http://pastebin.com/LU8hWraL
我的用户级代码在这里:http://pastebin.com/RC0Zk1kQ
好吧,我的问题是它有时会起作用,有时它不会...大多数时候它不起作用,它会在内核中循环,我不明白导致问题的原因以及我如何解决它。任何有关这种情况的帮助都会令人难以置信,我只是不得不经常关闭并重启我的VM而感到沮丧。
即使有人告诉我如何在我的VM循环时找到错误......?
首先,您可能想要使用kernel_read()
而不要自己做这些事情。
这里可能有两个问题
&filpRead->f_pos
作为read
和write
的参数,这是供内核内部使用的。因为我已经看过内核编程,所以从很久以前开始,只需要一点点盐。