日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 嵌入式硬件
[導讀]Linux下的驅動程序也沒有聽上去的那么難實現(xiàn),我們可以看一下helloworld這個例子就完全可以了解它的編寫的方式!我們還是先看一個這個例子,helloworld[1].[代碼] helloworl

Linux下的驅動程序也沒有聽上去的那么難實現(xiàn),我們可以看一下helloworld這個例子就完全可以了解它的編寫的方式!

我們還是先看一個這個例子,helloworld

[1].[代碼] helloworld.c

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <linux/module.h>//與module相關的信息
 
#include <linux/kernel.h>
#include <linux/init.h>      //與init相關的函數(shù)
 
static int __init hellokernel_init(void)
{
        printk(KERN_INFO "Hello kernel!\n");
        return 0;
}
 
static void __exit hellokernel_exit(void)
{
        printk(KERN_INFO "Exit kernel!\n");
}
 
 
module_init(hellokernel_init);
module_exit(hellokernel_exit);
 
 
MODULE_LICENSE("GPL");
MODULE_AUTHOR("xxxx");

[2].[代碼] Makefile

1
2
3
4
5
6
7
8
9
obj-m := helloworld.o
 
PWD       := $(shell pwd)
 
all:
        make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
 
clean:
        rm -rf *.o *~ core .*.cmd *.mod.c ./tmp_version

[3].[代碼] 執(zhí)行與運行結果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
3)執(zhí)行make
 
編譯成功之后會生成相應有ko文件,也就是我們想要的驅動了
 
4)驅動程序的相關操作
 
      a)查看ko模塊的信息 modinfo
 
      b)插入模塊 insmod helloworld.ko
 
      c)卸載模塊 rmmod helloworld
 
      d)還有一個modprobe功能,以后介紹!
 
5)查看驅動的打印信息
 
      使用dmesg可以查看在驅動的相關打印信息!
 
       現(xiàn)在有例子是會有如下的打印內容:
 
---------------------log start----------------------------
 
[27520.195551] Exit kernel!
[27948.531569] Hello kernel!
 
---------------------log end----------------------------
本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關閉