linux-device-driver

    -1熱度

    1回答

    運行Linux的一個sbc。我正在運行這個委員會致力於機器人大腦的項目。我打算讓一個守護進程監聽按鈕事件。當按下按鈕時,用戶程序將被觸發。該程序將加載一些驅動程序,如電機驅動器,傳感器......或者觸發程序更適合模塊本身?有沒有比這更好的方法?請提供你的論點。

    1熱度

    1回答

    我在64位linux主機上使用64位PCI express卡,問題是它是酒吧是64位,但總是得到一個地址在32位位地址範圍,即BAR的高32位始終爲零。 如何強制使用真正的64位地址?我試圖通過重寫BIOS枚舉來強制執行它,並將啓動時參數指向內核,以便內核可枚舉PCI設備,但結果與BIOS相同。 Linux不支持真正的64位地址嗎?

    0熱度

    2回答

    我有一個設備驅動程序,它允許用戶空間應用程序使用ioctl機制執行各種操作。作爲初始ioctl調用的一部分返回的是對應用程序在其他ioctl調用中提供的用戶空間應用程序應該不透明的句柄。 在驅動程序內部,句柄是內核空間中某個控制/上下文塊的地址。如果可以信任該應用程序來忠實地回傳處理,那麼一切都很好。值得關注的是,如果應用程序是惡意的並且傳回一些驅動程序然後將其轉換爲適當的指針類型並取消引用它的任

    1熱度

    1回答

    正如我所經歷的中斷處理在Linux中,我有這個問題,如果我們可以參考當前的宏觀指向被中斷的任務,而其核心是在硬irq模式? 另外,如果這個參考是可能的,如果我們打電話給信號量「down」,雖然這是非常灰心的。

    3熱度

    1回答

    我有一個問題讓我困惑了一個星期。我希望有人能幫助我。 我寫了一個簡單的char設備模塊,insmod它給內核和mknod一個char文件在/dev下。我可以在insmod之後通過cat /proc/devices看到它。但是當我打開這個char設備文件時出現錯誤。 我的字符設備的代碼是: #include <linux/module.h> #include <linux/types.h> #i

    0熱度

    2回答

    我正在使用Linux平臺上的USB HID。鍵盤,鼠標等是人機界面設備的例子。無論何時將HID插入系統,首先都會發生設備枚舉。然後,hidraw形式的條目出現在/ dev目錄中。 在linux中,「USBHID藏」是一個HID設備被插入時,其被稱爲模塊。當我禁用這些模塊(使用rmmod和系統重啓)時,設備未被枚舉,並且/ dev上沒有出現hidraw條目(如預期的那樣)。 現在的問題是沒有什麼辦法

    0熱度

    1回答

    我想獲取名稱USB模塊,因爲我想阻止在Android 中加載USB模塊,我正在使用lsmod獲取可加載模塊的列表,並顯示以下內容輸出 # lsmod lsmod bcm4329 204281 0 - Live 0xbf09e000 vpnclient 62940 1 - Live 0xbf000000 ,但我怎麼能知道這是USB模塊從上述2 請幫助!

    0熱度

    1回答

    我想在struct net_device_ops上添加一個新的操作,但在這種類型的事情中我是一個真正的新手,我有點擔心從一開始就錯誤地採用。 我加了OPS是這樣的: static const struct net_device_ops wl_netdev_ops = { /* The other operations.. .ndo_clear_stats = clear_stats };

    3熱度

    1回答

    我希望能夠確保我不會意外地將任何專有模塊靜態鏈接到內核中。如果未定義MODULE,我正考慮在編譯時MODULE_LICENSE("Proprietary")失敗。 (或者甚至更好,如果MODULE_LICENSE("GPL")未被定義則失敗...)。 但我找不到一個好的方法來比較宏中的字符串 - 任何人都有這個好的解決方案嗎?

    11熱度

    3回答

    假設緩衝區是使用基於頁面的方案分配的。實現mmap的一種方法是使用remap_pfn_range,但LDD3說這對傳統內存不起作用。看來我們可以通過使用SetPageReserved標記保留的頁面來解決這個問題,以便它在內存中被鎖定。但是,並非所有的內核內存已經不可交換,即已經保留了嗎?爲什麼需要明確設置保留位? 這是否與從HIGH_MEM分配的頁面有關?