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驱动开发学习笔记
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
正点原子嵌入式
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
驱动开发
运维
三种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
运维
服务器
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
单片机
驱动开发
基于IMX6ULL的嵌入式Linux
开发学习笔记
——(1)总体简述
你好,这是一则简短的自我介绍,在2020年时曾在本科阶段参与第15届智能车竞赛,当时因准备创意组竞赛而购置了这块IMX6ULL,时隔多年,现在觉得自己需要在嵌入式领域有一定的发展,并且这个因疫情放开而提前开始的寒假需要给自己留下一定的学习记录,故重新开始了嵌入式Linux的学习。当前学习进度小结——Ubuntu系统的基础使用2022年12月20日-2023年1月4日 在这段时间里,跟
潜心修行嵌入式Linux的鼠鼠
·
2023-10-22 20:54
ARM-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
驱动程序
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热敏电阻
公链
开发学习笔记
(四):公链共识部分设计
1CAP在公式设计中的展现CAP定理:任何一个分布式系统中,Consistency(一致性)、Availability(可用性)、Partitiontolerance(分区容错性),三者不可兼得一致性:在分布式系统中所有的数据备份,是否在同一时间是同样的值可用性:在集群中一部分节点故障以后,集群整体是否还能响应读写请求分区容错性:系统不能在时限内达成一致,就发生了分区。所以,对时限的要求就是分区容
一个大于号
·
2023-10-21 18:23
如何理解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
树莓派
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
学习
笔记
STM32MP157驱动开发——Linux RTC驱动
STM32MP157驱动开发——LinuxRTC驱动一、简介二、驱动分析三、RTC时间查看与设置参考文章:【正点原子】STM32MP1嵌入式
Linux驱动
开发——RTC驱动一、简介 RTC设备驱动是一个标准的字符设备驱动
Amonter
·
2023-10-21 00:14
STM32MP157
驱动开发
stm32
linux
STM32MP157驱动开发——外置RTC芯片RCF8563驱动
STM32MP157驱动开发——外置RTC芯片RCF8563驱动一、简介二、驱动开发1.修改设备树2.驱动使能三、运行测试四、驱动分析参考文章:【正点原子】STM32MP1嵌入式
Linux驱动
开发——外置
Amonter
·
2023-10-21 00:14
STM32MP157
驱动开发
stm32
实时音视频
嵌入式Linux_Petalinux二——FPGA学习笔记<?>
前置学习:嵌入式Linux_Petalinux一参考资料:正点原子《DFZU2EG_4EVMPSoC之
Linux驱动
开发指南》关于SecureCRT中如何配置颜色一.Linux基础外设的使用之前使用Petalinux
switch_swq
·
2023-10-21 00:42
FPGA
学习笔记
fpga开发
学习
笔记
正点原子嵌入式
linux驱动
开发——Linux中断
不管是单片机裸机实验还是Linux下的驱动实验,中断都是频繁使用的功能,在裸机中使用中断需要做一大堆的工作,比如配置寄存器,使能IRQ等等。但是Linux内核提供了完善的中断框架,只需要申请中断,然后注册中断处理函数即可,使用非常方便,不需要一系列复杂的寄存器配置。Linux中断简介Linux中断API函数可以先来回顾一下裸机开发里中断的处理方法:使能中断,初始化相应的寄存器。注册中断服务函数,也
努力自学的小夏
·
2023-10-21 00:09
linux学习
linux
驱动开发
stm32
学习
笔记
LINUX驱动
点灯
记录下linux学习的过程,上来首先是点灯。①先建立一个设备数。如下②完成后编译查看下设备树,可以看到设备树下新建了节点。③开始编写驱动先定义入口和出口函数,这里的led_driver是platform_driver定义的。staticint__initleddriver_init(void){printk("driverinitial\r\n");returnplatform_driver_re
包包爸
·
2023-10-20 23:11
linux
linux
linux驱动
(点灯篇)
寄存器在linux中,内核不会直接操作物理地址,而是使用虚拟地址,这就需要使用一个内置函数,进行从物理地址到虚拟地址的映射:优点:1,安全,应用层访问的是虚拟内存,避免真实硬件地址泄露2.随时释放,提高利用率ioremap()为转化为虚拟内存的函数,第一个参数是基地址,第二个是大小。首先定义物理与虚拟地址://定义物理地址#defineCCM_CCGR1_BASE(0X020C406C)#defi
@Rangers
·
2023-10-20 23:41
linux
[
Linux驱动
开发三]实现自动生成设备节点
目录一、前言二、实现设备节点的自动生成2.1创建设备节点的方法2.2基本函数2.2.1class_create()2.2.2class_destroy()2.2.3device_create()2.2.4device_destroy()2.3自动创建节点的步骤step1:使用class_create函数创建一个class的类。step2:使用device_create函数在我们创建的类下面创建一个
TD祥
·
2023-10-20 21:07
Linux驱动编程
驱动开发
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内核中,注册一个Linux字符设备需要调用多个函数完成,如下图示:先申请设备号,然后分配字符设备空间,初始化完毕后就添加以完成注册。在后来内核中,可以直接调用register_chrdev()一个函
季文冬
·
2023-10-20 21:36
linux驱动设备节点名称
上一页
8
9
10
11
12
13
14
15
下一页
按字母分类:
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
其他