linux-device-driver

    0熱度

    1回答

    當我嘗試-finstrument-functions-exclude-file-list=arch/arm/boot/dts/並編譯內核時,__cyg_profile_func_enter和__cyg_profile_func_exit沒有被調用任何函數。正常-finstrument-functions正常工作。我的海灣合作委員會版本是4.8.4

    0熱度

    1回答

    什麼是 「電流 - > PID」 版畫低於2的情況下 1)硬中斷上下文 2)軟IRQ背景 我知道IRQ背景和過程的情況下,上下文不同,並且在IRQ上下文情況下,PID必須無效。但是當試圖在IRQ上下文中打印「current-> pid」時,它正在打印一些有效的PID,因此產生了疑問。 請說明。 謝謝, Gopinath。

    0熱度

    1回答

    我試圖瞭解關於Linux內核4.4編解碼器驅動程序代碼。編解碼器使用i2c總線連接到聲卡,並將編解碼器驅動程序代碼編寫爲I2C客戶端。客戶的結構i2c_driver包含i2c_device_id信息和of_device_id信息。當兼容串結構的of_device_id比賽與兼容串的設備節點信息 現在按照我的理解客戶的探測功能將被調用。那麼有什麼用struct i2c_device_id? 注:編解

    0熱度

    1回答

    我需要弄清楚Linux內核的start_kernel函數中調用的時間函數。 爲什麼這是一個問題,因爲如果我在同一個函數內的timekeeping_init()函數調用之前放入一個ktime_get()函數調用,內核就不會啓動。 在我的設置中,我認爲最有可能的內核在mm_init()內花了很多時間。但由於上述提及問題,我無法驗證。 有關如何解決此問題的任何想法? 感謝。

    1熱度

    1回答

    我在Linux內核的start_kernel函數中添加了一些打印語句來打印jiffies值。印刷報表均勻分佈。 當系統啓動並檢出打印值時,它們都是相同的值(4294937296)。 所以,我的問題是jiffies的價值多久更新一次?

    0熱度

    2回答

    我想編寫虛擬ALSA兼容驅動程序作爲可加載內核模塊。當通過ALSA-lib通過aplay/arecord訪問它時,假設它必須像通常的7.1聲道音頻設備一樣提供所有基本控制 - 採樣率,通道數量,格式等... 下面會只需從音頻流中獲取每個通道,並將其作爲UDP數據包流通過網絡發送。 它必須能夠被加載多次,並且最終它會暴露多達/ dev下的音頻設備。這樣我們就可以在系統中有多個虛擬聲卡。 這種內核模塊

    0熱度

    3回答

    一般來說,桌面有兩種CPU高速緩存以加快內存訪問速度。 1)指令緩存 - >加速可執行指令。 2)數據緩存 - >加快數據的獲取和存儲。 根據我的理解,指令緩存操作程序的代碼段,數據緩存操作程序的數據段。這是正確的嗎? 從堆分配的內存沒有緩存優勢嗎?數據緩存中是否覆蓋了堆內存訪問?

    1熱度

    1回答

    任何人都可以解釋一個linux字符驅動程序和提供它的相應組件所涉及的接口嗎?

    1熱度

    1回答

    當我嘗試打印linux-3.10內核和x86板的minicom中的某個函數名時,我在minicom的每一行中都會得到額外的空格。我用minicom打開了換行,但存在相同的問題。 ARM板不會發生這種情況。它在ARM板中正確打印。 x86_64_start_kernel() reset_early_page_tables() 該代碼用於在邊框上打印每個名稱。是否有任何設置要在min

    2熱度

    1回答

    我正在爲linux編寫一個塊設備驅動程序。 支持不安全刪除是非常重要的(例如拔掉usb)。換句話說,即使應用程序在我的設備上保存打開的文件或執行IO或者文件系統掛載了應用程序,我也希望能夠關閉塊設備而不會造成內存泄漏/崩潰。 當然,不安全的移除可能會破壞存儲在設備上的數據,但這是客戶願意接受的。 下面是基本步驟我做: 在不安全取出,塊設備產生一個殭屍,它會自動失敗的所有新的IO請求,讀寫控制等殭屍