zoukankan      html  css  js  c++  java
  • Linux驱动开发最简Sample

    0.安装相应软件包(笔者使用VMWare + Ubuntu18.04.1,amd64)、内核头文件等,忽略。

    1.编写驱动程序代码(hello.c):

    #include <linux/init.h> 
    #include <linux/module.h> 
    #include <linux/kernel.h> 
     
    MODULE_LICENSE("Dual BSD/GPL"); 
      
    static int hello_init(void)  { 
        printk(KERN_ALERT "hello,I am areful
    "); 
        return 0; 
    }
    
    static void hello_exit(void)  { 
        printk(KERN_ALERT "goodbye,kernel
    "); 
    } 
     
    module_init(hello_init); 
    module_exit(hello_exit); 
     
    MODULE_AUTHOR("Areful"); 
    MODULE_DESCRIPTION("This is a simple example!
    "); 
    MODULE_ALIAS("A simplest example");
    

      

    2.编写Makefile文件:

    obj-m := hello.o
    KERNELBUILD :=/lib/modules/$(shell uname -r)/build
    all: 
    	make -C $(KERNELBUILD) M=$(shell pwd) modules
    clean: rm -rf *.o *.ko *.mod.c .*.cmd *.markers *.order *.symvers .tmp_versions
    

    3.编译(命令行运行make):

    make
    

      

    4.安装驱动模块:

    sudo insmod hello.ko
    

      

    5.卸载驱动模块:

    sudo rmmod hello.ko
    

      

    6.查看系统日志:

    dmesg | tail -5
    

      

    输出如下:

  • 相关阅读:
    用require.js封装原生js轮播图
    最全状态码
    常用DOM结构方法总结
    CSS浮动、绝对、相对定位
    盒模型
    构造函数、原型和实例的关系
    Android测试网络是否连接
    Android第一天
    JQuery图片切换动画效果
    Hibernate增删查改语句
  • 原文地址:https://www.cnblogs.com/areful/p/10381600.html
Copyright © 2011-2022 走看看