参考:驱动程序开发:SPI设备驱动_spi驱动_邓家文007的博客-CSDN博客目录一、SPI驱动简介1.1SPI架构概述1.2SPI适配器(控制器)数据结构1.2SPI设备数据结构1.3SIP设备驱动1.4接口函数 二、SPI驱动模板一、SPI驱动简介SPI驱动框架和I2C驱动框架是十分相似的,不同的是因为SPI是通过片选引脚来选择从机设备的,因此SPI不再需要像I2C那样先进行寻址操作(查询从机地址)后再进行对应寄存器的数据交互,并且SPI是全双工通信,通信速率要远高于I2C。但是SPI显然占用的硬件资源也比I2C要多,并且SPI没有了像I2C那样指定的流控制(例如开始、停止信号)和没有了
概念介绍常说的Linux系统时钟有两个一个是硬件时钟(RTC),即BIOS时间,一般保存的是GMT0时间,没时区、夏令时的概念一个是当地时钟(LTC),即我们日常经常看到的时间,比如date命令获取的时间,一般是在GMT时间的基础上增加或者减去0~12小时世界标准时间(UTC)CoordinatedUniversalTime,协调世界时,又称世界标准时间或世界协调时间,是最主要的世界时间标准,其以原子时秒长为基础,在时刻上尽量接近于格林尼治标准时间格林尼治标准时间(GMT)GreenwichMeanTime,格林尼治时间,又称格林尼治平均时间或格林尼治标准时间,旧译格林威治标准时间,GMT是指
1关于/proc/proc是一个内存文件系统,它保存了系统运行的信息,比如,系统启动时间、内存使用率等,同时,对于每个进程,都会有一个目录保存该进程的信息。2进程的基本信息这里不会列出所有的文件,只列出部分文件:cmdline:命令行,注意:命令行中的空格会以空字符表示,因此,如果是程序读取命令行时,需要读取整个文件,然后遍历所有字符,将空字符转换为空格comm:进程名cwd:当前工作目录,是个软链接,指向实际的路径environ:环境变量exe:进程启动的二进制,也是个软链接,指向实际的文件路径fd:进程打开的文件描述符,每个描述符也是个软链接,指向打开的文件,如果涉及到socket,则会显
【Linux】DockerCompose一键部署graylog作者:沈自在#docker-compose配置参考:https://docs.graylog.org/en/3.3/pages/installation/docker.htmlversion:'3'services:mongo:image:mongo:3container_name:graylog_demo_mongorestart:unless-stopped#volumes:#-./graylog/mongo_data:/data/dbnetworks:-graylogelasticsearch:image:elasticsea
文章目录**1audit简介2auditctl的使用2audit配置和规则3工作原理4audit接口调用*4.1获取和修改配置4.2获取和修改规则4.3获取审计日志5audit存在的问题*5.1内核版本5.2审计日志过多造成的缓存队列和磁盘问题5.2容器环境下同一个命令的日志存在差异6参考文档1audit简介audit是Linux内核提供的一种审计机制,由于audit是内核提供的,因此,在使用audit的过程中就包含内核空间和用户空间部分:rules:审计规则,其中配置了审计系统需要审计的操作auditctl:用户态程序,用于审计规则配置和配置变更kaudit:内核空间程序,根据配置好的审计规
当某个普通用户进行sudo指令提权的时候,可能存在无法操作的问题,如下图: 这个图中有一个细节,我们使用sudo进行提权的时候,用的可是zhangsan的密码,因此有人可能会有疑问,这不是有问题吗???我竟然可以用自己的密码就可以用root的身份创建文件,很离谱啊!那还要root干嘛?Linux觉得,你这样想好有道理啊!因此,不是所有的普通用户都可以执行sudo命令,只有被信任的用户才可以。那么,如何被root信任呢?在/etc/sudoers这个路径下有sudoers这个文本文件,只有把这个用户信息添加到这个文本文件中,这个用户才是可被信任的,那么,现在的问题变成如何在sudoers配置文件
企业选型的区块链底层技术HyperledgerFabric概念2015年,Linux基金会启动了Hyperledger项目,目标是发展跨行业的区块链技术。HyperledgerFabric是Hyperledger中的一个区块链项目,包含一个账本,使用智能合约并且是一个通过所有参与者管理交易的系统。HyperledgerFabric是分布式账本解决方案的平台,以模块化架构为基础,支持不同组件的可插拔。区块链共享的、通过智能合约更新的多副本交易系统,并通过协作共识机制保持账本副本一致同步。当前记录系统区块链无法统一管理参与者身份,确认源头费力各参与者都有账本副本明确交易耗时长共享账本、共享更新账本
ElasticSearch安装教程文章目录ElasticSearch安装教程一、ES安装1.下载2.安装3.创建用户4.修改配置并启动5.修改密码6.访问web端7.取消密码验证和https常见问题二、Kibana安装1.简介2.下载3.安装4.修改配置5.后台启动参考最大的坑:博主安装完8.12.0之后发现,IK分词器对应的版本还没有发行。。。。。。一、ES安装以最新版本的ES8.12.0为基础1.下载ES官网下载链接,选择你系统对应的下载包,注意版本2.安装将文件上传到服务器,然后解压缩tar-xvfelasticsearch-8.1.0-linux-x86_64.tar.gz3.创建用户
Shell命令以及运行原理当用户登录Linux系统的时候,系统会给用户创建一个新的进程,一般叫做bash(命令行解释器)。Linux 严格意义上说的是一个操作系统,我们称之为“核心(kernel)”,但对于我们一般用户,是不能直接使用 kernel的。而是通过kernel 的 “外壳” 程序,也就是所谓的Shell,来与 kernel进行沟通。如何理解?为什么不能直接使用 kernel?从技术角度,Shell 的最简单定义:命令行解释器(commandInterpreter)主要包含:将使用者的命令翻译给核心(kernel)处理。同时,将核心的处理结果翻译给使用者。对比WindowsGUI,我
目录一、共享内存1、基本原理2、共享内存的创建3、共享内存的释放4、共享内存的关联5、共享内存的去关联6、查看IPC资源二、完整通信代码三、共享内存的特点四、信号量1、相关概念2、信号量概念进程间通信的本质就是让不同的进程看到同一个资源。而前面我们讲到了进程通信的最基础,最传统的方法——管道。我们知道了,无论是匿名管道还是命名管道,它们让不同进程看到同样的资源的方法,就是通过访问同样的文件来看到同样的资源。进程间是相互独立的,因此进程的各种数据是存储在物理内存的不同区域的。那么,如果两个不同的进程能够访问到同一块内存空间,是不是就相当于看到了同样的资源。那么有没有这样的方法呢?答案是肯定的,s