当前位置: 首页 > news >正文

17_INIT_WORKLinux内核模块

环境

01_basicLinux内核模块_the kernel was built by-CSDN博客文章浏览阅读1k次,点赞3次,收藏3次。文章介绍了在Ubuntu22.04系统中,如何使用Makefile和C语言编写并编译一个简单的Linux内核模块,包括基本结构、初始化与退出函数,以及如何处理编译时的警告和加载模块到内核的过程。 https://blog.csdn.net/m0_37132481/article/details/136157384

效果

worker.c

# cat worker.c
#include <linux/module.h>
#include <linux/workqueue.h>
#include <linux/delay.h>#define TAG "HELLO# "static struct work_struct adsp_ldr_work;
static struct work_struct cdsp_ldr_work;static void adsp_load_fw(struct work_struct *adsp_ldr_work)
{int i = 0;while(1){printk(TAG "%s called%d\n", __func__, i);msleep(1000);}
}static void cdsp_load_fw(struct work_struct *adsp_ldr_work)
{while(1){printk(TAG "%s called\n", __func__);msleep(1000);}
}static int __init wq_init(void)
{printk(TAG "wq_init\n");INIT_WORK(&adsp_ldr_work, adsp_load_fw);INIT_WORK(&cdsp_ldr_work, cdsp_load_fw);printk(TAG "start adsp\n");schedule_work(&adsp_ldr_work);printk(TAG "start cdsp\n");schedule_work(&cdsp_ldr_work);return 0;
}static void __exit wq_exit(void)
{printk(TAG "wq_exit\n");
}module_init(wq_init);
module_exit(wq_exit);MODULE_LICENSE("GPL");

http://www.dtcms.com/a/317739.html

相关文章:

  • prefetch 下载 GEO 数据注意事项
  • 设计模式—桥梁模式(Bridge)
  • 移动端跨平台框架(支持Harmony、iOS、Android)
  • 《第十篇》深入解析 `MilvusKBService`:基于 Milvus 的知识库服务实现
  • 在线计算“蛋白-蛋白复合物”的MM/GBSA
  • KMP算法详解及应用指南
  • Cartographer安装测试与模块开发(四)--Cartographer纯定位思路
  • 【代码随想录day 12】 力扣 102.107.199. 二叉树的层序遍历
  • 数据库设计方法详解
  • Spring之【初识AOP】
  • 应急响应linux
  • 英伟达算力卡巅峰对决:H100、A100与消费级显卡哪里找?
  • 数语科技登陆华为云商店,助力企业释放数据潜能
  • day20|学习前端
  • JavaScript 基础语法
  • 频数分布表:数据分析的基础工具
  • Adobe Analytics 数据分析平台|全渠道客户行为分析与体验优化
  • Qt 容器类详解:顺序容器与关联容器及其遍历方法
  • [LVGL] 配置lv_conf.h | 条件编译 | 显示屏lv_display
  • 组合模式(Composite Pattern)及其应用场景
  • 基于spring boot的个人博客系统
  • tkwebview-tkinter的web视图
  • 解决云服务器端口无法访问的方法
  • java学习 leetcode24交换链表节点 200岛屿数量 +一些开发任务
  • Redis(七):Redis高并发高可用(主从复制)
  • JP3-4-MyClub后台前端(二)
  • C++、STL面试题总结(三)
  • 考研408_数据结构笔记(第四章 串)
  • 第五十一章:AI模型服务的“百变面孔”:WebUI/CLI/脚本部署全解析
  • 功能安全和网络安全的综合保障流程