色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > Linux字符設備驅動模型之Linux內核模塊參數

Linux字符設備驅動模型之Linux內核模塊參數 時間:2017-11-06      來源:未知

在Linux內核驅動中,難免的兩個內核模塊之間具有依賴關系,他們或許是通過進行某種傳參,獲取進行函數之間的調用。因為每一個模塊在Linux系統Kernel中是相對獨立的,所以Linux內核驅動模塊之間進行通信就不能直接使用函數調用等方式了。

一、Linux內核模塊參數

在上文中已經給出了一個簡單的Linux內核驅動模塊的模板了。那么我們在這個模板上進行添加代碼。



       

如上圖所示即為所使用代碼。定義全局變量static int  a和static char *str。在Linux內核中使用宏module_param聲明這兩個參數作為內核參數進行傳遞。宏module_param的三個參數分別代表參數變量本身、變量的類型和此參數的使用權限。后當內核模塊插入成功,同樣在static int __init hello_init(void)函數中將這兩個參數進行打印。

將其編譯生成Linux內核驅動文件hello_driver.ko。將其拷貝到板卡根文件系統中。后使用命令insmod hello_driver.ko裝載驅動模塊hello_driver。如下圖:

如上圖,當驅動模塊裝載成功后,會有相應的打印輸出,但這并未體現出Linux內核模塊參數的特點。

 

二、Linux內核模塊參數之間的通信

實際上Linux內核模塊參數的特性應該體現在內核驅動模塊之間的通信或者調用。現在將實現兩個Linux內核驅動模塊,然后進行調用。

模塊一:文件名-----add_sub_driver.c和add_sub_driver.h

add_sub_driver.c

如上圖即為add_sub_driver.c驅動模塊的代碼,其所做的事非常簡單,實現兩個參數之間的和(int add_int(int i, int j))和差(int sub_int(int i, int j))。后通過EXPORT_SYMBOL模塊導出符將相應的函數導入到內核符號表中,可供Linux內核其他驅動模塊進行調用。

add_sub_driver.h文件:

模塊二:文件名-----hello_driver.c和add_sub_driver.h

hello_driver.c文件:

hello_driver.c文件Demo是在上一個實驗上擴展的,如下圖:



       

如上圖,定義兩個全局變量,通過宏module_param聲明其為內核模塊參數傳遞,后通過在hello_driver內核模塊加載時進行調用add_sub_driver內核模塊的實現方法函數,兩個變量作為參數傳遞。實現兩個Linux內核模塊之間的通信。后使用printk將調試信息打印。

編譯管理工具Makefile:

如上圖為編譯所使用的Makefile文件。其可以同時編譯出hello_driver內核模塊hello_driver.ko和add_sub_driver內核模塊add_sub_driver.ko。

三、Linux內核模塊通信驗證

將編譯生成的hello_driver.ko和add_sub_driver.ko文件拷貝到板卡根文件系統中。然后相序插入內核模塊。

方式一:先加載hello_driver.ko后加載add_sub_driver.ko

如上圖可知,當先加載hello_driver.ko時,加載失敗,報錯:不能插入hello_driver.ko,其中包含有無效的參數。

方式二:先加載add_sub_driver.ko后加載hello_driver.ko

如上圖可知,當先加載add_sub_driver.ko后加載hello_driver.ko時,直接加載成功。原因是add_sub_driver.ko驅動模塊中存在hello_driver.ko驅動模塊加載時所做運算的運算方法函數。當add_sub_driver.ko模塊沒有被加載時,加載hello_driver.ko會在不到實現運算的方法,所以加載失敗。

上一篇:Python 網絡爬蟲

下一篇:串口基本原理

熱點文章推薦
華清學員就業榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,京ICP備16055225號-5京公海網安備11010802025203號

回到頂部

色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区
主站蜘蛛池模板: 亚洲免费高清视频| 亚洲激情视频在线播放| 国产欧美精品在线播放| 日韩精品在线观看网站| 欧美成人精品在线观看| 欧美在线视频免费| 亚洲成人亚洲激情| 久久成年人视频| 国产美女搞久久| 久久久精品中文字幕| 国产精品电影在线观看| 在线播放国产一区中文字幕剧情欧美| 欧美精品18videos性欧| 亚洲综合视频1区| 欧美性黄网官网| 亚洲成人黄色在线观看| 欧美肥老太性生活视频| 亚洲国产天堂久久国产91| 精品久久久久久久久久国产| 成人免费在线视频网站| 精品欧美激情精品一区| 亚洲国产精品一区二区久| 日韩欧美亚洲成人| 精品性高朝久久久久久久| 性色av一区二区三区免费| 国产一区二区黄| 国产精品国产三级国产aⅴ浪潮 | 欧美在线视频免费观看| 国产亚洲精品综合一区91| 日韩免费电影在线观看| 日韩在线观看免费| 国产欧美在线观看| 欧美激情喷水视频| 亚洲日韩中文字幕在线播放| 国产成人激情小视频| 欧美日产国产成人免费图片| 亚洲国产古装精品网站| 欧美综合在线第二页| 不卡av在线网站| 亚洲美女www午夜| 国产色视频一区|