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

Linux-掉电保护方案

参考链接

https://blog.csdn.net/pwl999/article/details/109411919

硬件设计

设备树

驱动程序

#include <linux/module.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/gpio.h>int irq;//中断服务函数
irqreturn_t test_interrupt(int irq , void * args){/* 文件系统同步 */printk("powerdown detect sync filesystem!\n ");sys_sync();/* 系统reboot */printk("powerdown detect reboot system!\n ");kernel_power_off();
}//驱动入口函数
static int interrupt_irq_init(void){int ret;irq = gpio_to_irq(110);		//填写要申请的gpio编号printk("irq is %d\n", irq);ret = request_irq(irq, test_interrupt, IRQF_TRIGGER_RISING, "test", NULL);		//引脚上升沿触发中断服务函数if(ret < 0){printk("request_irq is error\n");return -1;}return 0;
}//驱动出口函数
static void interrupt_irq_exit(void){free_irq(irq, NULL);printk("bye bye\n");
}module_init(interrupt_irq_init);
module_exit(interrupt_irq_exit);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("YU");
http://www.lryc.cn/news/515109.html

相关文章:

  • php获取字符串中的汉字
  • java: JDK isn‘t specified for module ‘product-service‘问题解决
  • 使用工厂+策略模式实现去除繁琐的if else
  • Dubbo3入门项目搭建
  • 形象地理解UE4中的数据结构 TLinkedListBase
  • Python自然语言处理利器:SnowNLP模块深度解析、安装指南与实战案例
  • Llama系列关键知识总结
  • 【开源】创建自动签到系统—QD框架
  • ​​​​​​​CDP集群安全指南系列文章导读
  • MT8788安卓核心板_MTK8788核心板参数_联发科模块定制开发
  • 【微软,模型规模】模型参数规模泄露:理解大型语言模型的参数量级
  • 深入理解并发原子性、可见性、有序性与JMM内存模型
  • 电商项目-数据同步解决方案(四)商品下架同步更新ES索引库数据
  • vue学习第一阶段
  • React虚拟DOM:理解和应用
  • 用python编写一个放烟花的小程序
  • Git 仓库与文件管理笔记
  • 2024 年 docker 提示index.docker.io
  • TCP粘/拆包----自定义消息协议
  • Modbus知识详解
  • Java-创建一个结合CompletableFuture和自定义功能的工具类
  • 【MATLAB第111期】基于MATLAB的sobol全局敏感性分析方法二阶指数计算
  • C语言-sprintf
  • APM 3.0.2 | 聚合B站、油管和MF的音乐播放器,支持歌词匹配
  • Mono 和 IL2Cpp的区别
  • 力扣第389题—找不同
  • 我的桌面 1.9.75 | 个性化定制手机桌面,丰富的小组件和主题
  • 【Java项目】基于SpringBoot的【垃圾分类系统】
  • 生成埃里克卡特曼人工智能语音听起来像他或配音视频
  • C语言中的va_list