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

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > 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號

回到頂部

色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区
主站蜘蛛池模板: 久久激情视频免费观看| 欧美黑人xxx| 亚洲韩国欧洲国产日产av| 国产欧美精品一区二区| 国产精品69av| 国产精品美女久久久久av超清| 国产精品国产三级国产aⅴ浪潮| 热re91久久精品国99热蜜臀| 国产不卡av在线| 91精品在线影院| 亚洲国内精品视频| 国产午夜精品美女视频明星a级| 亚洲网站视频福利| 久久夜色精品亚洲噜噜国产mv| 黄色精品一区二区| 91精品国产91| 国产精品自拍偷拍| 亚洲精品视频播放| 超薄丝袜一区二区| 午夜精品理论片| 91久久久久久久久| 欲色天天网综合久久| 精品久久久视频| 国产99久久精品一区二区永久免费| 国产精品人人做人人爽| 日韩精品在线观看网站| 日韩视频在线观看免费| 久久免费观看视频| 国产精品嫩草视频| 国产一区二区日韩| 亚洲2020天天堂在线观看| 亚洲福利精品在线| 精品国产福利视频| 国产精品日韩在线观看| 亚洲免费一级电影| 欧美激情一二三| 亚洲国产精品人久久电影| 欧美成人免费在线视频| 国产精品久久av| 夜夜嗨av一区二区三区四区 | 国产成人精品视|