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
RK3288驱动开发
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
题目使用驱动代码实现如下要求:使用驱动通过阻塞io模型读取number变量的值number是内核驱动中的一个变量number的值随着按键按下而改变(按键中断)例如number=0按下按键number=1,再次按下按键number=0在按下按键的时候需要同时将led1的状态取反>驱动中需要编写字符设备驱动驱动中需要自动创建设备节点在这个驱动需要的所有设备信息放在设备树的同一个节点中Repo设备树文件
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
前端
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
开发语言
6.22
驱动开发
作业
字符设备驱动内部实现原理1.字面理解解析:字符设备驱动的内部实现有两种情况:情况1.应用层调用open函数的内部实现:open函数的第一个参数是要打开的文件的路径,根据这个路径虚拟文件系统层VFS可以找到这个文件在文件系统中唯一的标识,也就是inode号,通过inode号作为索引可以找到储存在内核中的structinode结构体,structinode结构体内部储存着structcdev结构体和储
郏公柳易袁
·
2023-06-24 02:21
驱动开发
驱动开发
:内核远程线程实现DLL注入
在笔者上一篇文章《
驱动开发
:内核RIP劫持实现DLL注入》介绍了通过劫持RIP指针控制程序执行流实现插入DLL的目的,本章将继续探索全新的注入方式,通过NtCreateThreadEx这个内核函数实现注入
王 瑞
·
2023-06-23 14:35
《Windows
内核安全编程技术实践》
驱动开发
汇编
内核安全
C语言
驱动注入
信息安全
软件安全
驱动开发
:内核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
驱动开发
6.22作业
字符设备驱动内部实现原理解析以及分布注册流程和代码示例1、内部实现原理:在用户层使用open函数打开一个文件的时候,这个文件会有一个对应的inode号,根据这个inode号,在内核中会有一个structinode类型的空间,用于保存该文件的相关信息。在structinode结构体内部找到字符设备驱动对象,字符设备驱动对象结构体内部找到相应的结构体操作方法,通过虚拟文件系统层回调相应的操作方法。2、
weixin_57486404
·
2023-06-23 07:07
驱动开发
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等函数接口,调用内核空间中的字符设备驱动函数中的用户自定义的open、read、write、close等函数,通过内核驱动函数去操控相应的字符设备。当设备驱动注册进内核时,内核会分配给注册的设备驱动一个编号,每注册一
dsswxzy
·
2023-06-23 05:34
嵌入式学习
驱动开发
petalinux之简易字符设备
驱动开发
目录一、模块工程1.创建驱动模块2.模块编译二、运行在传统的Linux
驱动开发
中,一般是以Linux内核为基础进行模块编译,但是以petalinux创建的工程系统,并没有找到对应的内核源码,不过赛灵思的官网肯定能找得到的
风间琉璃•
·
2023-06-22 19:43
ZYNQ
驱动开发
编写最简单的字符设备驱动
编写最简单的字符设备驱动1编写驱动代码2编写makefile3编译和加载驱动4编写应用程序测试驱动参考文章:linux
驱动开发
第1讲:带你编写一个最简单的字符设备驱动linux
驱动开发
第2讲:应用层的write
p0inter
·
2023-06-22 19:13
Linux内核设计与实现
linux驱动
驱动开发
(1)——字符设备驱动
一、驱动含义字符设备是Linux驱动中最基本的一类设备驱动,字符设备就是一个字节,按照字节进行读写操作设备,读写数据是分先后顺序的。比如我们常见的点灯、按键、IIC、SPI、LCD等都是字符设备,这些设备的驱动就叫做字符设备驱动。在Linux中开发一般只能是用户态,也就是用户只能编写应用程序,但是要作用于内核,那么就需要了解Linux中应用程序是如何调用内核中的驱动程序的,Linux应用程序对驱动
大家好我是覃同学
·
2023-06-22 19:13
驱动基础
linux
Linux之字符设备驱动框架
1.模块加载2.注册字符设备驱动3.内存映射三、字符设备驱动(二)1.模块加载2.申请设备号3.注册字符设备4.自动创建设备节点5.文件私有数据总结前言一、驱动介绍Linux驱动属于内核的一部分,学习
驱动开发
时将驱动设计为内核模块
风间琉璃•
·
2023-06-22 19:13
#
Linux驱动开发
linux
驱动开发
运维
字符设备
驱动开发
流程
字符驱动相关概念解析一、驱动初始化1.1分配设备描述结构1.2初始化设备描述结构1.3.注册设备描述结构1.4.硬件初始化二、实现设备操作2.1open2.2read2.3.write2.4.lseek2.5close2.6参数分析三、驱动注销字符驱动相关概念解析1设备描述结构在任何一种驱动模型,字符、网卡驱动等,设备都会用内核的一种结构来描述。我们的字符设备在内核中使用structcdev来描述
李嘉图Y
·
2023-06-22 19:42
嵌入式相关
字符设备
驱动开发
的流程
目录1.字符设备驱动简介2.字符设备
驱动开发
步骤2.1驱动模块的加载和卸载2.2字符设备注册与注销2.3实现设备的具体操作函数3.linux设备号3.1设备号的组成3.2设备号的分配3.2.1静态分配设备号
猪突猛进进进
·
2023-06-22 19:41
驱动开发bsp
驱动开发
字符设备
驱动开发
流程详解
字符驱动相关概念解析一、驱动初始化1.1分配设备描述结构1.2初始化设备描述结构1.3.注册设备描述结构1.4.硬件初始化二、实现设备操作2.1open2.2read2.3.write2.4.lseek2.5close2.6参数分析三、驱动注销**字符驱动相关概念解析1设备描述结构*在任何一种驱动模型,字符、网卡驱动等,设备都会用内核的一种结构来描述。我们的字符设备在内核中使用structcdev
蜗蜗前行
·
2023-06-22 19:41
LINUX驱动基础解析
驱动开发
字符驱动
驱动流程
陈庙红
Linux驱动框架之i2c驱动框架解析
三、Linux下的I2C
驱动开发
思路目前,在Linux下开发i2c驱动,主要有两种途径:
陈子陌
·
2023-06-22 18:16
Linux驱动开发笔记
I2C
【IIC子系统】IIC驱动框架解析(一)
文章目录I2C设备
驱动开发
I2C设备驱动的三种匹配方式(1)通用的匹配方式:OFstylematch(2)电源管理专用的匹配方式:ACPIstylematch(3)I2C专用的匹配方式:I2Cidtable
liefyuan
·
2023-06-22 18:14
嵌入式Linux驱动
驱动开发
全志V3S嵌入式
驱动开发
(编译器升级到7.5)
【声明:版权所有,欢迎转载,请勿用于商业用途。联系信箱:
[email protected]
】看过我们文章的朋友都知道,前面为了做v3s的驱动,对linuxkernel进行了两次升级。第一次升级是从4.10.y升级到4.14.y,另外一次升级是从4.14.y升级到5.2.y。这中间最主要的原因,就是为了驱动适配的需要,更新的内核可以对硬件驱动有更好的支持,架构也更合理。如果说内核升级尚且可以理解
嵌入式-老费
·
2023-06-22 13:37
全志soc嵌入式开发
驱动开发
《RT-Thread设备
驱动开发
指南》—— 基础篇之UART设备
驱动开发
RT-Thread设备
驱动开发
-第2章UART设备
驱动开发
UART介绍UART(UniversalAsynchronousReceiver/Transmitter,通用异步收发传输器)也常被称为串口。
YZRDEG
·
2023-06-22 10:54
驱动开发
【干货】Android系统定制基础篇:第十七部分(仅允许安装指定签名APK、U盘APP无法访问到U盘中音频文件)
shenhb@dqrd01:~/code/
rk3288
$gitshow814c25ddd422f8f44a3de9451ef25e296a298ea0commit814c25ddd4
凉亭下
·
2023-06-22 09:09
Android
android
java
开发语言
Linux内核态内存泄露检测工具——Kmemleak
我的圈子:高级工程师聚集地我是董哥,高级嵌入式软件开发工程师,从事嵌入式Linux
驱动开发
和系统开发,曾就职于世界500强企业!创作理念:专注分享高质量嵌入式文章,让大家读有所得!
卍一十二画卍
·
2023-06-22 08:43
Linux驱动开发
linux
驱动开发
Linux驱动开发
Linux调试工具
内存泄露检测
linux pinctrl 和 gpio 子系统 LED驱动
pinctrl和gpio子系统借助pinctrl和gpio子系统来简化GPIO
驱动开发
pinctrl子系统pinctrl子系统(drivers/pinctrl)的主要工作内容:①、获取设备树中pin信息
东方欲晓w
·
2023-06-22 03:26
Linux
RAM
linux
驱动开发
运维
嵌入式 Linux LED
驱动开发
实验
#include#include#include#include#include#include#include#include#include#include#include#include#include#include#defineLEDBASE_MAJOR200//主设备号#defineLEDBASE_NAME"LEDBASE"//主设备号#defineLEDOFF0#defineLEDO
行者甲
·
2023-06-21 18:22
Linux驱动开发
字符驱动框架
驱动开发
linux
运维
RK3288
Android logo
kernellogo开机logo图片必须是bmp格式,并且分辨率必须为偶数将制作好的BMP格式logo图片放置Android源码kernel目录下,重新编译即可二、Androidlogo常见问题分析1、
RK3288
Androidubootlogo
icy、泡芙
·
2023-06-21 12:03
Android
数学建模
驱动开发
:内核注册表增删改查
注册表是Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息,注册表是一个巨大的树形结构,无论在应用层还是内核层操作注册表都有独立的API函数可以使用,而在内核中读写注册表则需要使用内核装用API函数,如下将依次介绍并封装一些案例,实现对注册表的创建,删除,更新,查询等操作。
lyshark
·
2023-06-21 09:00
uboot下UCLASS框架详解---结合项目工作中spi master和flash
驱动开发
文章目录一、综述二、UCLASS架构解析2.1uclass2.2udevice2.3uclassdriver2.4driver2.4.1spimasterdriver三、uboot代码解析3.1DM的初始化3.2spinorflash设备识别3.3设备树内容3.4.config配置3.5spi读写测试四、其他相关链接1、SPI协议详细总结附实例图文讲解通信过程2、Linux下spi网卡dm9051
快乐的学习
·
2023-06-21 06:25
驱动
驱动开发
上一页
24
25
26
27
28
29
30
31
下一页
按字母分类:
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
其他