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
字符设备驱动开发
低代码平台的实现原理
基于模型驱动的可视化开发是当前低代码平台实现的主要实现技术,为什么基于模型
驱动开发
成为了低代码的主要技术途径,本文阐述其基本的实现原理。一、模型驱动原理模型驱动是一种软件开发方法,利用一系列模型的设
冲浪中台
·
2023-07-14 12:09
低代码
python
java
tty(四)tty框架分析
基于linux-3.14.16重要文件:tty_io.c一、tty子系统开机添加了2个次设备号为0和1的
字符设备
,即/dev/tty和/dev/console。
思而后行之
·
2023-07-14 09:04
Linux内核和驱动
linux
linux lsmod(查看驱动模块)和 ls /dev(驱动设备)
当
驱动开发
人员编写好驱动代码,并生成驱动代码对应的驱动模块后,可以通过insmodxxx.ko将驱动模块(.ko)加载到linux操作系统中。
滨边美波她男友
·
2023-07-14 06:01
linux
内核驱动
linux
运维
服务器
C++的应用方向
1、嵌入式开发嵌入式相关的岗位需求比较多,主要是硬件产品的
驱动开发
,很多大公司,比如华为、小米、vivo和一些芯片公司都在大量的招聘嵌
贝壳里的海-AI
·
2023-07-14 06:24
C++篇
c++
TDD和单元测试
这篇博客的动机是解释测试
驱动开发
中使用的测试的性质和目的。为了避免混淆,我将使用表达式TDD测试来引用测试
驱动开发
环境中使用的测试类型。
闰土月下追猹
·
2023-07-14 05:30
工具
单元测试
tdd
驱动开发
作业4
作业1在内核模块中启用定时器,定时1s,让led1一秒亮,一秒灭全部代码#include#include#include#include#include#include#include#includestructdevice_node*dnode;structgpio_desc*gpiono;structtimer_listmytimer;//定义定时器对象//定义定时器处理函数voidmytim
zjuthqy
·
2023-07-14 04:28
华清远见
驱动开发
驱动开发
作业6
题目要求同作业5,但是使用platform总线注册驱动Repo#include#include#include#include#include#include#include#include#includeintmajor;structclass*cls;structdevice*dev;structresource*res;structdevice_node*dnode;unsignedinti
zjuthqy
·
2023-07-14 04:28
华清远见
驱动开发
Valve 签约开源 Linux 图形
驱动开发
者
导读据外媒phoronix报道,Valve最近聘用了著名开源Linux图形
驱动开发
者AlyssaRosenzweig,以改进开源Linux图形驱动程序堆栈,增强Linux游戏生态系统。
csdn_linuxprobe
·
2023-07-14 04:28
linux
驱动开发
运维
驱动开发
作业1
下面代码中的gpio.h和rcc.h是led项目中的common/include目录下的stm32mp1xx_gpio.h和stm32mp1xx_rcc.h所以不贴代码了,完整的目录查看这个仓库这里直接把GPIOE/GPIOF,RCC结构体的地址映射到虚拟地址中用户空间应用程序的代码没有修改,也不贴上来了,输入1,2,3分别对应开关LED1,2,3#include#include#include#
zjuthqy
·
2023-07-14 04:57
驱动开发
驱动开发
作业2
使用ioctl替换write/read控制LED、蜂鸣器、马达、风扇,并使用udev来自动创建设备文件完整代码目录,请看这个仓库依然使用之前ARM课程中的common中的结构体代码都差不多,就贴个led.c,用户空间测试代码test.c和头文件head.h不同设备dev,cls以及major命名要不同FSMP1A扩展板引脚:LED1,LED2,LED3:PE10,PF10,PE8蜂鸣器:PB6马达
zjuthqy
·
2023-07-14 04:57
驱动开发
驱动开发
作业3
编写LED灯的驱动,创建三个设备文件,每个设备文件和一个LED灯绑定,当操作这个设备文件时只能控制设备文件对应的这盏灯。完整目录,查看这个仓库注册设备驱动对象cdev_add也需要对三个LED分别添加,否则LED2和LED3的设备文件虽然生成,但是无法被用户空间打开#include#include#include#include#include#include#include#include#in
zjuthqy
·
2023-07-14 04:57
华清远见
驱动开发
驱动开发
-day9
驱动代码:#include#include#include#include#include#include#include#include#include#include#includestructcdev*cdev;unsignedintmajor=500;unsignedintminor=0;dev_tdevno;structclass*cls;structdevice*dev;structd
三只小鸹貔
·
2023-07-14 04:52
驱动开发
字符设备
驱动开发
(最初方式)
目录:1.
字符设备
驱动简介2.
字符设备
驱动开发
步骤2.1.驱动模块的加载与卸载2.2.Makefile的编写2.3.
字符设备
的注册与注销2.3.1.设备号的组成2.3.2.设备号的分配2.4.具体操作函数的实现
嵌入式进阶之路
·
2023-07-14 04:20
驱动开发
linux
ubuntu
Linux
驱动开发
:Linux内核启动流程详解
前言:Linux内核同样作为Linux
驱动开发
的“三巨头”之一,Linux内核的启动流程要比uboot复杂的多,涉及到的内容也更多。
混分巨兽龙某某
·
2023-07-14 04:47
Linux驱动开发
Linux内核
嵌入式
驱动开发
【IMX6ULL
驱动开发
学习】19.mmap内存映射
mmap将一个文件或者其它对象映射进内存,使得应用层可以直接读取到驱动层的数据,无需通过copy_to_user函数可以用于像LCD这样的外设,需要读写大量数据的一、应用层mmap用法:用open系统调用打开文件,并返回描述符fd.用mmap建立内存映射,并返回映射首地址指针start.对映射(文件)进行各种操作,显示(printf),修改(strcpy、memncpy、sprintf、直接修改等
晨少爱学习
·
2023-07-14 04:46
IMX6ULL
驱动开发
imx6ull
mmap
内存映射
Linux驱动
驱动
【IMX6ULL
驱动开发
学习】20. input子系统(按键实现ls命令)
一、input子系统相关结构体二、input子系统实例实现:staticstructinput_dev*key_input;staticvoidmy_timer_handle(unsignedlongdata){....../*5.input子系统上报事件*///第三个参数要变,如果两次上报value相同,则input子系统不会响应input_report_key(key_input,key_gp
晨少爱学习
·
2023-07-14 04:46
IMX6ULL
驱动开发
input子系统
input
Linux驱动
imx6ull
驱动
【IMX6ULL
驱动开发
学习】18.中断下半部(tasklet、工作队列、中断线程化)
下图表述了Linux内核的中断处理机制,为了在中断执行时间尽量短和中断处理需完成的工作尽量大之间找到一个平衡点,Linux将中断处理程序分解为两个半部:顶半部(TopHalf)和底半部(BottomHalf)。顶半部:用于完成尽量少的比较紧急的功能,它往往只是简单地读取寄存器中的中断状态,并在清除中断标志后就进行“登记中断”的工作。“登记中断意味着将底半部处理程序挂到该设备的底半部执行队列中去。这
晨少爱学习
·
2023-07-14 04:45
IMX6ULL
驱动开发
中断
tasklet
工作队列
中断线程化
imx6ull
中断下半部
【IMX6ULL
驱动开发
学习】15.IMX6ULL
驱动开发
问题记录(sleep被kill_fasync打断)
发现问题的契机:学习异步通知的时候,自己实现一个功能:按键控制蜂鸣器,同时LED灯在闪烁结果:LED好像也同时被按键控制了最后调试结果发现:应用层的sleep被驱动层的kill_fasync打断,所以sleep没有执行完就重新进入下一次循环了修改代码后解决该问题解决逻辑就是:既然休眠函数会被打断,则让每次休眠的时间短一点解释:sleep函数是可以被中断的,也就是说当进程在睡眠的过程中,如果被中断,
晨少爱学习
·
2023-07-14 04:15
IMX6ULL
驱动开发
学习
IMX6ULL
fasync
【IMX6ULL
驱动开发
学习】17.内核定时器(按键消抖)
1.内核定时器初始化setup_timer(structtimer_list*timer,void(*function)(unsignedlong),unsignedlongdata);timer:定时器结构体structtimer_listfunction:定时器处理函数data:参数2.设置定时器的超时时间timer.expires=0;3.注册内核定时器,将定时器加人到内核动态定时器链表中a
晨少爱学习
·
2023-07-14 04:15
IMX6ULL
驱动开发
定时器
内核定时器
按键消抖
imx6ull
Linux驱动
驱动开发
作业5
是内核驱动中的一个变量number的值随着按键按下而改变(按键中断)例如number=0按下按键number=1,再次按下按键number=0在按下按键的时候需要同时将led1的状态取反>驱动中需要编写
字符设备
驱动驱动中需要自动创建设备节点在这个驱动需要的所有设备信息放在设备树的同一个节点中
zjuthqy
·
2023-07-14 04:43
华清远见
驱动开发
RK3399
驱动开发
_ 05 - Android系统中debug串口输出乱码及波特率设置
文章目录前言一、串口输出乱码及其原因二、串口波特率修改1.uboot修改2.内核中设备树dts修改3.重新编译并烧录三、串口输出测试总结前言在RK3399平台开发过程中,串口debug是一种不错的调试手段。但很多时候串口在打印过程中会出现正常输出一段时间后,莫名出现打印乱码情况。本文旨在解决设备启动后,串口正常打印一段时间后出现乱码的问题。系统:Android8.1内核:Kernel4.4.167
chenkanuo
·
2023-07-14 00:04
驱动开发
android
RK3399
驱动开发
_ 06 - wk2124 串口
驱动开发
文章目录前言一、WK21241.概述2.源码下载二、Linux驱动1.驱动简介2.驱动源码修改3.内核中设备树dts修改4.驱动模块编译三、测试1.重新编译并烧录2.编译并加载驱动模块3.查看注册到内核的串口设备节点前言在RK3399平台开发过程中,经常需要用到串口扩展芯片。本文介绍一款SPI转串口的扩展芯片WK2124。一、WK21241.概述WK2124是SPI接口的4通道UART器件,实现了
chenkanuo
·
2023-07-14 00:04
驱动开发
RK3399
驱动开发
_ 04 - Android系统中通过fdt文件系统反编译查看设备中真实生效的设备树配置信息
文章目录前言一、设备树保存在文件系哪里?二、文件系统设备树dts编译与反编译2.1设备树原始dtb格式2.2从设备中获取目标文件fdt2.3在ubuntu系统中将fdt反编译成dts2.3.1安装反编译dtc工具2.3.2使用安卓系统自带的dtc工具2.3.3将fdt反编译成dts2.3.4从文件系统反编译设备树dts2.4.在ubuntu系统中将dtb编译成dts三、重要补充前言在根文件系统中查
chenkanuo
·
2023-07-14 00:34
驱动开发
android
C++软件工程师的发展前景如何?老程序员:早知道当年就学C++了
目前国内的嵌入式开发非常火,而C++主要用于底层的嵌入式开发、
驱动开发
等,也用于WINCE等嵌入式系统的应用软件开发。可以说C++软件工程师发展前景还是不错的,下面就给大家具体介绍一下。
哪有岁月静好
·
2023-07-13 23:17
敏捷整洁之道 -- 第五章 技术实践
敏捷整洁之道--第五章技术实践1.测试
驱动开发
2.重构3.简单设计4.结对编程全文学习于《敏捷整洁之道》作者:[美]罗伯特·C.马丁译者:申健何强罗涛1.测试
驱动开发
测试
驱动开发
类似于复式记账:复式记账
S_numb
·
2023-07-13 16:56
CLeanCode
驱动开发
基于 Qt Quick + websocket 的 Web 扫描仪
驱动开发
基于QtQuick+websocket的Web扫描仪
驱动开发
核心需求在浏览器中点击扫描按钮,驱动扫描仪进行扫描,接收图片保存到ftp指定路径。
AaronZZH
·
2023-07-13 16:23
编程语言
qt
websocket
前端
linux块设备——mmc子系统
card/core/host三层(最上面为文件系统)card跟linux的块设备子系统对接,实现块设备的驱动请求,位于文件系统之下core层实现具体的协议,一般指SDIO的协议host实现具体的驱动块设备与
字符设备
的差异块设备在
fyl027
·
2023-06-24 09:44
linux
6.20
驱动开发
作业
通过GPIO子系统编写LED驱动,应用程序控制LED灯亮灭head.h#ifndef__HEAD_H__#define__HEAD_H__//封装GPIO组寄存器结构体typedefstruct{unsignedintMODER;unsignedintOTYPER;unsignedintOSPEEDR;unsignedintPUPDR;unsignedintIDR;unsignedintODR;}
郏公柳易袁
·
2023-06-24 02:22
笔记
驱动开发
6.23
驱动开发
作业
epoll实现并发服务器代码#include#include#include#include#include#include#include#include#include#include#include#include#include#defineERR_MSG(msg)do{\fprintf(stderr,"line:%d",__LINE__);\perror(msg);\}while(0)#
郏公柳易袁
·
2023-06-24 02:22
数学建模
java
开发语言
关于
字符设备
驱动的内部实现的自我理解
字符设备
驱动的内部实现有两种情况:1.应用层调用open函数的内部实现:.open函数的第一个参数是要打开的文件的路径,根据这个路径虚拟文件系统层VFS可以找到这个文件在文件系统中唯一的标识,也就是inode
郏公柳易袁
·
2023-06-24 02:52
笔记
数学建模
6.22
驱动开发
作业
字符设备
驱动内部实现原理1.字面理解解析:
字符设备
驱动的内部实现有两种情况:情况1.应用层调用open函数的内部实现:open函数的第一个参数是要打开的文件的路径,根据这个路径虚拟文件系统层VFS可以找到这个文件在文件系统中唯一的标识
郏公柳易袁
·
2023-06-24 02:21
驱动开发
【硬件1】
文章目录1.2.串口3.看门狗4.gpio1.1.
字符设备
:串口,键盘,鼠标,帧缓存设备(LCD)。字节流形式串行顺序进行,至少要实现open,close,read,write等系统调用。
weixin_43435675
·
2023-06-24 00:49
linux
导出符号表和
字符设备
驱动
撰写提供者.c文件1.4.撰写提供者makefile文件1.5.执行makefile文件生成Module.symvers1.6.撰写调用者.c文件1.7.撰写调用者的makefile1.8.调用验证2.
字符设备
驱动
SouthernBird
·
2023-06-23 23:54
驱动
linux
驱动开发
ubuntu
驱动day4大概讲解
字符设备
驱动内部实现原理
open函数回调到驱动中open操作方法的路线:open()->sys_open()->structinode结构体->structcdev结构体->structfile_operations结构体->mycdev_open首先open函数的调用第一个参数即为绝对路径下的文件名,并可以通过ls-i查看当前文件的唯一inode号,inode号是文件存在于文件系统中的唯一标识,相当于人们的身份证号,同
GZDWW12345
·
2023-06-23 18:50
学习
Linux设备驱动程序(三)——字符驱动
主设备号和次设备号1、设备编号的内部表达2、分配和释放设备编号3、主编号的动态分配三、一些重要的数据结构1、文件操作(file_operation)2、文件结构(structfile)3、inode结构四、
字符设备
的注册
p-明天,你好!
·
2023-06-23 16:04
linux设备驱动程序
linux
驱动开发
驱动开发
:内核远程线程实现DLL注入
在笔者上一篇文章《
驱动开发
:内核RIP劫持实现DLL注入》介绍了通过劫持RIP指针控制程序执行流实现插入DLL的目的,本章将继续探索全新的注入方式,通过NtCreateThreadEx这个内核函数实现注入
王 瑞
·
2023-06-23 14:35
《Windows
内核安全编程技术实践》
驱动开发
汇编
内核安全
C语言
驱动注入
信息安全
软件安全
Android进程间通信之一:Binder机制学习
Linux下的传统IPC通信原理Linux下的传统IPC通信原理Binder通信过程ServiceManager进程启动MMAPBinder驱动binder驱动在以misc设备进行注册,作为虚拟
字符设备
~~1112233
·
2023-06-23 13:41
Android
Binder
java
visual
studio
android
android-studio
驱动开发
:内核RIP劫持实现DLL注入
本章将探索内核级DLL模块注入实现原理,DLL模块注入在应用层中通常会使用CreateRemoteThread直接开启远程线程执行即可,驱动级别的注入有多种实现原理,而其中最简单的一种实现方式则是通过劫持EIP的方式实现,其实现原理可总结为,挂起目标进程,停止目标进程EIP的变换,在目标进程开启空间,并把相关的指令机器码和数据拷贝到里面去,然后直接修改目标进程EIP使其强行跳转到我们拷贝进去的相关
王 瑞
·
2023-06-23 12:10
《Windows
内核安全编程技术实践》
驱动开发
汇编
C语言
内核安全
系统安全
驱动开发
:内核中进程与句柄互转
在内核开发中,经常需要进行进程和句柄之间的互相转换。进程通常由一个唯一的进程标识符(PID)来标识,而句柄是指对内核对象的引用。在Windows内核中,`EProcess`结构表示一个进程,而HANDLE是一个句柄。为了实现进程与句柄之间的转换,我们需要使用一些内核函数。对于进程PID和句柄的互相转换,可以使用函数如`OpenProcess`和`GetProcessId`。OpenProcess函
lyshark
·
2023-06-23 10:00
ARM-驱动
字符设备
驱动的内部实现:文件存在文件系统中,会有一个标识inode号,基于这个标识找到了struct_inode结构体(保存当前文件信息),struct_inode结构体中有一个structcdev*i_cdev
全村的希望∞
·
2023-06-23 09:09
驱动开发
驱动开发
6.22作业
字符设备
驱动内部实现原理解析以及分布注册流程和代码示例1、内部实现原理:在用户层使用open函数打开一个文件的时候,这个文件会有一个对应的inode号,根据这个inode号,在内核中会有一个structinode
weixin_57486404
·
2023-06-23 07:07
驱动开发
字符设备
驱动
一、
字符设备
驱动框架解析设备的操作函数如果比喻是桩的话(性质类似于设备操作函数的函数,在一些场合被称为桩函数),则:驱动实现设备操作函数-----------做桩insmod调用的init函数主要作用-
m0_74936872
·
2023-06-23 07:35
驱动开发
ASP.NET MVC 介绍
如果以前用ASP.NETWEBFORM开发,来学习ASP.NETMVC的话,那么请先忘记事件
驱动开发
的模式,ASP.NETWEBFORM开发的过程是,先创建一个页面,在设计页面上,从工具栏中直接拓一个按钮出来
Dino
·
2023-06-23 05:55
驱动开发
--LED设备树
//led.c#include#include#include#include#include#defineLED_ON_IO('l',1)#defineLED_OFF_IO('l',0)structcdev*cdev;intgpiono1;intgpiono2;intgpiono3;charkbuf[128]={0};structdevice_node*dnode;structclass*cls
dsswxzy
·
2023-06-23 05:07
嵌入式学习
驱动开发
驱动开发
--字符驱动设备2
字符设备
驱动1.定义以字节流的形式进行访问,且只能顺序访问的设备,针对
字符设备
编写的驱动叫做
字符设备
驱动2.
字符设备
框架用户空间通过IO函数如open、read、write、close等函数接口,调用内核空间中的
字符设备
驱动函数中的用户自定义的
dsswxzy
·
2023-06-23 05:34
嵌入式学习
驱动开发
字符设备
驱动内部实现原理解析及分步注册流程和代码实例
一、
字符设备
驱动内部实现原理用户层调用open函数时,内核层的sys_open()会根据用户层传递的文件路径参数找到该文件的文件信息结构体structinode{},这个文件信息结构体存放的是该文件的相关信息
2301_76545681
·
2023-06-23 04:51
驱动开发
字符设备
内部实现原理
在inode的结构体中的共用体中有一个
字符设备
结构体指针,在追这个cdev指针后,会发现该结构体中记录了操作方法结构体指针和设备号。
stevict
·
2023-06-23 03:27
linux
day1
内核中的VFS层会调用设备驱动中的sys_open()函数,在sys_open()函数中,内核会根据文件的inode号判断文件是否存在于文件系统中,如果存在,内核会找到这个文件的文件信息结构体,并通过
字符设备
驱动对象结构体指针找到操作方法结构体中的
stevict
·
2023-06-23 03:55
linux
字符设备
驱动内部实现原理解析
字符设备
驱动内部实现原理解析一.
字符设备
驱动对象内部实现原理解析二.
字符设备
驱动的注册流程三.代码示例一.
字符设备
驱动对象内部实现原理解析用户层:当用户打开(open)一个文件时,会生成一个文件描述符表内核层
m0_37565374
·
2023-06-23 02:12
驱动开发
驱动开发
驱动02 简单
字符设备
驱动点灯
准备:stm32mp157芯片已知led灯引脚,pe10,pe8,pf10字符驱动代码#include#include#include#include#include#include"led.h"unsignedintmajor;charkbuf[128]={0};//定义三个指针指向映射后的虚拟内存首地址unsignedint*vir_rcc;unsignedint*vir_moder_e;un
破路测
·
2023-06-22 19:44
学习日报
c语言
linux
上一页
31
32
33
34
35
36
37
38
下一页
按字母分类:
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
其他