zoukankan      html  css  js  c++  java
  • My First Linux Module

    My First Linux Module

    Today, I successfully build my first linux hello module.

    First of all add a directory named hello in the kernel/driver, and add a file hello.c, write codes like bellow:

    #include <linux/init.h>
    #include <linux/module.h>
    
    static int __init hello_init(void)
    {
        printk(KERN_ERR " Hello, world!
    ");
        return 0;
    }
    
    static void __exit hello_exit(void)
    {
        printk(KERN_ERR " Goodbye, world!
    ");
    }
    
    module_init(hello_init);
    module_exit(hello_exit);
    
    MODULE_AUTHOR("Bob, Zhang");
    MODULE_LICENSE("Dual BSD/GPL");
    
    MODULE_DESCRIPTION("A simple hello world demo");
    MODULE_ALIAS("A simple module");

    Then create a Kconfig file:

    config HELLO
        tristate "HELLO WORLD Driver!"
        default m
        help
            HELLO WORLD

    And create a Makefile file:

    obj-m += hello.o

    Next Add the Kconfig and Makefile into the Kconfig file and Makefile file in parent directory.

    Finally run the commands bellow:

    make ARCH=arm CROSS_COMPILE=$tool_prefix my_kernel_defconfig
    make ARCH=arm CROSS_COMPILE=$tool_prefix modules
    mkdir ./moduls_temp
    make ARCH=arm CROSS_COMPILE=$tool_prefix modules_install INSTALL_MOD_PATH=./modules_temp

    At last, the demo run like this:

  • 相关阅读:
    数据库之多表操作
    数据库之修改表结构
    mysql数据库
    协程
    线程
    Javaweb基础学习—— jQuery基础
    javaweb基础学习—— css
    JDBC基础学习笔记
    JDBC连接MySQL常见错误集锦
    MySQL基础笔记
  • 原文地址:https://www.cnblogs.com/zhanghang-BadCoder/p/7159961.html
Copyright © 2011-2022 走看看