PCI裝置驅動切換方法
在linux系統中,有時會為同一類裝置同時載入多個驅動,用於測試或者不同使用方式。例如做資料報文處理的伺服器上可能會同時載入普通的網絡卡驅動和DPDK的igb_uio驅動來使用通訊網絡卡和資料處理卡。
在這種情況下,需要一種方式能夠讓指定裝置在多個驅動間切換,從而實現同類裝置使用不同驅動的目的。linux為PCI裝置驅動預留了sys檔案系統介面來實現這個功能。方法如下:
echo "0000:02:00.0" >> /sys/bus/pci/driver/XXX/unbind
echo "0000:02:00.0" >> /sys/bus/pci/driver/YYY/bind
通過上述命令,就可以把PCI匯流排地址為0000:02:00.0的PCI裝置使用的驅動從XXX切換為YYY。
相關推薦
PCI裝置驅動切換方法
在linux系統中,有時會為同一類裝置同時載入多個驅動,用於測試或者不同使用方式。例如做資料報文處理的伺服器上可能會同時載入普通的網絡卡驅動和DPDK的igb_uio驅動來使用通訊網絡卡和資料處理卡。 在這種情況下,需要一種方式能夠讓指定裝置在多個驅動間切換,從而實現同類裝
DELL_R820伺服器安裝 server2008 R2x64缺少所需的CDDVD驅動器裝置驅動解決方法
DELL_R820伺服器安裝 server2008 R2x64缺少所需的CDDVD驅動器裝置驅動解決方法 1、下載raid driver驅動 https://download.csdn.net/download/zlj3515/10832230 2、開啟U盤將raid driver驅動複
淺談Linux PCI裝置驅動
轉自 http://www.uml.org.cn/embeded/201205152.asp 淺談Linux PCI裝置驅動(一) 要弄清楚Linux PCI裝置驅動,首先要明白,所謂的Linux
PCI裝置驅動之裝置
四、PCI裝置的列舉探測過程 在核心啟動過程中,PCI裝置的探測過程是完全自動的,核心已經整合好了方法,我們無需更改,在這裡還是分析一邊程式碼作為了解。 分析之前,先看一下全部的函式呼叫關係,大致瞭解一下 pci_arch_init /* 判斷host/pci
PCI裝置驅動程式
一、PCI裝置驅動編寫 PCI匯流排是現在非常流行的計算機匯流排,學會它的驅動設計方法很重要。相信曾經想學習PCI匯流排驅動的人有這麼一個經歷,就是去看那些講解PCI匯流排驅動的書籍和資料的時候,會被裡面繁雜的內容所擊敗,又是什麼配置空間又是什麼列舉的,還沒開
Linux系統I2C裝置驅動編寫方法
硬體平臺:飛思卡爾IMX6 核心版本:kernel3.0.35 Linux的I2C子系統分為三層,I2C核心層,I2C匯流排驅動層和I2C裝置驅動層。I2C核心層由核心開發者提供,I2C匯流排驅動層有晶片廠商提供,而I2C裝置驅動層由於裝置的差異性,就只能是具體的開發需求
Linux下PCI裝置驅動程式開發基本框架
PCI是一種廣泛採用的匯流排標準,它提供了許多優於其它匯流排標準(如EISA)的新特性,目前已經成為計算機系統中應用最為廣泛,並且最為通用的匯流排標準。Linux的核心能較好地支援PCI匯流排,本文以Intel 386體系結構為主,探討了在Linux下開發PCI裝置驅動程式的基本框架。 一、PCI匯流排
淺談Linux PCI裝置驅動(下)
我們在 淺談Linux PCI裝置驅動(上)中(以下簡稱 淺談(一) )介紹了PCI的配置暫存器組,而Linux PCI初始化就是使用了這些暫存器來進行的。後面我們會舉個例子來說明Linux PCI裝置驅動的主要工作內容(不是全部內容),這裡只做文字性的介紹而不會涉及具體程式碼的分析,因為要
淺談Linux PCI裝置驅動(上)
有學員建議寫寫PCI驅動,今天就找到一篇,文章很長,這基本上是全網對PCI講的比較詳細的部落格了,分成上下兩篇,這是上部分,未完待續。 要弄清楚Linux PCI裝置驅動,首先要明白,所謂的Linux PCI裝置驅動實際包括Linux PCI裝置驅動和裝置本身驅動兩部分。 不知道讀者
PCI子系統(三)- PCI裝置驅動
這裡拿linux/drivers/leds/leds-ss4200.c來做模板參考學習 註冊struct pci_driver static struct pci_driver nas_gpio_pci_driver = { .name = KBUILD_M
Linux下的PCI裝置驅動自動載入問題MODULE_DEVICE_TABLE
以前做驅動時,一般將驅動複製到/lib/modules/$(uname -r)/kernel/driver/目錄後,執行depmod都可以自動載入,但是客戶反映公司一款驅動無法自動載入。後經過與其它版本程式碼對比,才發現是MODULE_DEVICE_TABLE沒有設定引起的
PCI裝置驅動
為了能看到實際的執行效果,我們選擇8139too網絡卡作為示例,從該網絡卡的linux驅動程式中裁剪相關程式碼。 一個PCI裝置的驅動程式必須要向核心中的PCI核心描述自己。同時,它也必須告訴PCI核心自己能夠驅動哪些裝置。下面,就介紹兩個相關的重要資料結構。 struct pci_devic
淺談Linux PCI裝置驅動(二)
我們在 淺談Linux PCI裝置驅動(一)中(以下簡稱 淺談(一) )介紹了PCI的配置暫存器組,而Linux PCI初始化就是使用了這些暫存器來進行的。後面我們會舉個例子來說明Linux PCI裝置驅動的主要工作內容(不是全部內容),這裡只做文字性的介紹而不會涉及具體程
Linux字元裝置驅動註冊三種方法以及核心分析
Linux驅動是使用者訪問底層硬體的橋樑,驅動有可以簡單分成三類:字元裝置、塊裝置、網路裝置。其中最多的是字元裝置,其中字元裝置的註冊方法主要有三種:雜項設備註冊、早期字元設備註冊、標準字元設備註冊。以及詳細介紹各類方法註冊。 開發環境: PC:WMwork
小米2不能連電腦 XP系統無法安裝MTP裝置驅動的終極解決方法
小米2剛到貨,用電腦訪問SD卡,抓心撓肝的捅咕了2天,終於把我的XP系統驅動了MTP, @. D2 w) n5 _& M, w2 j9 p; U- ] 悲催的Android,悲催的小米2,悲催的小米客服(鄙視之,什麼也解決不了)。' n7 S |& Y4
15 核心裡leds-gpio裝置驅動的裝置樹方法
在linux核心裡已提供了連線到gpio的led裝置驅動,只需要通過platform_device或裝置提供相應的硬體資源即可. 使用platform_device方法可參考: http://blog.csdn.net/jklinux/article/deta
PCI驅動基礎 >> Linux裝置驅動程式
俗話說的好,免費是最貴,閒暇是最累的,但是我自己選的路就要負責走完; 壓力一天比一天重,當學習了理論卻不知道該如何輸出的時候,會有一種油然而生的挫敗感; 看來必須得調整自己的心態還是要調整學習方法,如何才能用最好狀態去接受新的知識; 文章目錄 [0x1
linux裝置驅動學習筆記--核心除錯方法之printk
1,printk類似於使用者態的printf函式,但是比printf函式多了一個日誌級別,核心中最常見的日誌輸出都是通過呼叫printk來實現的,其列印級別有8種可能的記錄字串, 在標頭檔案 <linux/kernel.h> 裡定義: KERN_EMERG
linux裝置驅動第四篇:從如何定位oops的程式碼行談驅動除錯方法
上一篇我們大概聊瞭如何寫一個簡單的字元裝置驅動,我們不是神,寫程式碼肯定會出現問題,我們需要在編寫程式碼的過程中不斷除錯。在普通的c應用程式中,我們經常使用printf來輸出資訊,或者使用gdb來除錯程式,那麼驅動程式如何除錯呢?我們知道在除錯程式時經常遇到的問題就是野指標
linux裝置驅動學習筆記--核心除錯方法之proc(補充seq_file)
上一節中的proc實現對於開關檔案,控制檔案,以及顯示很少資訊的檔案來說還是比較簡單的,但是對於需要輸出大量資訊像meminfo,或者結構化的資訊像cpuinfo等時就會顯得很笨拙,並且程式碼也很不好理解與維護。核心為了簡化這種proc檔案的實現提供了另外一種方案----s