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驱动开发
正点原子嵌入式linux
驱动开发
——platform设备驱动
在前面的学习笔记中,编写的设备驱动都非常的简单,都是对GPIO进行最简单的读写操作。像I2C、SPI、LCD等这些复杂外设的驱动就不能这么去写了,Linux系统要考虑到驱动的可重用性,提出了驱动的分离与分层这样的软件思路,在这个思路下诞生了将来最常打交道的platform设备驱动,也叫做平台设备驱动。本章就来学习一下Linux下的驱动分离与分层,以及platform框架下的设备驱动该如何编写。Li
努力自学的小夏
·
2023-10-26 09:36
linux学习
linux
驱动开发
学习
笔记
stm32
正点原子嵌入式linux
驱动开发
——设备树下platform驱动
在上一篇笔记中,详细的讲解了Linux下的驱动分离与分层,以及总线、设备和驱动这样的驱动框架。基于总线、设备和驱动这样的驱动框架,Linux内核提出来platform这个虚拟总线,相应的也有platform设备和platform驱动。上一篇笔记中讲解了传统的、未采用设备树的platform设备和驱动编写方法。最新的Linux内核已经支持了设备树,因此在设备树下如何编写platform驱动就显得尤为
努力自学的小夏
·
2023-10-26 09:36
linux学习
linux
驱动开发
stm32
学习
笔记
正点原子嵌入式linux
驱动开发
——异步通知
上一篇笔记中使用阻塞或者非阻塞的方式来读取驱动中按键值都是应用程序主动读取的,对于非阻塞方式来说还需要应用程序通过poll函数不断的轮询。最好的方式就是驱动程序能主动向应用程序发出通知,报告自己可以访问,然后应用程序再从驱动程序中读取或写入数据,类似于中断。Linux提供了异步通知这个机制来完成此功能,本章就来学习一下异步通知以及如何在驱动中添加异步通知相关处理代码。异步通知异步通知简介首先来回顾
努力自学的小夏
·
2023-10-26 09:06
linux学习
linux
驱动开发
学习
笔记
stm32
正点原子嵌入式linux
驱动开发
——Linux I2C驱动
Linux内核开发者为了让
驱动开发
工程师在内核中方便的添加自己的I2C设备驱动程序,更容易的在linux下驱动自己的I2C接口硬件,进而引入了I2C总线框架。与Linu
努力自学的小夏
·
2023-10-26 09:29
linux学习
linux
驱动开发
stm32
学习
笔记
测试
驱动开发
的简单理解
TDDTestDrivenDevelopment测试
驱动开发
大致思想是:在编码之前,先写测试代码,测试代码就绪后,编写代码,再去用测试代码去验证编写代码,及时修改完善逻辑。
雨天多久就
·
2023-10-26 07:10
day4
驱动开发
目的:通过字符设备驱动的分步实现编写LED驱动,另外实现特备文件和设备的绑定驱动文件:#include#include#include#include#include#include#include#include"head.h"structcdev*cdev;unsignedintmajor=0;unsignedintminor=0;structclass*cls;structdevice*de
O WL
·
2023-10-26 04:00
驱动开发
Android 设备侧usb
驱动开发
设备初始化:/kernel/arch/arm/mach-msm/board-msmxxxx.cUSB驱动文件文件:/kernel/drivers/usb/gadget/android.c-------复合设备,所有的f开头的接口设备向android.c注册,由android.c控制enable/disable/kernel/drivers/usb/gadget/f_mass_storage.c--
kahn.qiao
·
2023-10-26 01:09
USB协议
android
module
interface
struct
buffer
windows
Wifi
驱动开发
-学习笔记(二)
一.Wifi模块基础知识扫盲1.什么是Wifi模块Wifi模块的主要功能是将信号从串口或TTL电平转化为符合Wifi无线网络通信标准的嵌入式模块。2.Wifi模块的分类Wifi模块主要分成三类a.通用wifi模块比如手机、笔记本、平板电脑上的USB或者SDIO接口模块,Wi-Fi协议栈和驱动是在安卓、Windows、Linux的系统里跑的,是需要非常强大的CPU来完成应用。b.路由器方案的wifi
Chicken_Bird
·
2023-10-26 00:05
学习笔记
linux
操作系统
嵌入式
SpringBoot项目中单元测试与集成测试的应用
测试阶段:编码后或编码前(测试
驱动开发
TDD)测试对象:最小模块(Java-类)测试内容:模块接口测试、局部数据结构、路径测试、错误处理测试、边界测试模块接口测试:对通过被测模块的数据流进行测试。
Rover.x
·
2023-10-26 00:45
#
单元测试
单元测试
postman
测试工具
Linux
驱动开发
之内核定时器【完整教程】
!!!!完整代码在文章最后面!!!!!!!!完整代码在文章最后面!!!!!!!!完整代码在文章最后面!!!!内核定时器基础知识1.系统节拍率 Linux系统节拍率默认为100Hz,是最小的,系统节拍率可以在makemenucofing中设置,其中可以设置为100、200、250、300、500、1000Hz的节拍率,节拍率高低各有优缺点:①高节拍率会提高系统时间精度,采用1000Hz的话,时间精
拼个世界给自己
·
2023-10-25 21:56
Linux
驱动开发
驱动开发
linux
c#
运维
centos
I.MX6ULL ARM
驱动开发
---Linux内核定时器
引言 定时器是我们最常用到的功能,一般用来完成定时功能,通过这些定时器API函数我们可以完成很多要求定时的应用。Linux内核也提供了短延时函数,比如微秒、纳秒、毫秒延时函数。一、Linux内核定时器1、jiffies Linux内核使用全局变量jiffies来记录系统从启动以来的系统节拍数,系统启动的时候会将jiffies初始化为0,jiffies定义在文件include/linux/jif
一盆电子
·
2023-10-25 20:53
ARM驱动开发
驱动开发
arm
linux
linux
驱动开发
- 08_内核定时器
文章目录1Linux时间管理和内核定时器简介1.1内核时间管理简介1.2内核定时器简介1、init_timer函数2、add_timer函数3、del_timer函数4、del_timer_sync函数5、mod_timer函数1.3Linux内核短延时函数2实验程序编写2.1定时器驱动程序编写2.2编写测试APP3编译驱动程序和测试APP3.1编译驱动程序3.2编译测试APP4运行测试链接:C/
kaka的卡
·
2023-10-25 20:52
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
c++开发Windows驱动程序步骤
使用C++进行Windows
驱动开发
需要以下步骤:安装WindowsDriverKit(WDK),该工具包包含了开发Windows驱动所需的所有工具和库文件。编写驱动程序代码。
七月学长
·
2023-10-25 10:08
c++
windows
开发语言
怎么降低Linux内核
驱动开发
的风险?
降低Linux内核
驱动开发
的风险是一个重要的目标,因为内核
驱动开发
可能会对系统的稳定性和安全性产生重要影响。
天天进步2015
·
2023-10-25 05:13
内核开发
1024程序员节
嵌入式
软件测试进阶篇----自动化测试脚本开发
在需要的地方进行调用)3、关键字
驱动开发
:seleniumide关键字
驱动开发
4、数据
驱动开发
:数据和脚本分离。数据专门存储在外部的文件中。
叫我王同学
·
2023-10-25 05:40
软件测试
1024程序员节
自动化
python
selenium
jenkins
gitee
git
正点原子嵌入式linux
驱动开发
——Linux PWM驱动
本章就来学习一下如何在Linux下进行PWM
驱动开发
。PWM驱动解析不在介绍PWM是什么了,直接进入使用。给LCD的背光引脚输入一个PWM信号,这样就可以通过调整占空比的方式来调整LCD背光亮度了。
努力自学的小夏
·
2023-10-25 05:50
linux学习
linux
驱动开发
学习
笔记
stm32
正点原子嵌入式linux
驱动开发
——Linux MISC驱动
misc的意思是混合、杂项的,因此MISC驱动也叫做杂项驱动,也就是当板子上的某些外设无法进行分类的时候就可以使用MISC驱动。MISC驱动其实就是最简单的字符设备驱动,通常嵌套在platform总线驱动中,实现复杂的驱动,本章就来学习一下MISC驱动的编写。MISC设备驱动简介所有的MISC设备驱动的主设备号都为10,不同的设备使用不同的从设备号。随着Linux字符设备驱动的不断增加,设备号变得
努力自学的小夏
·
2023-10-25 05:19
linux学习
linux
驱动开发
stm32
笔记
学习
正点原子嵌入式linux
驱动开发
——Linux INPUT子系统
按键、鼠标、键盘、触摸屏等都属于输入(input)设备,Linux内核为此专门做了一个叫做input子系统的框架来处理输入事件。输入设备本质上还是字符设备,只是在此基础上套上了input框架,用户只需要负责上报输入事件,比如按键值、坐标等信息,input核心层负责处理这些事件。本章就来学习一下Linux内核中的input子系统。input子系统input子系统简介input子系统就是管理输入的子系
努力自学的小夏
·
2023-10-25 05:19
linux学习
linux
驱动开发
学习
笔记
stm32
正点原子嵌入式linux
驱动开发
——Linux自带LED驱动
前面都是自己编写LED灯驱动,其实像LED灯这样非常基础的设备驱动,Linux内核已经集成了。Linux内核的LED灯驱动采用platform框架,因此只需要按照要求在设备树文件中添加相应的LED节点即可,本章就来学习如何使用Linux内核自带的LED驱动来驱动正点原子的STM32MP1开发板上的LED0和LED1这两个LED灯。Linux内核自带LED驱动使能在上一篇笔记的学习中编写基于设备树的
努力自学的小夏
·
2023-10-25 04:44
linux学习
linux
驱动开发
stm32
学习
笔记
arm开发板采用ubuntu根文件系统自动挂载U盘解决方案升级版!
现在使用瑞芯微
RK3288
开发板时,却翻车了。翻车回放:在/etc/udev/rules.d中新建.rules文件,,设置U盘自动挂载路径为/mnt/usb。但是插上
Terry.Z_1009
·
2023-10-25 04:42
Linux
arm开发
ubuntu
linux
讯为Linux
驱动开发
讯为LInux
驱动开发
学习笔记第一期:驱动基础RK3568,国产瑞芯微的CPU,支持多种操作系统,如Linux,Android等1,Linux设备驱动概述驱动概念底层硬件和上层软件的桥梁,让硬件动起来使用驱动框架编程
WBushYdc
·
2023-10-25 00:18
工作笔记
linux
驱动开发
运维
(三)(Driver)
驱动开发
之双机调试环境搭建及内核驱动的运行
文章目录1.
驱动开发
环境搭建2.
驱动开发
新建项目及项目属性配置和编译3.双机调试环境搭建3.1安装虚拟机VMware3.2配置Dbgview.exe工具3.3基于Windbg的双机调试4.内核驱动的运行
Elaine猿
·
2023-10-24 21:17
驱动开发
驱动开发
Driver开发
驱动调试
内核驱动开发
内核驱动运行
Linux内核
驱动开发
的步骤
本文将介绍Linux内核
驱动开发
的一般步骤,以帮助开发者了解如何创建自己的内核驱动。1.准备开发环境在开始Linux内核
驱动开发
之前,首先需要准备好开发环境。
天天进步2015
·
2023-10-24 19:53
内核开发
1024程序员节
Linux内核
驱动开发
的需要掌握的知识点
Linux内核
驱动开发
是一项复杂而有挑战性的任务,需要掌握多方面的知识和技能。下面是一些需要掌握的关键知识点,这些知识将有助于你成功地开发Linux内核驱动程序。
天天进步2015
·
2023-10-24 19:20
内核开发
1024程序员节
面向对象的五个基本原则
在测试
驱动开发
中是典型应用场景,并且也是敏捷开发和自适应软件开发基本原则的重要组成部分。单一功能原则对象应该仅具有一种单一功能开闭原则软件应该对扩展开放,但对于修改封闭里氏替换原则程序中的对象应该
谦业
·
2023-10-24 15:51
正点原子嵌入式linux
驱动开发
——Linux阻塞与非阻塞IO
阻塞和非阻塞IO是Linux
驱动开发
里面很常见的两种设备访问模式,在编写驱动的时候一定要考虑到阻塞和非阻塞。
努力自学的小夏
·
2023-10-24 07:35
linux学习
linux
驱动开发
stm32
笔记
学习
【
驱动开发
】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;unsignedintOTYPER;unsignedintOSPEEDR;unsignedintPUPDR;unsignedintIDR;unsignedintODR;}gpio_t;#d
孟孟能学会
·
2023-10-24 03:34
驱动开发
【PCIe】Linux下PCIe
驱动开发
与学习
目录1.PCIe概述2.pcie总线的拓扑结构3.PCIe配置空间3.1.PCI标准配置空间头(0~64bytes)3.2.PCIcapbility结构(64
smartvxworks
·
2023-10-23 23:54
PCIe高速总线专栏
驱动开发
linux
PCIe
LINUX网络
驱动开发
1Linux网络设备驱动程序概述Linux网络驱动程序遵循通用的接口。设计时采用的是面向对象的方法。一个设备就是一个对象(net_device结构),它内部有自己的数据和方法。一个网络设备最基本的方法有初始化,发送和接收。Linux网络驱动程序的体系结构可以划分为四层:网络协议接口,网络设备接口,设备驱动功能,网络设备和网络媒介层网络驱动程序,最主要的工作就是完成设备驱动功能层。在Linux中所有
悲伤的小强
·
2023-10-23 23:24
设备驱动
驱动开发
linux
linux
驱动开发
学习001:概述
linux的内核源码编译后,会生成一个总的镜像。镜像加载到内存中运行他,就会启动内核。驱动属于内核代码的一部分,对驱动修改要重编整个内核,麻烦但驱动可以独立于内核镜像外,并能动态加载和卸载字符设备驱动,他们按照字节流的方式来进行访问,如鼠标键盘等学习一类驱动,就是学习它的核心数据结构和一组API,然后是由此组成的框架linux中,万物皆是文件,设备也被当成文件。硬件准备好后会主动通知cpu,并非c
搞IT的锋
·
2023-10-23 23:19
驱动
linux
驱动开发
Linux嵌入式
驱动开发
10——设备树开发详解
文章目录全系列传送门常用名词解释DT:DeviceTreeFDT:FlattenedDeviceTreedevicetreesource(dts)devicetreesource,includeDTB(dtsi)devicetreeblob(dtb)devicetreecompoler(dtc)设备树基本语法设备树基本框架设备树语法节点节点名称节点别名节点的引用属性设备树添加自定义节点查看节点编写
“逛丢一只鞋”
·
2023-10-23 22:03
i.MX6
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作业
head.h#ifndef__HEAD_H__#define__HEAD_H__typedefstruct{unsignedintMODER;unsignedintOTYPER;unsignedintOSPEEDR;unsignedintPUPDR;unsignedintIDR;unsignedintODR;}gpio_t;#definePHY_RCC0X50000A28#definePHY_LE
ws1804579305
·
2023-10-23 21:14
驱动开发
驱动开发
day12
platform总线三种匹配方式1.id匹配代码:#include#include#include#includestructresource*res;intirqno;intpdrv_probe(structplatform_device*pdev){res=platform_get_resource(pdev,IORESOURCE_MEM,0);if(res==NULL){returnENOD
疯狗Crazydo
·
2023-10-23 21:42
驱动开发
c语言
Makefile
驱动开发
day13
使用开发板监测温湿度,温度控制灯的亮灭驱动代码i2c.c#include#include#include#include#include#include#include#include#include#include"si7006.h"intmajor;structclass*cls;structdevice*dev;structi2c_client*tclient;structdevice_no
疯狗Crazydo
·
2023-10-23 21:42
驱动开发
arm
驱动开发
day9
目录应用层写程序控制开发板6盏灯的亮灭,要求使用GPIO子系统头文件:驱动代码:应用层代码:驱动安装:应用层使用gpio子系统控制灯的亮灭效果:1.控制LED2熄灭:2.控制LED6熄灭:3.控制LED2重新点亮:应用层写程序控制开发板6盏灯的亮灭,要求使用GPIO子系统头文件:#ifndef__MYLED_H_#define__MYLED_H_typedefenum{LED1=1,LED2,LE
疯狗Crazydo
·
2023-10-23 21:41
驱动开发
c语言
arm
驱动开发
day5
目录头文件:源文件:Makefile:自动创建设备节点成功:点亮led灯的效果:点灯要求:1)分部实现注册字符设备驱动2)自动创建设备节点3)通过结构体对led灯地址进行映射4)次设备号完成私有数据传参头文件:#ifndef__ZY1_H_#define__ZY1_H_#definePHY_GPIOE0x50006000#definePHY_GPIOF0x50007000#definePHY_RC
疯狗Crazydo
·
2023-10-23 21:11
驱动开发
Makefile
c语言
驱动开发
day8
获取键值:通过设备树键名获取键值驱动代码:#include#include#includestructdevice_node*node;structproperty*pr;intlen,i,ret;unsignedintval;unsignedintarray[2];unsignedcharstring[8];constchar*str;staticint__initmycdev_init(voi
疯狗Crazydo
·
2023-10-23 21:11
驱动开发
驱动开发
LED灯绑定设备文件
头文件#ifndef__HEAD_H__#define__HEAD_H__typedefstruct{unsignedintMODER;unsignedintOTYPER;unsignedintOSPEEDR;unsignedintPUPDR;unsignedintIDR;unsignedintODR;}gpio_t;#definePHY_LED1_ADDR0x50006000#definePHY
只想立刻躺平
·
2023-10-23 21:02
驱动开发
驱动开发
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开发
算法
Win10下VS2019
驱动开发
环境搭建(一)
本文主要讲怎样正确编译得到驱动程序(不包括调试)。环境:VS2019Community+Windows10专业版1.安装VS2019下载VisualStudioInstaller,安装时工作负载选择使用C++的桌面开发。由于WDK默认启用了Spectre缓解,需要在单个组件中添加生成工具对应版本的Spectre缓解库。(这里只下载了x64/x86处理器架构)2.安装WDK下载的WDK需要与VS20
江小辉9914
·
2023-10-23 08:33
驱动开发环境
驱动程序
内核
win10专业版
驱动开发
我使用的系统版本如何下:使用的visualstudio为VS2019,使用的SDK,WDK如下:在visualstudio单个组件里选择SDK10.0.018362.0在WDK里面选择版本为:下载链接如下:以前的WDK版本和其他下载-Windowsdrivers|MicrosoftLearn
极客-杀生丸
·
2023-10-23 08:00
嵌入式
计算机硬件
虚拟机
驱动开发
RK3568 USB
驱动开发
一.USB的DTS配置说明1.USB2.0控制器DTS1.1USB2.0Host控制器DTSUSB2.0Host0控制器(EHCI&OHCI)的DTS为例:其中,EHCI控制器的compatible固定为“generic-ehci”,OHCI控制器的compatible固定为“genericohci”。并且,EHCI和OHCI复用同样的clocks和phys。属性“power-domains”并不
学习&笔记
·
2023-10-23 07:49
瑞芯微
驱动开发
Linux
驱动开发
/ gpio子系统 / 快速入门
从这两个子系统开始学习
驱动开发
是个不错的入门选择。
嵌入式小傻瓜
·
2023-10-23 07:49
Linux
驱动开发
内核
嵌入式
编程语言
linux
物联网
iTOP3399开发板GPIO子系统-应用层控制GPIO
GPIO是比较常用的资源,比如说控制LED灯亮灭,控制LCD上电,控制模块的复位电路,做外设的中断脚等等,这些都有对GPIO的操作和使用,所以说,GPIO开发是
驱动开发
中必不可少的操作,而且也是最基础的东西
mucheni
·
2023-10-23 07:18
3399
RK3568平台 GPIO子系统框架
gpio子系统的主要目的就是方便
驱动开发
者使用gpio,
驱动开发
者在设备树中添加gpio相关信息,然后就可以在驱动程序中使用gpio子系统提供的API函数来操作GPIO,Linux内核向
驱动开发
者屏蔽掉了
学习&笔记
·
2023-10-23 07:48
瑞芯微
驱动开发
VL53L5CX
驱动开发
(5)----运动阈值检测
VL53L5CX
驱动开发
----5.运动阈值检测概述视频教学样品申请源码下载生成STM32CUBEMX选择MCU串口配置IIC配置INT设置配置使能与复位X-CUBE-TOF1串口重定向代码配置检测流程
记帖
·
2023-10-23 02:43
单片机
传感器
stm32cube
STM32CUBEMX
运动阈值检测
vl53l5cx
tof
雪崩二极管
红外人体感应
飞行时间
上一页
9
10
11
12
13
14
15
16
下一页
按字母分类:
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
其他