随笔分类 -  linux

摘要:关于Meson的中文参考资料比较少,比较全面的是Meson的官方网站(https://mesonbuild.com/)。本人在学习Meson的过程中,会总结一系列的文章来对Meson进行介绍。第一篇关于Meson的简单学习和使用,将按照如下三个问题展开: 什么是Meson?Meson有什么特点?如何 阅读全文
posted @ 2024-02-02 15:52 imxiangzi 阅读(1281) 评论(0) 推荐(0)
摘要:一· 搭建meson环境并简单编译: 1. 什么是meson Meson 旨在开发最具可用性和快速的构建系统。提供简单但强大的声明式语言用来描述构建。原生支持最新的工具和框架,如 Qt5 、代码覆盖率、单元测试和预编译头文件等。利用一组优化技术来快速变异代码,包括增量编译和完全编译。 2. 安装me 阅读全文
posted @ 2024-02-02 15:52 imxiangzi 阅读(2247) 评论(0) 推荐(0)
摘要://参考了一些blog://1、http://cpp.ezbty.org/import_doc/linux_manpage/signalfd4.2.html//2、http://www.cnblogs.com/wblyuyang/archive/2012/11/13/2768923.html//3、 阅读全文
posted @ 2024-02-02 14:40 imxiangzi 阅读(38) 评论(0) 推荐(0)
摘要:从内核2.6.22开始,Linux提供了(非标准的)signalfd()系统调用:利用该调用可以创建一个特殊文件描述符,发往调用者的信号都可从该描述符中读取。signalfd机制为同步接受信号提供了sigwaitinfo()之外的另一种选择。 NAME signalfd - create a fil 阅读全文
posted @ 2024-02-02 14:40 imxiangzi 阅读(135) 评论(0) 推荐(0)
摘要:signalfd介绍epoll+signalfdsignalfd介绍signalfd:传统的处理信号的方式是注册信号处理函数;由于信号是异步发生的,要解决数据的并发访问,可重入问题。signalfd可以将信号抽象为一个文件描述符,当有信号发生时可以对其read,这样可以将信号的监听放到select、 阅读全文
posted @ 2024-02-02 14:39 imxiangzi 阅读(138) 评论(0) 推荐(0)
摘要:linux新API--signalfd的使用方法名字signalfd - 创建一个用于所受信号的文件描述符概要#include <sys/signalfd.h>int signalfd(int fd, const sigset_t*mask, intflags); 描述signalfd() 创建一个 阅读全文
posted @ 2024-02-02 14:38 imxiangzi 阅读(347) 评论(0) 推荐(0)
摘要:一、函数sigqueuesigqueue函数原型: 函数作用:新的发送信号系统调用,主要是针对实时信号提出的支持信号带有参数,与函数sigaction()配合使用 int sigqueue(pid_t pid, int signo, const union sigval value);分析: 第一个 阅读全文
posted @ 2024-02-02 13:59 imxiangzi 阅读(59) 评论(0) 推荐(0)
摘要:sigaction()作用:设置某信号的信号处理函数 1. sigaction()函数原型#include <signal.h>int sigaction ( int signo, const struct sigaction* restrict act, struct sigaction* res 阅读全文
posted @ 2024-02-02 13:58 imxiangzi 阅读(995) 评论(0) 推荐(0)
摘要:sigprocmask() :虽然我不知道信号什么时候来,但是我可以决定 什么时候响应信号 信号集: NAMEsigemptyset, sigfillset, sigaddset, sigdelset, sigismember - POSIX signal set operations SYNOPS 阅读全文
posted @ 2024-02-02 10:17 imxiangzi 阅读(80) 评论(0) 推荐(0)
摘要:C 标准库 - <signal.h> 描述 C 库函数 void (*signal(int sig, void (*func)(int)))(int) 设置一个函数来处理信号,即带有 sig 参数的信号处理程序。 声明 下面是 signal() 函数的声明。 void (*signal(int si 阅读全文
posted @ 2024-02-02 10:16 imxiangzi 阅读(59) 评论(0) 推荐(0)
摘要:一、 ioremap() 函数基础概念 几乎每一种外设都是通过读写设备上的相关寄存器来进行的,通常包括控制寄存器、状态寄存器和数据寄存器三大类,外设的寄存器通常被连续地编址。根据CPU体系结构的不同,CPU对IO端口的编址方式有两种: a -- I/O 映射方式(I/O-mapped) 典型地,如X 阅读全文
posted @ 2023-10-21 21:50 imxiangzi 阅读(664) 评论(0) 推荐(0)
摘要:Linux中如何构建内核源码树,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 要编写Linux的驱动,必须要构建内核源码树。 内核源码树的作用是构造可以在Linux内核中装载和卸载的模块,因此若是要为目标板构造模块,必须保证用于构建内核 阅读全文
posted @ 2023-10-21 16:43 imxiangzi 阅读(167) 评论(0) 推荐(0)
摘要:本文是参考了网上多篇帖子而写的算不上什么原创。唯一值得欣慰的只不过在本机上实现罢了。因为毕竟失败了几次。也因为本人是初学驱动编程,很多简单的问题在我来说是相当的困难的。望有识之士不要笑话。最后,希望本文能给刚学驱动而还没开头的人提供一些帮助。刚看 O'REILLY 写的《LINUX 设备驱动程序》时 阅读全文
posted @ 2023-10-21 16:43 imxiangzi 阅读(258) 评论(0) 推荐(0)
摘要:一、环境 Ubuntu14.04 +vmware tools 二、步骤 先写个.c文件,驱动文件一般没有printf,有自己的一套,先写一个helloword.c /* * helloworld.c * * 宇文凌风 * */ #include "linux/init.h" #include "li 阅读全文
posted @ 2023-10-21 16:42 imxiangzi 阅读(35) 评论(0) 推荐(0)
摘要:一、构造内核源码树 # apt-cache search linux-source # apt-get install linux-source-4.4.0(下载的源码在目录/usr/src下) # 解压内核源码tar xjf ..... 进入源码目录 # make oldconfig # make 阅读全文
posted @ 2023-10-21 16:40 imxiangzi 阅读(26) 评论(0) 推荐(0)
摘要:1.手动创建文件节点的命令(mknod): 命令 文件目录&名称 文件类型 主设备号 次设备号 mknod /xxx/xx c 120 1 2.手动删除文件节点的命令(rm): 命令 文件目录&名称 rm /xxx/xx from: https://blog.csdn.net/wanzhilin88 阅读全文
posted @ 2023-10-21 16:39 imxiangzi 阅读(246) 评论(0) 推荐(0)
摘要:注:本文个人学习记录 目的:一个工程里有多个makefile 如何make根目录下的makefile 调用子目录下的makefile,编译所有.c文件 如图所示 目录结构 ,根目录server: makefile ;子目录 so :makefile 根目录makefile: GCC=gcc APP= 阅读全文
posted @ 2023-10-21 09:59 imxiangzi 阅读(364) 评论(0) 推荐(0)
摘要:编译概述 编译基础: 使用GCC编译程序时可以分为4个阶段: (1)预处理(pre-processing)-E.c >.i-I (Include)将源文件生成中间文件 (2)编译(compiling) -S .i >.s 将中间文件生成汇编 (3)汇编(Assembling) -c .s >.o 将 阅读全文
posted @ 2023-10-21 09:58 imxiangzi 阅读(44) 评论(0) 推荐(0)
摘要:第1章 Makefile快速入门 基础概念 make :项目构建工具——用于管理文件的更新 Makefile:规则文件,告诉make如何进行编译与管理 Makefile(取名makefile也行)其实就是一个脚本文件。 快速入门 创建文本文档——文件名Makefile #代表注释 显示规则:一条显示 阅读全文
posted @ 2023-10-21 09:57 imxiangzi 阅读(90) 评论(0) 推荐(0)
摘要:每个Makefile中都应该写一个清空目标文件(.o和执行文件)的规则,这不仅便于重编译,也很利于保持文件的清洁。这是一个“修养”。一般的风格都是: clean: rm edit $(objects) 更为稳健的做法是: .PHONY : clean clean : -rm edit $(objec 阅读全文
posted @ 2023-10-21 09:48 imxiangzi 阅读(754) 评论(0) 推荐(0)