linux-device-driver

    0熱度

    1回答

    我正在構建一個「外部」模塊(設備驅動程序),即它不在Linux內核源代碼樹中,但是在單獨的無關的源碼樹。 我想使用ctags來瀏覽通過頭文件從內核拉入的變量/函數聲明和定義。 比如假設我有: ~/src/kernel-source ~/src/my_external_module ,我已經運行make tags爲內核的話,我怎麼可以運行的ctags對我的模塊,這樣它會拿起從什麼實際上是一個獨

    2熱度

    3回答

    我有一個編譯和加載到Linux內核的驅動程序就好了。在這個驅動程序中有一些函數,我想從內核文件'fs/readdir.c'中訪問。 此外,如何測試驅動程序是否已加載? 我需要類似下面的內容。 if(myDriver is loaded){ myDriver.functionCall(); } 我在互聯網搜索中找到的所有例子都是從用戶空間應用程序中完成的。

    1熱度

    2回答

    我正在編寫內核模塊,需要執行從現有塊設備的讀取操作。 (的/ dev /東西)。 有沒有人知道任何其他模塊,這些我可以用作參考? 任何指針將受到歡迎 (Linux.2.6.30)

    3熱度

    2回答

    根據LWN上的the list of API changes in the 2.6 kernel series,.owner字段的struct proc_dir_entry在2.6.30內核中被刪除。 所以這裏有幾個問題: 是不是真的曾經有必要或有益的設置這個領域? 該字段是剛剛被移動到其他地方,或永久刪除? 我問第一個問題,因爲雖然從內核文檔the LKMPG set's this field

    3熱度

    1回答

    我最新的微處理器(飛思卡爾iMX233)有8個硬件疊加加內置的YUV到RGB轉換功能。他們通過v4l2驅動程序公開了這些功能。 v4l2 Documentation並沒有說如何使用它。是否有任何教程可用或任何可用於學習v4l2 apis的參考代碼?

    16熱度

    1回答

    我在讀LKMPG(See Section 4.1.4. Unregistering A Device),我不清楚何時使用try_module_get/module_put函數。一些LKMPG的例子使用它們,有些則不。 爲了增加混淆,try_module_get在2.6.24源文件中的193個文件中出現了282次,而在Linux Device Drivers (LDD3)和Essential Lin

    0熱度

    1回答

    我試圖編譯linux內核,但得到一些錯誤。 在運行頂層Makefile我收到以下錯誤: - CHK include/linux/version.h CHK include/linux/utsrelease.h SYMLINK include/asm -> include/asm-x86 HOSTCC scripts/selinux/mdp/mdp scripts

    12熱度

    4回答

    我正在尋找一個內核模式調用,我可以從驅動程序,用戶空間實用程序或系統調用中調用內核模式調用,它會要求內核查看PCI總線並完全重新運行其初始化或初始化一個特定的設備。具體來說,我需要內核識別引導後添加到總線的設備,然後配置其地址空間,中斷和其他配置參數,最後啓用設備,以便我可以爲它加載驅動程序(除非這一切作爲驅動程序負載的一部分發生)。 我卡上的2.4.x系列的內核對於這一點,和我目前正在與2.4.

    1熱度

    1回答

    在某些PCI硬件的設備驅動程序中,我有一個ioctl調用,它等待PCI總線上的傳入中斷。使用wait_queue_head_t,我通過撥打schedule()讓任務進入睡眠狀態。 然後,irq_handler函數在PCI總線上產生中斷時喚醒此任務。一切似乎正常工作。 我的問題是如何區分schedule()呼叫是因爲我的irq_handler函數喚醒它還是因爲某些信號已被髮送而返回? 我必須自己處理

    3熱度

    1回答

    我已經實現了一個字符設備,我想問一下如果這是正確的: 在用戶空間我和兩個指針的結構體。 我write這個結構到我的設備。 在我的write函數中char器件我copy_from_user這個結構成kmalloced空間。 在此之後,我在KS,並得到2美國指針,所以我想copy_from_user每個。我是否允許通過使用此複製的地址在第一個copy_from_user後執行此操作?他們指向美國申請中