1. Linux 驱动 - HelloWorld

news/2024/11/17 6:53:22/

Linux 驱动 - HelloWorld

开发环境:

  • Ubuntu 22.04
  • uname -r 查看source版本
  • sudo apt install linux-source-xxxx

其他依赖:

  • build-essential
  • kernel-package
  • gcc
  • make
  • kernel-source
  • kernel-headers
  • libncurses-dev
  • libssl-dev
  • libelf-dev

Hello World

hello.c

#include<linux/init.h>
#include<linux/module.h>
#include<linux/kernel.h>MODULE_LICENSE("GPL");
MODULE_AUTHOR("Andy");
MODULE_VERSION("1.0");
MODULE_DESCRIPTION("First test module!");// 初始化
// KERN_ALERT设定printk日志级别,但X86无效
static int __init hello_init(void){printk(KERN_ALERT "Hello, Andy!");return 0;
}
// 退出
static void __exit hello_exit(void){printk(KERN_ALERT "Goodbye, Andy!");
}
// 调用函数
module_init(hello_init);
module_exit(hello_exit);

Makefile:

# ifneq ($(KERNELRELEASE),)
# mymodule-bojs := hello.o
PWD := $(shell pwd)
KERNELDIR = /lib/modules/$(shell uname -r)/buildobj-m := hello.oall:$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
clean:rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c

然后:
make
make clean

就会编译出来对应的ko文件。

模块使用:

  • sudo insmod hello.ko
  • modinfo hello.ko
  • sudo dmesg -c 查看内核log
  • sudo rmmod hello

http://www.ppmy.cn/news/560384.html

相关文章

Ubuntu 安装显卡驱动 CUDA10 cuDNN详细教程

文章目录 一、显卡驱动二、安装CUDA 101. 下载2. 安装 三、安装cuDNN1. 下载2. 安装 四、补充说明 一、显卡驱动 添加驱动的源。打开终端&#xff0c;输入&#xff1a; sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt-get update这一步的目的是添加Ubuntu显卡驱动…

绿联USB网卡的使用记录

工作需要&#xff0c;从某东购得一件绿联USB网卡&#xff0c;由于是头一次使用&#xff0c;记录如下。 产品介绍&#xff1a; 这是一款USB2.0转百兆的网卡&#xff0c;它可以让设备通过USB接口连接到网络&#xff0c;替代主机网卡的功能&#xff0c;适用于带USB接口的笔记本&a…

ubuntu重装显卡驱动全过程!所有选项的选择!

1.首先去下载适合的.run文件我的是https://download.nvidia.com/XFree86/Linux-x86_64/430.64/ 这可以从http://www.nvidia.cn/page/home.html官网找到合适的 2.卸载掉旧版本的英伟达显卡驱动&#xff0c;打开terminal&#xff1a;sudo apt-get purge nvidia* 3.禁用系统自带…

周0各qudong辖属楼盘电话直聊

Option ExplicitSub qdloupan() Application.ScreenUpdating False Application.DisplayAlerts False新建结果工作簿并命名 Workbooks.Add ActiveWorkbook.SaveAs Filename:"d:\Users\zhanggl21\Desktop\6666\上周各区董下属楼盘直聊电话\上周各区董下属楼盘直聊电话.xl…

各qudong楼盘点击及电话直聊情况

Option Explicit Dim rwbk As Workbook Dim rsht As Worksheet …………………………………………………………………………………各区董楼盘点击及电话直聊情况…………………………………………………………………………………………………………………………………… Sub qd…

Linux驱动 简单的Linux驱动基础知识

Linux驱动 简单的Linux驱动基础知识 一、简述 记--Linux驱动学习笔记。 Linux驱动程序初始化硬件设备&#xff0c;并提供硬件控制接口给更上一层的应用调用。 例如使用QT应用程序控制一个LED灯&#xff0c;需要有一个驱动程序初始化LED灯&#xff0c;并准备好给其它应用程序的…

Python虚拟环境和包

目录 12. 虚拟环境和包 12.1. 概述 12.2. 创建虚拟环境 12.3. 使用pip管理包 12. 虚拟环境和包 12.1. 概述 Python应用程序通常会使用不在标准库内的软件包和模块。应用程序有时需要特定版本的库&#xff0c;因为应用程序可能需要修复特定的错误&#xff0c;或者可以使用库…

个人珍藏的Mac上那些不为人知,但却好用到爆的十五款软件

随着苹果产品这两年的流行&#xff0c;越来越多小伙伴们在选购iPhone的同时&#xff0c;也在将iPhone的好基友mac作为自己购买电脑的选项之一&#xff0c;Mac系统由于出色的稳定性和精致的外观吸引了一批从windows来的新用户&#xff0c;但是也有不少用户由于不熟悉macOS系统而…