2012-02-14 28 views
2

我是Linux內核編程的新手。我寫了一個簡單的內核模塊和char設備。我定義了設備的open(),release(),read()和write()方法。我用insmod初始化我的模塊,然後用rmmod移除它,所有工作都正確。現在我想檢查一下設備的read()write()方法。你能告訴我如何編寫一個應該實現我的char設備的讀/寫方法的用戶程序嗎?謝謝。檢查LINUX中簡單的字符設備讀/寫功能

回答

3

當你有一個字符設備,你要檢查你的readwrite系統調用的實現,你可以做的第一個測試是:

  • 寫與echo shell命令:echo 42 > /dev/char_device
  • 與閱讀cat命令或指定的字節數與head命令(或dd)並轉換爲十六進制,如有必要用od -xhead -8 /dev/char_device | od -x

現在用C寫一個程序,只需用fopen打開文件,用freadfwrite來讀寫數據;您還可以使用readwrite系統調用,但freadfwrite是標準C庫函數,它們包裝爲readwrite

3

如果尚未自動創建,則必須在/dev中創建設備文件。然後,您可以編寫一個打開並讀取/寫入該文件的程序。