linux-device-driver

    3熱度

    2回答

    我現在正在學習編程驅動程序。 我從這本書Linux Device Drivers 做我的學習,但我有點缺乏實踐。你能推薦一些我可以開始使用的簡單項目嗎? 或者一些開源項目,新手可以理解發生了什麼。 其他示例和教程將受到歡迎。 感謝您的幫助。

    0熱度

    1回答

    註冊功能以下我從my previous question on Linux Kernel development得到了反饋, 我已經通過它與現有的驅動器和「比較寫的驅動程序(在Linux的內核v2.6.32)借用「嚴重的代碼。司機登記沒問題。 init()和probe()工作正常。我也能夠訪問外圍設備寄存器。 :-) 不過我對IRQ/ISR有點朦朧。外設是一個輸入設備,並在GPIO引腳上產生一箇中

    0熱度

    2回答

    如果我鍵入ifconfig我得到數據包的Tx和RX ...哪裏恰恰是增加這個計數器的代碼片? 它是否在網絡驅動程序本身?或者在內核中? 如果可能請提供所用計數器變量的lxr鏈接。 Thx!

    2熱度

    4回答

    我正在寫一個linux驅動程序,我想註冊一個回調函數,當系統進入睡眠狀態時被調用。什麼是這樣做? 謝謝。

    6熱度

    4回答

    我已經寫爲Linux內核的虛設(RAM盤)塊設備驅動程序。 加載驅動程序時,我可以將其視爲/ dev/mybd。 我可以用dd命令成功傳送數據到其上,比較所複製的數據成功地 。 問題是,當我在它上面創建ext2/3文件系統時,我必須使用-o循環 選項和mount命令。否則,安裝失敗,結果如下: 掛載:錯誤的財政司司長類型,壞的選擇,在mybd壞的超級, 缺失的代碼頁或輔助程序或其他錯誤 可能是什麼

    7熱度

    2回答

    我有一個Linux設備驅動程序,該設備驅動程序與理論上可以使用64位地址執行DMA的設備進行接口連接。我想測試,看看這實際上工作。 有沒有一種簡單的方法可以強制Linux機器不使用物理地址4G以下的任何內存?如果內核映像處於低內存狀態,則可以;我只是希望能夠強制一種情況,即我知道所有動態分配的緩衝區,並且爲我分配的任何內核或用戶緩衝區都不能在32位中尋址。這是一個小小的蠻力,但比我能想到的其他任何

    5熱度

    4回答

    我想寫一個linux塊設備驅動程序。驅動程序不需要訪問硬件,因此它可以在用戶空間中。 要開始,我試圖建立an example block device driver用這個Makefile: obj-m = sbd.o KVERSION = $(shell pwd) PWD = $(shell pwd) all: make -C /lib/modules/$(KVERSION)/b

    0熱度

    1回答

    我之前發佈了查詢,我重複了同樣的操作我想修改內核2.6中內置的igmpv3(Linux)使得它從文件讀取一個值,並適當地決定主機發送的igmpv3數據包內的保留(res 1)值。 我想添加更多的上述問題,說這更多的是從用戶空間更改內核空間的變量的一般性問題。 要一個ctuffli答覆說: 從用戶空間程序的角度來看,你應該把驅動程序作爲一個「黑盒子」具有明確的接口,而不是代碼變量,你要更改。使用這個

    2熱度

    2回答

    我正在AT91SAM9263開發板上進行嵌入式開發,並遇到一個奇怪的問題。它正在運行Debian Linux內核2.6.18.4,並使用arm-linux-gcc 3.4.6進行交叉編譯,並使用uClibc-0.9.28作爲C庫。我正在調試一個內核設備驅動程序,並且一個特定的函數沒有出現在System.map文件中。可以理解的是,我可以不在它上面設置一個斷點。奇怪的是,如果我闖入它的調用函數,我不

    2熱度

    2回答

    第一次張貼,所以請原諒任何愚蠢。 我正在爲從2.6.22到2.6.26爲MPC83xx構建的Linux內核上移植定製CPLD驅動程序,並且正在接收意外的Oops。該驅動程序對.22內核工作正常,但在我對request_irq的調用中,.26內核窒息。有人知道爲什麼行爲發生了變化,或者更好,我需要做些什麼來解決它? 我的哎呀來源追查到調用內核/ IRQ/manage.c,其中desc->chip->