E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
字符设备
Linux 内核打印(高级
字符设备
六)
一、dmseg命令 在终端使用dmseg命令可以获取内核打印信息,该命令的具体使用方法如下所示:dmesg命令 英文全称:displaymessage(显示信息) 作用:kernel会将打印信息存储在ringbuffer中。可以利用dmesg命令来查看内核打印信息。。 常用参数: -C,–clear清除内核环形缓冲区 -c,—-read-clear读取并清除所有消息 -T
温人之周.
·
2023-10-25 21:57
RK3568
linux驱动开发笔记(迅为)
linux
字符设备
驱动-内核定时器
前言写文章的目的是想通过记录自己的学习过程,以便以后使用到相关的知识点可以回顾和参考。内核时间管理简介一、宏定义HZLinux内核中有大量的函数需要时间管理,比如周期性的调度程序、延时程序、对于我们驱动编写者来说最常用的定时器。硬件定时器提供时钟源,时钟源的频率可以设置,设置好以后就周期性的产生定时中断,系统使用定时中断来计时。中断周期性产生的频率就是系统频率,也叫做节拍率(tickrate)(有
<阿杰。>
·
2023-10-25 20:54
ARM
嵌入式
linux
字符设备
驱动 (四)内核定时器
Linux定时器实现使用场景:延后执行某个动作定期查询硬件状态…内核相关时间概念HZ通过CONFIG_HZ来设置,范围为100~1000HZ决定了系统时钟中断发生的频率,HZ值不能设置太大或太小jiffies记录内核自启动以来的节拍数全局变量jiffies用来记录子系统启动以来产生的节拍总数。启动时内核将该变量初始化为0,此后每次时钟中断处理程序都会增加该变量的值因为1秒内时钟中断的次数等于HZ,
下午两点半
·
2023-10-25 20:52
设备驱动
Linux内核
内核
linux
嵌入式
Linux 内核定时器(高级
字符设备
五)
一、Linux内核定时器介绍 在Linux内核中很多函数是基于定时器进行驱动的,但是内核定时器的精度并不高,所以不能作为高精度定时器使用。并且内核定时器的运行没有周期性,到达计时终点后会自动关闭。如果要实现周期性定时,就要在定时处理函数中重新开启定时器。 Linux内核中使用timer_list结构体表示内核定时器,该结构体定义在“内核源码/include/linux/timer.h”文件中,
温人之周.
·
2023-10-25 20:19
RK3568
linux驱动开发笔记(迅为)
linux
Linux 错误处理(
字符设备
基础三)
在Linux
字符设备
驱动中,即使是最简单的注册
字符设备
,也存在注册失败的可能性,因此在之前编写的驱动代码中采用检查函数返回值的方式,确认函数是否成功执行一、goto语句 在编写驱动程序时,驱动程序应该提供函数执行失败后处理的能力
温人之周.
·
2023-10-25 18:51
RK3568
linux驱动开发笔记(迅为)
linux
linux驱动的IO 模型(高级
字符设备
一)
IO是英文Input和Output的首字母,代表了输入和输出。操作系统(Linux)负责对计算机的资源进行管理和对进程进行调度,应用程序运行在操作系统上,处于用户空间。应用程序不能直接对硬件进行操作,只能通过操作系统提供的API来操作硬件。需要将进程切换到内核空间,才能进行IO操作,并且应用程序不能直接操作内核空间的数据,需要把内核空间的数据拷贝到用户空间。 应用程序运行在用户空间,它不存在
温人之周.
·
2023-10-25 18:51
RK3568
linux驱动开发笔记(迅为)
linux
18-IO多路复用 select
从内核中最简单的驱动程序入手,描述Linux驱动开发,主要文章目录如下(持续更新中): 01-第一个内核模块程序 02-注册
字符设备
驱动 03-open&close函数的应用 04-read&write
crystal_266
·
2023-10-25 18:40
Linux驱动
IO多路复用
高级IO操作
select
20-IO多路复用 epoll
从内核中最简单的驱动程序入手,描述Linux驱动开发,主要文章目录如下(持续更新中): 01-第一个内核模块程序 02-注册
字符设备
驱动 03-open&close函数的应用 04-read&write
crystal_266
·
2023-10-25 18:40
Linux驱动
IO多路复用
epoll
linux的IO 多路复用(高级
字符设备
三)
一、linux的IO多路复用介绍 IO多路复用是一种同步的IO模型。IO多路复用可以实现一个进程监视多个文件描述符。一旦某个文件描述符准备就绪,就通知应用程序进行相应的读写操作。没有文件描述符就绪时就会阻塞应用程序,从而释放出CPU资源。 在应用层Linux提供了三种实现IO多路复用的模型,分别是select、poll和epoll。poll函数和select函数都可以监听多个文件描述符,通过轮
温人之周.
·
2023-10-25 17:28
RK3568
linux驱动开发笔记(迅为)
linux
day4-
字符设备
驱动基础上_基础框架
大纲:设备分类申请和注销设备号函数指针复习注册
字符设备
字符设备
驱动框架解析读操作实现写操作实现ioctl操作实现printk多个次设备的支持一、Linux内核对设备的分类linux的文件种类:-:普通文件
拓海973
·
2023-10-25 17:42
linux
运维
服务器
Linux阻塞IO(高级
字符设备
二)
阻塞IO属于同步IO,阻塞IO在Linux内核中是非常常用的IO模型,所依赖的机制是等待队列。一、等待队列介绍 在Linux驱动程序中,阻塞进程可以使用等待队列来实现。等待队列是内核实现阻塞和唤醒的内核机制,以双循环链表为基础结构,由链表头和链表项两部分组成,分别表示等待队列头和等待队列元素 等待队列头使用结构体wait_queue_head_t来表示,等待队列头是一个等待队列的头部,这个
温人之周.
·
2023-10-25 09:28
RK3568
linux驱动开发笔记(迅为)
linux
正点原子嵌入式linux驱动开发——Linux MISC驱动
MISC驱动其实就是最简单的
字符设备
驱动,通常嵌套在platform总线驱动中,实现复杂的驱动,本章就来学习一下MISC驱动的编写。
努力自学的小夏
·
2023-10-25 05:19
linux学习
linux
驱动开发
stm32
笔记
学习
正点原子嵌入式linux驱动开发——Linux INPUT子系统
输入设备本质上还是
字符设备
,只是在此基础上套上了input框架,用户只需要负责上报输入事件,比如按键值、坐标等信息,input核心层负责处理这些事件。
努力自学的小夏
·
2023-10-25 05:19
linux学习
linux
驱动开发
学习
笔记
stm32
Linux驱动设备节点查看
Linux驱动设备节点查看
[email protected]
如果有错误,希望被指出查看设备节点驱动注册成功生成设备节点ls/dev/查看设备号主设备号cat/proc/devices包括
字符设备
和块设备
Fang XS.
·
2023-10-25 01:02
Linux驱动
linux
驱动开发
讯为Linux驱动开发
CPU,支持多种操作系统,如Linux,Android等1,Linux设备驱动概述驱动概念底层硬件和上层软件的桥梁,让硬件动起来使用驱动框架编程,提供统一接口给应用程序调用驱动分类Linux将驱动分为
字符设备
WBushYdc
·
2023-10-25 00:18
工作笔记
linux
驱动开发
运维
Linux设备驱动-
字符设备
驱动浅析
Linux设备驱动分为三种:
字符设备
驱动、块设备驱动、网络设备驱动。内核针对每一类设备都提供了对应的驱动模型框架,包括基本的内核设施和文件系统接口。
zsky_01
·
2023-10-24 10:41
Linux驱动
linux
驱动开发
Linux
字符设备
驱动程序框架
字符驱动设备的代码大致分为以下几部分:1:注册设备,注册设备或者模块加载的时候,必须将设备登记到内核相应的设备数组,并返回设备的主设备号2:定义功能函数,对于每一个驱动函数来说,都有一些和该设备密切相关的功能函数,拿最常用的
字符设备
来来说
RadarSong
·
2023-10-24 10:11
字符设备驱动
linux
Driver
字符设备驱动
框架
三种Linux
字符设备
驱动写法-2:总线设备驱动框架
这篇文章中介绍Linux总线设备驱动框架,重点是体会整个框架,特别是感受一下分离的思想和抽象的方法,很多结构体中的成员不必深究到底如何实现或者有何作用,我将在今后的文章中深入探讨。参考资料:嵌入式Linux驱动学习-6.platform总线设备驱动模型嵌入式Linux驱动学习-5.驱动的分层分离思想1.分离思想回顾第一篇,最简单的驱动框架:如下,在驱动程序中直接把资源(IO引脚)写死staticu
闪耀大叔
·
2023-10-24 10:39
嵌入式Linux入门
嵌入式
单片机
物联网
arm
linux
字符设备
驱动框架(
字符设备
基础一)
编写
字符设备
驱动框架:首先驱动向Linux内核进行设备号申请,之后的
字符设备
注册时,会对申请的设备号进行使用。
温人之周.
·
2023-10-24 10:36
RK3568
linux驱动开发笔记(迅为)
linux
通过
字符设备
驱动分步注册方式编写LED驱动,完成设备文件和设备的绑定
head.h#ifndef__HEAD_H__#define__HEAD_H__typedefstruct{unsignedintMODER;unsignedintOTYPER;unsignedintOSPEEDR;unsignedintPUPDR;unsignedintIDR;unsignedintODR;}gpio_t;#definePHY_LED1_ADDR0X50006000#define
huncho
·
2023-10-24 06:13
驱动开发
LED通过
字符设备
驱动的分步实现编写LED驱动,另外实现特备文件和设备的绑定
head.h#ifndef__HEAD_H__#define__HEAD_H__#definePHY_LED13_MODER0x50006000//[2021]/[1617]>01#definePHY_LED13_ODR0x50006014//[10]/[8]#definePHY_LED2_MODER0x50007000//[2021]>01#definePHY_LED2_ODR0x5000701
小鱼飞飞火
·
2023-10-24 06:43
linux
c语言
驱动开发
通过
字符设备
驱动分步注册方式编写LED驱动,完成设备文件和设备的绑定,发布CSDN
头文件#ifndef__HEAD_H__#define__HEAD_H__typedefstruct{unsignedintMODER;unsignedintOTYPER;unsignedintOSPEEDR;unsignedintPUPDR;unsignedintIDR;unsignedintODR;}gpio_t;#definePHY_LED1_ADDR0X50006000#definePHY
2301_77612529
·
2023-10-24 06:40
开发语言
【驱动开发】LED灯的亮灭——通过
字符设备
驱动的分步实现编写LED驱动,实现设备文件和设备的绑定
头文件:#ifndef__HEAD_H__#define__HEAD_H__typedefstruct{unsignedintMODER;unsignedintOTYPER;unsignedintOSPEEDR;unsignedintPUPDR;unsignedintIDR;unsignedintODR;}gpio_t;//LED灯的寄存器地址#defineLED1_ADDR0X50006000#
小徐今天认真学习了嘛
·
2023-10-24 06:39
驱动开发
驱动开发day4
通过
字符设备
驱动的分步实现编写LED驱动,另外实现设备文件和驱动的绑定head.h#ifndef__HEAD_H__#define__HEAD_H__typedefstruct{unsignedintMODER
孟孟能学会
·
2023-10-24 03:34
驱动开发
Linux设备驱动基础01:Linux设备驱动概述
有无操作系统时的设备驱动2.1无操作系统2.1.1硬件、驱动和应用程序的关系2.1.2单任务软件典型架构2.2有操作系统2.2.1硬件、驱动、操作系统和应用软件的关系3.Linux设备分类3.1常规分类法3.1.1
字符设备
麦兜的学习笔记
·
2023-10-23 23:53
Linux嵌入式开发
linux
网络
运维
linux驱动开发学习001:概述
驱动属于内核代码的一部分,对驱动修改要重编整个内核,麻烦但驱动可以独立于内核镜像外,并能动态加载和卸载
字符设备
驱动,他们按照字节流的方式来进行访问,如鼠标键盘等学习一类驱动,就是学习它的核心数据结构和一组
搞IT的锋
·
2023-10-23 23:19
驱动
linux
驱动开发
linux驱动开发篇(二)——
字符设备
驱动框架
linux系列目录:linux基础篇(一)——GCC和Makefile编译过程linux基础篇(二)——静态和动态链接ARM裸机篇(一)——i.MX6ULL介绍ARM裸机篇(二)——i.MX6ULL启动过程ARM裸机篇(三)——i.MX6ULL第一个裸机程序ARM裸机篇(四)——重定位和地址无关码ARM裸机篇(五)——异常和中断linux系统移植篇(一)——linux系统组成linux系统移植篇(
Aladdin_KK
·
2023-10-23 22:31
linux
linux
驱动开发
arm开发
驱动 day4作业
字符设备
驱动内部实现原理:用open函数打开一个文件,这个文件会有一个对应的inode号,根据这个inode号,在内核中会存在一个structinode结构体,这个结
weixin_57486404
·
2023-10-23 21:14
c语言
驱动开发day5
目录头文件:源文件:Makefile:自动创建设备节点成功:点亮led灯的效果:点灯要求:1)分部实现注册
字符设备
驱动2)自动创建设备节点3)通过结构体对led灯地址进行映射4)次设备号完成私有数据传参头文件
疯狗Crazydo
·
2023-10-23 21:11
驱动开发
Makefile
c语言
驱动day4作业
通过
字符设备
驱动的分步实现编写LED驱动,另外实现特备文件和设备的绑定head.h#ifndef__HEAD_H__#define__HEAD_H__typedefstruct{unsignedintMODER
xiaohuoxingdezhu
·
2023-10-23 21:39
笔记
驱动开发day4(实现通过
字符设备
驱动的分布实现编写LED驱动,实现设备文件的绑定)
头文件(head.h)#ifndef__HEAD_H__#define__HEAD_H__#definePHY_LED1_MODER0x50006000#definePHY_LED2_MODER0x50007000#definePHY_LED3_MODER0x50006000#definePHY_LED1_ODR0x50006014#definePHY_LED2_ODR0x50007014#def
yymbuxiangaoye
·
2023-10-23 20:47
驱动开发
c#
arm开发
算法
linux IO复用,可检测一切文件描述符(
字符设备
,块设备,串口)php版本,随意加网页
下面是c语言select版本监听socket和一个串口,看起来是那么的熟悉。intcreate_socket(void){fd_setreadfd;//读文件描述符集合intret;STRU_MSG_HEADmsg_head;intlen;charbuf[SIZE];//接收网络数据缓冲区6Kmemset(&server_addr,0,sizeof(server_addr));/*初始化网络信息*
pxw1992
·
2023-10-23 01:42
linux
php
运维
I/O知识点汇总
光盘等网络通信设备:网络接口、调制解调器等按传输速率分类低速设备:每秒几个到数百个字节(100KB/s),如磁带机、光盘机信息交换的单位分类块设备:信息的存取以数据块为单位,读写的基本单位是数据块,如磁盘
字符设备
Tanswer_
·
2023-10-22 18:23
操作系统
io
设备控制器
设备控制方式
Linux内核 register_chrdev_region和alloc_chrdev_region区别
Linux内核的
字符设备
号注册有两个函数,一个是register_chrdev_region,另外一个是alloc_chrdev_region。
hwx1546
·
2023-10-22 16:55
linux
如何理解Linux
字符设备
驱动?
我们学习编程的时候,一般都会从hello程序开始。同样的,学习Linux驱动,我们也是从最简单的hello驱动学起。一、驱动层和应用层看一下STM32裸机开发与嵌入式Linux开发的一些区别:嵌入式Linux的开发方式与STM32裸机开发的方式有点不一样。在STM32的裸机开发中,驱动层与应用层的区分可能没有那么明显,常常都杂揉在一起。当然,有些很有水平的裸机程序分层分得还是很明显的。但是,在嵌入
m0_61687959
·
2023-10-21 13:56
linux
运维
服务器
23中科大软院linux期末复习及试题
以x86-64体系,简述linux系统从进程x切换到进程y的一般过程linux终端处理的流程(写出主要数据结构)inux
字符设备
驱动程序的
Flyy.
·
2023-10-21 12:05
linux
操作系统
基于Linux的驱动开发:内核模块传参、内核到处符号表、
字符设备
驱动
内核模块传参内核模块:inta,b;安装内核模块时:insmoddemo.koa=100b=10;1.内核模块传参的意义在安装内核模块时给内核模块中的变量进行数值传递,这样可以让我们的内核模块向上兼容更为复杂的应用程序,向下适配多种硬件2.内核模块传参相关API1.函数原型:module_param(name,type,perm)功能:声明可以进行内核模块传参的变量参数:name:变量名type:
土豆学习ing
·
2023-10-21 01:35
Linux驱动
学习
STM32MP157驱动开发——Linux RTC驱动
STM32MP157驱动开发——LinuxRTC驱动一、简介二、驱动分析三、RTC时间查看与设置参考文章:【正点原子】STM32MP1嵌入式Linux驱动开发——RTC驱动一、简介 RTC设备驱动是一个标准的
字符设备
驱动
Amonter
·
2023-10-21 00:14
STM32MP157
驱动开发
stm32
linux
通过
字符设备
驱动并编写应用程序控制三盏灯亮灭
现象键盘按1三灯全亮按0三灯全灭头文件.h#ifndef__HEAD_H__#define__HEAD_H__#definePHY_LED1_MODER0X50006000#definePHY_LED1_ODR0X50006014#definePHY_RCC0X50000A28#definePHY_LED2_MODER0X50007000#definePHY_LED2_ODR0X50007014#
ck钉钉钉
·
2023-10-21 00:31
转世重生
ubuntu
开发语言
c语言
驱动——串口工具点灯实验
通过串口工具输入命令,操作LED灯的点亮与熄灭要求:1)分部实现注册
字符设备
驱动2)自动创建设备节点3)通过结构体对led灯地址进行映射4)次设备号完成私有数据传参代码实现:1、头文件代码的编写:①对GPIO
犩未
·
2023-10-20 21:25
驱动开发
驱动开发
2023.2.7作业【
字符设备
驱动点灯实验】
myled.c#include#include#include#include#include#include"myled.h"unsignedintmajor=0;gpio_t*gpioe_virt_base=NULL;gpio_t*gpiof_virt_base=NULL;unsignedint*rcc_ahb4_base=NULL;charkbuf[128]={0};#defineLED1_
MisakaMikotto
·
2023-10-20 21:10
作业
嵌入式硬件
字符设备
驱动点灯实验
chrdev.c#include#include#include#include#include#include"head.h"//定义一些变量接收映射后的虚拟地址unsignedint*vir_moder;unsignedint*vir_odr;unsignedint*vir_rcc;unsignedint*vir_moder2;unsignedint*vir_odr2;unsignedint*
.程序龙
·
2023-10-20 21:09
嵌入式硬件
stm32
Linux
字符设备
驱动结构(二)—— 自动创建设备节点
上一篇我们介绍到创建设备文件的方法,利用cat/proc/devices查看申请到的设备名,设备号。第一种是使用mknod手工创建:mknodfilenametypemajorminor第二种是自动创建设备节点:利用udev(mdev)来实现设备文件的自动创建,首先应保证支持udev(mdev),由busybox配置。具体udev相关知识这里不详细阐述,可以移步Linux文件系统与设备文件系统——
zqixiao_09
·
2023-10-20 21:37
Linux
字符设备驱动开发
Linux
驱动开发基础
嵌入式开发
Linux
驱动开发
自动创建设备节点
linux内核的块设备驱动框架详解
1、块设备和
字符设备
的差异(1)块设备只能以块为单位接受输入和返回输出,而
字符设备
则以字节为单位。
正在起飞的蜗牛
·
2023-10-20 21:06
嵌入式驱动开发
linux
块设备
驱动开发
linux驱动开发--
字符设备
:自动创建设备节点
自动创建设备文件定义在中class结构:该结构体类型变量对应一个设备类,被创建的类存放在/sys目录下面device结构:该结构体类型变量对应设备,被创建的设备存放于/sys目录下面在加载驱动模块时,用户空间中的udev会自动响应device_create()函数,在/sys下寻找对应的类,从而为这个设备在/dev目录下创建设备文件内核版本问题:在内核2.4版本中使用devfs_register在
吴英强
·
2023-10-20 21:36
嵌入式方向
linux驱动开发
linux驱动设备节点名称,Linux
字符设备
驱动及设备节点自动创建
27.1前言
字符设备
是一种以字节流来存取的设备,查看正在使用的设备驱动可用命令:cat/proc/devices;
字符设备
文件第一个为c开头,可使用命令:ls–l/dev/*如下图示:在老版的Linux
季文冬
·
2023-10-20 21:36
linux驱动设备节点名称
字符设备
驱动程序自动创建设备节点详解
对上层程序来说设备驱动程序不过就是设备文件,在我们向内核注册好驱动程序后,需要创建对应的设备节点,然后上层应用程序通过读写设备节点的方式去操作硬件;(2)设备节点本质上就是文件,不是普通类型的文件,是
字符设备
文件
正在起飞的蜗牛
·
2023-10-20 21:36
嵌入式驱动开发
驱动开发
linux
运维
linux驱动开发(二):Linux
字符设备
驱动程序(设备号、cdev、设备节点、file_operations)
Linux系统将设备分成
字符设备
、块设备、网络设备三类。用户程序调用硬件的过程如下。一、用户级、内核级和系统调用Linux/Unix系统下的进程运行分为用户态和进程态两种状态。
精致的螺旋线
·
2023-10-20 21:35
Linux系统
驱动开发
linux
Linux驱动学习(4-
字符设备
-自动创建
字符设备
并读写)
上一节我们主要讲解了手动创建
字符设备
节点并访问,但是感觉太过于麻烦,因此,我们这一节主要讲解如何自动创建
字符设备
并进行读写操作,以及讲解编写
字符设备
驱动的框架不过在此之前,我们先不上代码,先了解一下基本的概念
DevilBox
·
2023-10-20 21:05
内核
Linux
linux驱动
框架
linux
Linux应用层例程1 点亮LED灯
方法一:驱动层设备文件控制外设包括
字符设备
文件和块设备文件,设备文件便是各种硬件设备向应用层提供的一个接口,应用层通过对设备文件的I/O操作来操控硬件设备,譬如LCD显示屏、串口、按键、摄像头等等,所以设备文件其实是与硬件设备相互对应的
西伯利亚大草原的狼
·
2023-10-20 21:39
Linux应用层开发
linux
运维
服务器
上一页
2
3
4
5
6
7
8
9
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他