linux
文章平均质量分 50
JoYER_cc
相信梦想,相信技术。
展开
-
Linux驱动-输入子系统
读取设备驱动传来的参数应用:/* * @Author: topeet * @Description: 在Ubuntu系统读取输入事件 */#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <unistd.h>#include <linux/input.h>int main(int a原创 2022-04-03 11:01:41 · 168 阅读 · 0 评论 -
Linux驱动-定时器-按键消抖
定时器#include <linux/init.h>#include <linux/module.h>#include <linux/timer.h>// 声明时间处理函数static void timer_function(unsigned long data);// 该宏会静态创建一个名叫 timer_name 内核定时器,// 并初始化其 function, expires, name 和 base 字段。DEFINE_TIMER(test_t.原创 2022-04-02 18:59:28 · 415 阅读 · 0 评论 -
Linux驱动-等待队列
驱动#include <linux/init.h>#include <linux/module.h>#include <linux/platform_device.h>#include <linux/of.h>#include <linux/of_address.h>#include <linux/miscdevice.h>#include <linux/uaccess.h>#include <li原创 2022-04-02 16:49:31 · 428 阅读 · 0 评论 -
Linux驱动-中断-工作队列
设备树内:驱动/* * @Author: your topeet * @Description: 中断下文之tasklet,实现按键打印0-99 */#include <linux/init.h>#include <linux/module.h>#include <linux/platform_device.h>#include <linux/of.h>#include <linux/of_address.h>#.原创 2022-04-02 13:25:56 · 403 阅读 · 0 评论 -
Linux-ioctl
使用ioctl来替换一般的write和read函数驱动//初始化头文件#include <linux/init.h>//最基本的文件,支持动态添加和卸载模块。#include <linux/module.h>//包含了miscdevice结构的定义及相关的操作函数。#include <linux/miscdevice.h>//文件系统头文件,定义文件表结构(file,buffer_head,m_inode等)#include <linux/f原创 2022-04-01 17:22:13 · 433 阅读 · 0 评论 -
Linux驱动-设备树
of函数获取status属性/* * @Description: of函数获取status属性 */#include <linux/init.h> //初始化头文件#include <linux/module.h> //最基本的文件,支持动态添加和卸载模块。#include <linux/of.h> //添加头文件int size; //定义长度u32 out_values[2] = {0};const char *str;st..原创 2022-04-01 15:01:00 · 1634 阅读 · 0 评论 -
Linux驱动-platform
platform实现设备和驱动分离,通过匹配方式建立连接//在driver.c里const struct platform_device_id beep_idtable = { .name = "beep_test",};//在device.c里// platform 设备结构体struct platform_device beep_device = { .name = "beep_test", .id = -1, .resource = beep_res, .num_resou原创 2022-04-01 13:15:20 · 373 阅读 · 0 评论 -
Linux驱动-设备注册
设备注册原创 2022-04-01 12:57:18 · 672 阅读 · 0 评论 -
Linux驱动-杂项设备
杂项设备驱动原创 2022-03-29 22:52:07 · 372 阅读 · 0 评论 -
Linux驱动-第一个驱动hello world
第一个驱动hello world配置vscode的内核头文件路径hello.c#include <linux/init.h>#include <linux/module.h>static int hello_init(void){ printk("hello world\n"); return 0;}static void hello_exit(void){ printk("bye bye\n");}module_init(原创 2022-03-25 15:07:19 · 1556 阅读 · 0 评论 -
Linux命令
#Linux Cheatsheet#Files and navigating#Networking#Processes#System Info#Compressing#Permissions#Others#Files and Navigating#Directory listeningls#Formatted listeningls -l#Formatted listening including hidden filesls -la#Change directorycd.原创 2022-03-24 22:24:18 · 1500 阅读 · 0 评论 -
Linux系统编程-进程间通信
进程间通信无名管道1. 只能用于有关联的进程间数据交互,如父子进程,兄弟进程,子孙进程,在目录中看不到文件节点,读写文件描述符存在一个 int 型数组中。 2. 只能单向传输数据,即管道创建好后,一个进程只能进行读操作,另一个进程只能进行写操作,读出来字节顺序和写入的顺序一样。调用 pipe()创建无名管道; fork()创建子进程,一个进程读,使用 read(),一个进程写,使用 write()。pipe():创建无名管道:#include <unistd.h>in...原创 2022-03-23 16:10:19 · 454 阅读 · 0 评论 -
Linux系统编程
文件IOIO库函数文件读写权限r(读),w(写),x(执行)第一位表示文件类型, 剩下的 9 位划分成 3 位为一组,分别表示文件拥有者的权限,文件拥有者所在用户组的权限,其它用户的权限open()函数定义:#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>int open(const char *pathname, int fla...原创 2022-03-23 14:23:14 · 443 阅读 · 1 评论 -
Linux系统编程-进程
进程创建和结束所有的进程都是由其他进程创建(除了 pid 为 0 号的 idle 进程),pid 号为 1 的 init 进程是系统启动后运行的第一个进程,是所有进程的父进程,init 进程会初始化一部分系统服务,创建其他进程。子进程结束后,它的父进程要回收它的资源,否则就会成为僵尸进程 。如果父进程先结束,子进程会被 init 进程收养,称为孤儿进程。“ps -el”查看进程状态 PID 为进程号,PPID 为此进程的父进程号getpid():获取进程 PID, #in原创 2022-03-22 20:42:30 · 2061 阅读 · 0 评论 -
Linux系统编程-文件IO
文件读写权限r(读),w(写),x(执行)第一位表示文件类型, 剩下的 9 位划分成 3 位为一组,分别表示文件拥有者的权限,文件拥有者所在用户组的权限,其它用户的权限open()函数定义:#include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> int open(const char *pathname, int flags); int ...原创 2022-03-21 21:38:43 · 1291 阅读 · 0 评论 -
makefile基础操作
objects = main.o kbd.o command.o display.o \ insert.o search.o files.o utils.o edit : $(objects) cc -o edit $(objects) main.o : defs.h kbd.o : defs.h command.h command.o : defs.h command.h display.o : defs.h buffer.h insert.o : defs.h buffer.h.原创 2022-03-19 20:35:08 · 1386 阅读 · 0 评论