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驱动开发篇
正点原子嵌入式
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驱动
在电子产品硬件设计当中,I2C是一种很常见的同步、串行、低速、近距离通信接口,用于连接各种IC、传感器等器件,它们都会提供I2C接口与SoC主控相连,比如陀螺仪、加速度计、触摸屏等,其最大优势在于可以在总线上扩展多个外围设备的支持。Linux内核开发者为了让驱动开发工程师在内核中方便的添加自己的I2C设备驱动程序,更容易的在linux下驱动自己的I2C接口硬件,进而引入了I2C总线框架。与Linu
努力自学的小夏
·
2023-10-26 09:29
linux学习
linux
驱动开发
stm32
学习
笔记
STM32G030F6P6点灯闪烁
前言(1)如果有嵌入式企业需要招聘湖南区域日常实习生,任何区域的暑假
Linux驱动
实习岗位,可C站直接私聊,或者邮件:
[email protected]
,此消息至2025年1月1日前均有效(2)
风正豪
·
2023-10-26 07:34
STM32G030
stm32
如何使用Linux编写STM32程序并且烧录
前言(1)如果有嵌入式企业需要招聘湖南区域日常实习生,任何区域的暑假
Linux驱动
实习岗位,可C站直接私聊,或者邮件:
[email protected]
,此消息至2025年1月1日前均有效(2)
风正豪
·
2023-10-26 07:25
#
STM32F103
stm32
【
linux驱动
】简单字符设备驱动
1.设备文件相关结构体和函数一个Linux系统,默认最大的主设备号是255,结构体如下//include/linux/fs.h#defineCHRDEV_MAJOR_HASH_SIZE255///fs/char_dev.cstaticstructchar_device_struct{structchar_device_struct*next;unsignedintmajor;unsignedint
yong1585855343
·
2023-10-26 03:37
linux
内核
驱动开发
Linux驱动
开发之内核定时器【完整教程】
!!!!完整代码在文章最后面!!!!!!!!完整代码在文章最后面!!!!!!!!完整代码在文章最后面!!!!内核定时器基础知识1.系统节拍率 Linux系统节拍率默认为100Hz,是最小的,系统节拍率可以在makemenucofing中设置,其中可以设置为100、200、250、300、500、1000Hz的节拍率,节拍率高低各有优缺点:①高节拍率会提高系统时间精度,采用1000Hz的话,时间精
拼个世界给自己
·
2023-10-25 21:56
Linux
驱动开发
驱动开发
linux
c#
运维
centos
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
运维
linux amba机制,详解ARM的AMBA设备中的DMA设备PL08X的
Linux驱动
-3
/**EnabletheDMAchannel*ASSUMESAllotherconfigurationbitshavebeenset*asdesiredbeforethiscodeiscalled*/voidpl08x_enable_dmac_chan(unsignedintcnum){void__iomem*cbase=pd.base+PL08X_OS_CHAN_BASE+(cnum*PL08X
知乎科技
·
2023-10-25 19:24
linux
amba机制
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驱动
程序中,阻塞进程可以使用等待队列来实现。
温人之周.
·
2023-10-25 09:28
RK3568
linux驱动开发笔记(迅为)
linux
【Flutter从入门到实战】⑲Flutter的项目实战-美食广场-2、widget改成Stateless、Provider共享数据 、Consumer-Selector的使用、抽取重用的widget
Flutter从入门到实战一共分为23个系列①(Flutter、Dart环境搭建篇)共3个内容已更新②(Dart语法1篇)共4个内容已更新③(Dart语法2篇)共2个内容已更新④(Flutter案例
开发篇
宇夜iOS
·
2023-10-25 08:01
Flutter
Flutter
Flutter项目实战
Provider
抽取重用widget
Dio网络请求
【Flutter从入门到实战】⑭、状态管理、Flutter为什么需要状态管理、共享状态管理inheriedWidget的使用、Flutter官方推荐第三方Provider的使用
Flutter从入门到实战一共分为23个系列①(Flutter、Dart环境搭建篇)共3个内容已更新②(Dart语法1篇)共4个内容已更新③(Dart语法2篇)共2个内容已更新④(Flutter案例
开发篇
宇夜iOS
·
2023-10-25 08:00
Flutter
flutter
android
ios
android
studio
Flutter的状态管理
正点原子嵌入式
linux驱动
开发——Linux PWM驱动
PWM是很常用到功能,可以通过PWM来控制电机速度,也可以使用PWM来控制LCD的背光亮度。本章就来学习一下如何在Linux下进行PWM驱动开发。PWM驱动解析不在介绍PWM是什么了,直接进入使用。给LCD的背光引脚输入一个PWM信号,这样就可以通过调整占空比的方式来调整LCD背光亮度了。提高占空比就会提高背光亮度,降低占空比就会降低背光亮度,重点就在于PWM信号的产生和占空比的控制。设备树下PW
努力自学的小夏
·
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
学习
笔记
Linux驱动
编译模块和开机自动挂载模块
Linux驱动
编译模块和开机自动挂载模块
[email protected]
如果有错误,希望被指出需要的驱动文件简单测试程序driver.c#include#includestaticintdev_test_init
Fang XS.
·
2023-10-25 01:32
Linux驱动
linux
驱动开发
Linux驱动
设备节点查看
Linux驱动
设备节点查看
[email protected]
如果有错误,希望被指出查看设备节点驱动注册成功生成设备节点ls/dev/查看设备号主设备号cat/proc/devices包括字符设备和块设备
Fang XS.
·
2023-10-25 01:02
Linux驱动
linux
驱动开发
讯为
Linux驱动
开发
讯为
LInux驱动
开发学习笔记第一期:驱动基础RK3568,国产瑞芯微的CPU,支持多种操作系统,如Linux,Android等1,Linux设备驱动概述驱动概念底层硬件和上层软件的桥梁,让硬件动起来使用驱动框架编程
WBushYdc
·
2023-10-25 00:18
工作笔记
linux
驱动开发
运维
【Flutter从入门到实战】⑯Flutter的动画、Animation-以心跳案例、交织动画(多个动画一起)-以矩形旋转变大小、FlutteriOS动画弹出页面效果、Hero动画案例-图片放大展示
Flutter从入门到实战一共分为23个系列①(Flutter、Dart环境搭建篇)共3个内容已更新②(Dart语法1篇)共4个内容已更新③(Dart语法2篇)共2个内容已更新④(Flutter案例
开发篇
宇夜iOS
·
2023-10-24 11:24
Flutter
Flutter
Flutter动画
Flutter的Hero动画
Flutter的交织动画
Flutter的iOS弹出
三种Linux字符设备驱动写法-2:总线设备驱动框架
参考资料:嵌入式
Linux驱动
学习-6.platform总线设备驱动模型嵌入式
Linux驱动
学习-5.驱动的分层分离思想1.分离思想回顾第一篇,最简单的驱动框架:如下,在驱动程序中直接把资源(IO引脚)
闪耀大叔
·
2023-10-24 10:39
嵌入式Linux入门
嵌入式
单片机
物联网
arm
linux
正点原子嵌入式
linux驱动
开发——Linux阻塞与非阻塞IO
阻塞和非阻塞IO是
Linux驱动
开发里面很常见的两种设备访问模式,在编写驱动的时候一定要考虑到阻塞和非阻塞。
努力自学的小夏
·
2023-10-24 07:35
linux学习
linux
驱动开发
stm32
笔记
学习
linux驱动
开发学习001:概述
linux的内核源码编译后,会生成一个总的镜像。镜像加载到内存中运行他,就会启动内核。驱动属于内核代码的一部分,对驱动修改要重编整个内核,麻烦但驱动可以独立于内核镜像外,并能动态加载和卸载字符设备驱动,他们按照字节流的方式来进行访问,如鼠标键盘等学习一类驱动,就是学习它的核心数据结构和一组API,然后是由此组成的框架linux中,万物皆是文件,设备也被当成文件。硬件准备好后会主动通知cpu,并非c
搞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开发
Linux驱动
——设备树
在对总线设备驱动进行详细说明时可以看出,虽然总线设备驱动可以实现驱动和设备分离,但是总线设备驱动引发另外的一个问题就是在相同的芯片不同的开发板上,当外设资源不同时需要在不同的设备文件中去定义引脚,这样就导致开发板中保留大量设备文件。为了解决这一问题引入了设备树。设备树是为内核中的驱动程序定义硬件信息。上层应用层调用相关设备文件时,会去调用底层的相关设备驱动文件,而驱动所需要操作的相关引脚是由设备树
基尔霍夫原来是码农
·
2023-10-23 22:30
boot
Linux驱动
ARM
linux
驱动程序
驱动开发
linux驱动
学习——自动创建设备节点
文章目录7.1、udev7.2、函数说明7.3、示例代码7.1、udevlinux传统上使用静态设备创建方法,因此大量设备节点在/dev下创建(有时上千个),而不管相应的硬件设备是否真正存在。采用udev的方法,只有被内核监测到的设备,才会去为它们创建设备节点。当插入新设备——加入驱动模块——在sysfs上注册新的数据后,udev会创建新的设备节点。linux系统中/sys/devices/vir
cike626
·
2023-10-23 22:30
linux驱动
linux
Linux驱动
——设备树节点为什么必须要有status属性?
个人声明:转发请注明出处,个人原创,实属不易。本人水平有限,文章若有不妥之处,还请留言批评指正,不胜感激。设备树节点的描述信息必须包含status属性!!!一、原因分析在platform驱动框架下,会使用到pinctrl子系统和GPIO子系统,在驱动和设备probing之前会执行这个函数:driver_probe_device->really_probe->pinctrl_bind_pinsint
ZigeSu
·
2023-10-23 22:00
linux
驱动程序
arm
【
Linux驱动
】Linux设备树(二)—— 添加设备树节点
了解了设备树的基本语法以后,就可以试着自己手动添加一个节点了,添加完节点以后,需要重新编译生成.dtb文件,然后保存到uboot的加载目录下。目录1、查看绑定信息文档2、添加设备树节点3、编译设备树文件(.dtb)4、替换设备树文件(.dtb)1、查看绑定信息文档设备树是用来描述板子上的设备信息的,如果我们要在设备树中添加一个节点,添加的外设不同,反映到设备树的属性也不相同。那我们如何知晓我们添加
仲夏夜之梦~
·
2023-10-23 22:59
#
Linux驱动
linux
运维
服务器
SpringBoot
开发篇
(黑马)
Springboot整合Mongodb(黑马)_看向未来213的博客-CSDN博客Springboot整合ES(黑马)_看向未来213的博客-CSDN博客
看向未来213
·
2023-10-23 06:48
黑马
spring
spring
boot
后端
java
大数据实战手册-
开发篇
之spark实战案例:实时日志分析
2.6spark实战案例:实时日志分析2.6.1交互流程图2.6.2客户端监听器(java)@SuppressWarnings("static-access")privatevoidhandleSocket(){lock.lock();Writerwriter=null;RandomAccessFileraf=null;try{Filefile=newFile(filepath);raf=newR
Y1551880
·
2023-10-23 05:25
大数据
数据库
python
17.基于Cortex-A9,i2c 外设详解
本文基于三星Cortex-A9架构,Exynos4412讲解I2C原理、以及基于I2C的mpu6050陀螺仪的数据读取实例(包括在裸机模式下数据的读取以及基于
Linux驱动
的读取)。
一口Linux
·
2023-10-23 00:29
Linux驱动
从0学arm
linux
arm
i2c
如何利用示波器解析I2C数据
前言(1)如果有嵌入式企业需要招聘校园大使,湖南区域的日常实习,任何区域的暑假
Linux驱动
实习岗位,可C站直接私聊,或者邮件:
[email protected]
,此消息至2025年1月1日前均有效
风正豪
·
2023-10-23 00:57
硬件知识
嵌入式硬件
imx6ull uboot移植
以下内容来自:正点原子
Linux驱动
文档一、简介uboot移植主要是根据原厂的uboot移植:芯片厂商通常会做一块自己的评估板并发布BSP,当我们需要定制自己的开发板时可以根据自己的需求(硬件上的不同)
我要暴富
·
2023-10-22 21:17
I.MX6U嵌入式
Linux驱动
——系统移植之uboot
正点原子ALIENTEK开发板的学习笔记Linux系统移植主要是bootloader(U-Boot)、Linuxkernel和rootfs移植,这三者一起构成了一个完整的Linux系统。(1)bootloader代码用于启动Linux内核;(2)移植Linuxkernel;(3)移植一个根文件系统(rootfs),这个里面包含了一些常用命令和文件。1、uboot简介芯片上电后,先运行一段bootl
杨小菜菜
·
2023-10-22 21:16
Linux驱动开发
linux
单片机
驱动开发
Linux驱动
开发———imx6ull的pinctrl子系统源码分析
目录前言一、驱动源文件查找二、驱动分析1、驱动入口函数2、imx6ul_pinctrl_probe函数分析3、imx_pinctrl_probe函数分析4、imx_pinctrl_probe_dt函数分析5、imx_pinctrl_parse_functions函数分析6、imx6ullpinctrl中引脚配置分析7、imx_pinctrl_parse_groups函数分析总结前言最近在配置pin
嵌入式小学徒
·
2023-10-22 19:32
驱动开发
linux
学习记录
linux驱动
imx6ull
pinctrl
设备树
根据结构体成员变量的地址得出结构体的首地址(offsetof、container_of)
关于offsetof()、container_of()函数详解一、前言二、offsetof()函数详解三、container_of()函数详解五、一个实例四、总结一、前言最近在看
linux驱动
时偶然间发现了这两个宏函数
思识己
·
2023-10-22 18:18
Linux
C语言
指针
linux
驱动程序
RK356x U-Boot研究所(
开发篇
)5.1 启动SATA硬盘中的固件
平台U-Boot版本LinuxSDK版本RK356x2017.09v1.2.3RK356x支持从SATA硬盘中启动固件,只要板卡中有预留这个接口即可。值得注意的是,这个固件不能从maskrom阶段就直接进行加载,需要从别的媒介启动(Flash、eMMC或者TF卡)后跑到U-Boot阶段,在这个U-Boot阶段再去加载SATA硬盘中内核与文件系统或者安卓。达成这样的需求需要以下几步:U-Boot阶段
嵌入式逍遥
·
2023-10-22 14:46
RK356x
U-Boot研究所
linux
uboot
sata
scsi
rk3568
Linux驱动
开发-第一章-硬件基础
硬件基础处理器1、通用处理器(GPP)目前主流的通用处理器(GPP)多采用SoC(片上系统)的芯片设计方法,集成了各种功能模块,每一种功能都是由硬件描述语言设计程序,然后在SoC内由电路实现的。中央处理器的体系架构:冯·诺依曼结构,也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同。
北城梦南
·
2023-10-22 11:13
Linux驱动开发
用VMwareWorkstation创建Linux虚拟机的步骤和设置Linux
做服务,写了此篇安装Linux虚拟机目录一、安装虚拟机1.安装虚拟机Vmware二、在VMwareWorkstation中创建Linux虚拟机1.新建虚拟机2.进行虚拟机配置向导3.Linux硬件配置4.
Linux
YsDou
·
2023-10-21 23:53
【龙印】在龙芯1c上用TM7705+NTC热敏电阻实现温度测量
详见《【龙印】龙芯1c上双路16位AD芯片TM7705的
linux驱动
》http://blog.csdn.net/caogos/art
勤为本
·
2023-10-21 21:00
龙印
龙芯1c
3d打印机
TM7705
NTC热敏电阻
如何理解Linux字符设备驱动?
同样的,学习
Linux驱动
,我们也是从最简单的hello驱动学起。
m0_61687959
·
2023-10-21 13:56
linux
运维
服务器
Android Framework
AndroidFramework层主要分为三个部分:服务端,客户端和
Linux驱动
服务端:服务端主要包含两个重要的类,分别是WindowManagerService(Wms)和ActivityManagerService
就这样啊啊啊
·
2023-10-21 13:28
android开发
android
framework
序篇-树莓派
嵌入式目前按照自己所学的嵌入式知识分类c/c++单片机RTOS(实时操作系统)ubootLinux系统移植
Linux驱动
Linux应用QT我是如何接触到嵌入式我是读大二的时候接触到嵌入式的,那时候从51
@ChenBlue@
·
2023-10-21 12:06
树莓派
java校验金额的正则表达式,深度好文
主要就是四个系列:MySQL基础
开发篇
这部分的内容
程序员超三
·
2023-10-21 07:31
程序员
java
经验分享
面试
Kubernetes Operator 知多少(
开发篇
)
在Kubernetes的监控方案中我们经常会使用到一个PromethuesOperator的项目,该项目可以更加方便的去使用Prometheus,而不需要直接去使用最原始的一些资源对象,比如Pod、Deployment,随着PrometheusOperator项目的成功,CoreOS公司开源了一个比较厉害的工具:OperatorFramework,该工具可以让开发人员更加容易的开发Operator
流雨声
·
2023-10-21 05:50
kubernetes
云原生
go
linux驱动
目录在哪里,详细讲解
Linux驱动
程序
编写
Linux驱动
程序1.建立
Linux驱动
骨架?Linux内核在使用驱动时需要装载与卸载驱动?装载驱动:建立设备文件、分配内存地址空间等;module_init函数处理驱动初始化?
鹿鹿超甜丫
·
2023-10-21 05:57
linux驱动目录在哪里
正点原子嵌入式
linux驱动
开发——Linux内核定时器
定时器是最常用到的功能,一般用来完成定时功能,本章就来学习一下Linux内核提供的定时器API函数,通过这些定时器API函数可以完成很多要求定时的应用。Linux内核也提供了短延时函数,比如微秒、纳秒、毫秒延时函数,本章就来学习一下这些和时间有关的功能。Linux时间管理和内核定时器简介内核时间管理简介FreeRTOS是需要一个硬件定时器提供系统时钟,一般使用Systick作为系统时钟源。同理,L
努力自学的小夏
·
2023-10-21 00:45
linux学习
linux
驱动开发
stm32
学习
笔记
上一页
5
6
7
8
9
10
11
12
下一页
按字母分类:
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
其他