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驱动
开发高精度定时器的精度测量
前言今天我们来评测linux内核的高精度定时器。顺便利用通过Tektronix示波器和DS100Mini数字示波器进行交叉测试。因项目需要用到精准的时间周期,所以要评估它的可行性,并验证正点原子的示波器能不能支撑嵌入式开发流程。Linux高精度定时器说明其实传统的低分辨率定时器随着技术的演进,已经无法满足开发需求。而且硬件的不断发展,硬件定时器的精度也越来越高,这也给高精度定时器创建了有利条件。低
Rice嵌入式开发
·
2024-01-19 18:32
Linux
嵌入式
编程语言
java
linux
大数据
rk3566-Android11 从驱动到 app 第二章添加 hall 层
hw_module_t2)hw_module_methods_t3)hw_device_t2.程序编写3.编译程序4.验证程序5.添加权限1)设备节点添加权限2)添加shelllinux权限作者:baron对
linux
baron-z
·
2024-01-19 13:36
安卓从驱动到
app
的整体流程梳理
java
开发语言
android
linux
驱动开发
c语言
嵌入式硬件
深入浅出Linux图形化架构
本文可能需要你有一些系统架构,内核模块,
Linux驱动
,VFS(虚拟文件系统)子系统等背景知识;本文不是对OpenGL图形学的介绍,而是从OS层次对图形显示架构进行的讨论;本文主要以文字叙述为主,配以少量框图解释
aiyo_
·
2024-01-19 05:44
X-window
linux
sas硬盘顺序不对linux,LSISAS1068E
Linux驱动
扫描硬盘顺序问题
问题现象在使用LSISAS1068E的服务器上(驱动名称为mptsas),为了业务运行可靠性,将第1、2块盘做RAID1,并且希望把Linux系统安装在RAID1,且硬盘盘符为/dev/sda。但部署完系统后,发现RAID1的盘符并不是/dev/sda,而是/dev/sdk(假设机器插满12块硬盘),即系统没有部署在RAID1上,而不是安装在了第3块硬盘上。问题原因从问题现象看,Linux内核并没
李永菜
·
2024-01-18 18:40
sas硬盘顺序不对linux
linux驱动
之GPIO子系统
一、前言在嵌入式中,GPIO作为一个常用的信息输入输出手段经常被用在各种场合,那么今天本文就来简单地说一下嵌入式linux中的GPIO子系统。本文为笔者的理解,如果错漏还望指出二、GPIO子系统介绍在嵌入式linux中,GPIO和引脚通常联系在一起。但是在嵌入式linux系统的代码结构中,他们的关系远比我们想象的复杂。2.1pinctrl在嵌入式linux中,用pincontrolsubsyste
wipping的技术小栈
·
2024-01-18 16:37
SM7250(高通5G)平台LCD bringup
文章首次写在个人微信公众号【
Linux驱动
】。
肥龙在天.
·
2024-01-18 11:37
lcd
Android开发
android
【
linux驱动
】用户空间程序与内核模块交互-- IOCTL和Netlink
创建自定义的IOCTL(输入/输出控制)或Netlink命令以便用户空间程序与内核模块交互涉及几个步骤。这里将分别介绍这两种方法。一、IOCTL方法1.定义IOCTL命令在内核模块中,需要使用宏定义你的IOCTL命令。通常情况下,IOCTL命令包括了一个命令编号、请求类型的方向(读/写/两者)以及数据大小:#include#defineMY_IOCTL_TYPE'x'//通常是一个字符#defin
一尘之中
·
2024-01-18 08:06
编程
#
C语言
linux
linux
CVTE面经 非双一流逆袭C厂
选择题涵盖了C++、
linux驱动
、内存使用和数据结构。选择题比较难(大部分忘记)两道算法题:1、链表反转后并去掉链表中指定的节点。2、输入一个数字,转换成原码
小昭dedug
·
2024-01-17 14:07
大公司校招面试宝典(嵌入式)
c语言
Linux设备调试-GDB调试器
前言“工欲善其事,必先利其器”,为了方便
Linux驱动
设备的开发和调试,建立舒适的开发环境、使用必要的软件工具,以及掌握常用的调试技巧是比较重要的。
@宁兰
·
2024-01-16 07:24
linux
Linux驱动
IO篇——阻塞/非阻塞IO
文章目录非阻塞IO阻塞IO等待队列等待队列变体非阻塞IO在应用程序中,使用open函数打开一个/dev目录下的一个设备文件时,默认是以阻塞的方式打开。所谓阻塞,就是当我们请求的资源不可用时(资源被占用,没有数据到达等等),会使得进程休眠,从现象看就是卡在那里。应用层如果我们希望以非阻塞方式打开设备文件,则应该在open设备文件时,添加一个O_NONBLOCK的flag参数,例如:fd=open("
嵌入式Linux充电站
·
2024-01-15 20:10
Linux驱动
#
——IO操作篇
linux
驱动开发
【
Linux驱动
】platform 设备驱动分离(二)—— LED驱动(无设备树)
在没有设备树的情况下,需要手动注册platform设备,下面分别注册platform设备和platform驱动,以此来驱动LED。一、platform设备注册新建文件led-device.c文件,该文件保存的是外设信息,在当前背景下便是LED相关的寄存器信息,该文件最终会被编程成ko模块文件,加入到Linux内核中。1、注册/注销platform设备在Linux内核中使用platform_devi
仲夏夜之梦~
·
2024-01-15 20:09
linux
运维
服务器
【
Linux驱动
】platform 设备驱动分离(一)—— 驱动分层及相关API
以目前为止的逻辑,无论是获取设备属性信息,还是实现驱动逻辑,都是放在一个驱动模块中。在没有设备树的情况下,如果我们只需要修改设备信息(如寄存器地址),那么我们就需要重新编译整个驱动模块。很显然,设备信息的变化不应该影响到驱动逻辑的正常运行,这就需要引入驱动分层的概念。一、整体架构驱动分层总体可以分为三层设备层:负责管理设备属性信息,包含了一些外设硬件信息,如寄存器地址、引脚配置信息等驱动层:负责驱
仲夏夜之梦~
·
2024-01-15 20:09
数据结构
【
Linux驱动
】Linux中断(二)—— 按键中断驱动
前一篇已经在设备树的gpio-led节点中引入了中断信息,接下来将通过API来获取设备树中的中断信息。gpio-led节点具体内容如下:gpio-key0{pinctrl-names="default";pinctrl-0=;//pinctrl子系统配置电气属性key-gpio=;//gpio子系统进行引脚初始化interrupt-parent=;//中断类型为gpio1interrupts=;/
仲夏夜之梦~
·
2024-01-15 20:39
linux
【
Linux驱动
】Linux阻塞IO —— 阻塞读取按键状态(等待队列实现)
上一节获取按键状态时,是在应用层以循环的方式不断读取按键状态,但是我们实际关注的只是当按键被按下时发生的情况,所以大多数时间拿到的状态都是我们不需要的结果。对此,当按键被释放时,让read接口处于阻塞状态,等按键被按下再解除阻塞。一、等待队列API要使用等待队列涉及到两个概念:等待队列头、等待项等待队列通常使用链表实现,等待队列头便是链表的头节点,在Linux内核中使用wait_queue_hea
仲夏夜之梦~
·
2024-01-15 20:38
linux
运维
服务器
【
Linux驱动
】设备树模型的LED驱动 | 查询方式的按键驱动
作者:一只大喵咪1201专栏:《
Linux驱动
》格言:你只管努力,剩下的交给时间!
一只大喵咪1201
·
2024-01-15 15:10
Linux驱动
linux
arm开发
c语言
架构
驱动开发
【
Linux驱动
】设备树中指定中断 | 驱动中获得中断 | 按键中断实验
作者:一只大喵咪1201专栏:《
Linux驱动
》格言:你只管努力,剩下的交给时间!
一只大喵咪1201
·
2024-01-15 15:10
Linux驱动
linux
c语言
驱动开发
arm开发
【
Linux驱动
】Linux的中断系统 | 中断的重要数据结构
作者:一只大喵咪1201专栏:《
Linux驱动
》格言:你只管努力,剩下的交给时间!
一只大喵咪1201
·
2024-01-15 15:38
Linux驱动
linux
c语言
arm开发
驱动开发
嵌入式软件开发人员有必要学习
系统移植
的知识吗?【ppt获取见文末】
》的配套视频说明为了让粉丝更好的学习我的新书里面的知识,一口君特地录制了配套学习视频,《从0学ARM第一期》《从0学ARM第一期》视频已经免费发布在B站,而书中除了ARM汇编、裸机开发等知识,还涉及到
系统移植
的一些知识点所以一口君干脆录制了一期
一口Linux
·
2024-01-15 06:03
从0学arm
原创
Linux驱动
学习
【
LINUX驱动
框架学习】Linux GPIO驱动以及底层实现方式
GPIO(通用目的输入/输出端口)是一种灵活的软件控制的数字信号。大多数的嵌入式处理器都引出一组或多组的GPIO,并且部分普通管脚通过配置可以复用为GPIO。利用可编程逻辑器件,或总线(如I2C、SPI)转GPIO芯片,也可以扩展系统的GPIO。不管是何种GPIO,GPIOLIB为内核和用户层都提供了标准的操作方法。GPIOLIB的接口十分简洁。在GPIOLIB,所有的GPIO都是用整形的GPIO
与光同程
·
2024-01-15 00:22
LINUX
BSP开发
内核
以Linux认识的方式写
Linux驱动
之字符设备驱动
首先我们需要知道的是Linux内核干了什么我们不关心,我们开发驱动程序,只关心怎么才能让Linux认识我们的驱动,当然,对应的驱动也有对应的应用程序,否则,开发这个驱动也没有任何意义了,综上,我们只需要让Linux认识我们的驱动并且与我们驱动相对应的应用程序也让Linux认识即可。那工作量就下来了,因为毕竟Linux怎么工作的非常麻烦,而且短时间也不可能搞透,但现在我们只需关心:Linux认识的驱
小灰俠
·
2024-01-15 00:51
linux
linux
字符设备驱动
i.MX283开发板第一个
Linux驱动
-LED驱动
字符设备驱动开发字符设备是
Linux驱动
中最基本的一类设备驱动,字符设备就是一个一个字节,按照字节流进行读写操作的设备,读写数据是分先后顺序的。
知否,知否
·
2024-01-15 00:19
#
EasyARM-imx283
Linux字符设备驱动
imx283字符设备驱动
i.MX283开发板第一个
Linux驱动
-LED驱动改进
上一个博客i.MX283开发板第一个
Linux驱动
讲的是最简单的LED驱动的编写,但是其中还有一些不足。
知否,知否
·
2024-01-15 00:19
#
EasyARM-imx283
Linux自动创建设备节点
LV.13 D11
Linux驱动
移植及内核深化 学习笔记
一、设备树1.1设备树设备树是一种描述硬件信息的数据结构,Linux内核运行时可以通过设备树将硬件信息直接传递给Linux内核,而不再需要在Linux内核中包含大量的冗余编码举例:让LED2闪烁的代码中,有逻辑代码和设备代码。Linux中,把逻辑代码放到了驱动程序(/drives),把设备代码放到设备树中。如果想换一个灯闪,只要改设备树代码就可以了。简而言之,驱动程序告诉你灯怎么闪,设备树告诉你哪
djjyy
·
2024-01-15 00:42
linux
学习
笔记
Linux下驱动开发(一)
Linux驱动
开发hello驱动模块的加载和卸载
Linux驱动
有两种运行方式,第一种就是将驱动编译进Linux内核中,这样当Linux内核启动时就会自动运行驱动程序。
大树D
·
2024-01-14 12:00
linux
驱动开发
【
Linux驱动
】Pinctrl子系统 | GPIO子系统 | 基于子系统的LED驱动程序
作者:一只大喵咪1201专栏:《
Linux驱动
》格言:你只管努力,剩下的交给时间!
一只大喵咪1201
·
2024-01-14 09:50
Linux驱动
linux
单片机
arm开发
c语言
驱动开发
linux驱动
开发——内核调试技术
目录一、前言二、内核调试方法2.1内核调试概述2.2学会分析内核源程序2.3调试方法介绍三、内核打印函数3.1内核镜像解压前的串口输出函数3.2内核镜像解压后的串口输出函数3.3内核打印函数四、获取内核信息4.1系统请求键4.2通过/proc接口4.3通过/sys接口4.3.1.属性4.3.2子系统操作函数五、处理出错信息5.1oops信息5.1.1.oops消息包含系统错误的详细信息5.1.2.
宇努力学习
·
2024-01-14 08:15
驱动开发
linux
驱动开发
内核调试技术
Linux
系统移植
篇3:STM32MP微处理器之设备树简介
设备树详解简介在传统Linux内核中,ARM架构的板极硬件细节过多地被硬编码在arch/arm/plat-xxx和arch/arm/mach-xxx,比如板上的platform设备、resource、i2c_board_info、spi_board_info以及各种硬件的platform_data,这些板级细节代码对内核来讲只不过是垃圾代码。而采用DeviceTree后,许多硬件的细节可以直接透过
华清远见
·
2024-01-13 17:42
一文讲解
Linux驱动
编程必备基础知识
对于
Linux驱动
程序来说,其运行在内核空间,把硬件功能提供给用户程序。本篇文章主要介绍
Linux驱动
程序的一些基础知识。内核空间和用户空间内核空间和用户空间的概念有点抽象,主要涉及内存的访问权限。
Linux内核站
·
2024-01-13 15:32
linux
运维
服务器
Linux内核
驱动开发
01 QEMU仿真器-模拟器介绍
模拟器介绍作者将狼才鲸创建日期2022-05-28所属的Gitee源码和工程地址:才鲸嵌入式/开源安防摄像机(嵌入式软件)一、QEMU模拟器(仿真器)介绍如果你也像我一样,虽然学过电子和硬件,也做过boot、
系统移植
才鲸嵌入式
·
2024-01-13 09:36
9
嵌入式QEMU教程
嵌入式
单片机
c语言
mcu
arm
Linux设备驱动程序专栏学习
Linux设备驱动程序专栏学习说明本专栏主要记录自己在
Linux驱动
上所学到的知识,以及经验。主要参考的是《Linux设备驱动程序》第三版,以及b站UP主“一口Linux”的驱动学习适配以及路线
GitCloud
·
2024-01-13 08:33
Linux设备驱动程序
linux
学习
【
linux驱动
开发】在linux内核中注册一个杂项设备与字符设备以及内核传参的详细教程
文章目录注册杂项设备驱动模块传参注册字符设备开发环境:windows+ubuntu18.04+讯为rk3568开发板注册杂项设备相较于字符设备,杂项设备有以下两个优点:节省主设备号:杂项设备的主设备号固定为10,在系统中注册多个misc设备驱动时,只需使用子设备号进行区分即可。使用简单:相比如普通的字符设备驱动,misc驱动只需要将基本信息通过结构体传递给相应处理函数即可。在linxu系统中可使用
☞黑心萝卜三条杠☜
·
2024-01-13 05:53
嵌入式LINUX
linux
驱动开发
运维
Linux驱动
入门(四)——构建第一个驱动程序
文章目录前言开发环境配置之内核升级为什么升级内核内核升级Helloworld驱动程序驱动模块的组成HelloWorld模块编译HelloWorld模块模块的操作HelloWorld模块加载后文件系统的变化模块参数和模块之间通信模块参数模块的文件格式ELF模块之间的通信模块之间的通信实例将模块加入内核向内核添加模块KconfigKconfig语法应用实例:在内核中新增加add_sub模块对add_s
Jacky~~
·
2024-01-13 00:25
Linux驱动开发
linux
stm32
单片机
RT-Thread
系统移植
目录前言一、实验平台简介1.1W601简介1.2RT-Thread简介1.3ENV简介二、开发环境搭建2.1MDK安装2.2Git安装2.3RT-Thread相关下载2.4其他素材三、移植RT-Thread四、RT-Thread的构建与配置系统4.1Kconfig配置4.2SCons构建工具(系统)4.3ENV开发工具使用五、W601开发板下载验证5.1使用串口下载软件5.2ST-Link下载前言
别问,问就是全会
·
2024-01-11 10:06
嵌入式应用
单片机
RT-Thread
W601
linux驱动
:音频驱动(一)ALSA
一、【基础知识】1、J2《--HPR_OUT+HPL_OUT《--U13(TLV320AIC3104IRHBR)的HPROUT+HPLOUT2、驱动源码IPNC_RDK_V3.8.0.1/Source/ti_tools/ipnc_psp_arago/kernel/sound/soc/codecs/tlv320aic3x.c3、依赖于I2C驱动4、声卡驱动框架:ALSA(AdvancedLinuxS
郭老二
·
2024-01-11 09:17
linux驱动
TIDM8127
音频
Openwifi 开源项目解读(一)
Openwifi是一个关于wifi系统的开源项目,是一个少有的优秀的关于wifi的开源项目,项目中包括了wifi的基带、lowmac、
linux驱动
等三部分,其中基带、lowmac部分是在FPGA中实现
cqcyst
·
2024-01-11 08:36
C/C++
ARM
嵌入式设备
fpga开发
物联网
嵌入式硬件
Ubuntu16.04无法ping通主机filezilla无法连接虚拟机
项目场景:基于Ubuntu16.04虚拟机搭建的
linux驱动
开发环境,与主机之间的网络使用桥接模式问题描述:本来在搭建好的虚拟机上已经可以使用静态ip和连接filezilla了。
up胖子
·
2024-01-10 18:13
开发问题收集器哈!
linux
网关
网络
STM32 CubeMX LwIP + freertOS 移植
下面进行freertOS
系统移植
在以上无系统的cubeMX配置下继续添加f
felix_fang_xin
·
2024-01-08 18:59
stm32
嵌入式硬件
单片机
三本光电从颓废到武汉年薪30w的本科经历经验与浅谈(毕业工作一年的嵌入式软件工程师经验分享)
三本光电从颓废到武汉年薪30w的本科经历经验与浅谈(毕业工作一年的嵌入式软件工程师经验分享)文章目录目前情况颓废时期项目时期第一次写单片机代码第一次接触计算机视觉第一次接触
Linux驱动
开发第一次接触FPGA
网易独家音乐人Mike Zhou
·
2024-01-08 04:26
个人经验浅谈
嵌入式
c语言
单片机
物联网
mcu
stm32
51单片机
component框架
Linux驱动
component框架使用目录1.component框架介绍1.1component框架产生的原因1.2component框架可以解决的问题2.component框架使用方法2.1mastercomponent
lobot_man
·
2024-01-07 19:58
Linux驱动笔记
linux
驱动开发
Linux驱动
学习—中断
1、中断基础概念1.1什么是中断CPU在正常运行期间,由外部或者内部引起的时间,让CPU停下当前正在运行的程序,转而去执行触发他的中断所对应的程序,这就是中断。响应中断的过程:中断请求中断响应保护现场中断处理恢复现场中断返回如果不响应中断,就是中断屏蔽。1.2什么是中断上下文,为什么会有中断上下文?中断的存在可以极大的提高CPU的运行效率,但是中断会打断内核进程中的正常调度和运行,所以为保证系统实
suifen_
·
2024-01-07 14:08
linux
学习
运维
一、串行FLASH文件系统FatFs简介
本节主要给大家介绍以下内容:文件系统简介FatFs文件系统简介FatFs文件
系统移植
FatFs功能使用一、文件系统简介当我们在使用SPIFLASH直接存储数据当需要记录字符“STM32SPIFLASH”
I am Supreme
·
2024-01-07 08:52
嵌入式软件学习总结
嵌入式软件
stm32
文件系统
什么是设备树?
掌握设备树是
Linux驱动
开发人员必备的技能!
凌肖战
·
2024-01-06 19:47
Linux驱动学习
linux
arm开发
设备树文件(dts文件)的添加与编译
所以,掌握设备树是
Linux驱动
开发人员必备的技能!本文学习一下设备树源文件即dts文件,以及dts文件的组织形式。二.dts文件(设备树源文件)以及组织形式1.DTS、DTB和DTC几个区别?
凌肖战
·
2024-01-06 19:42
Linux驱动学习
arm开发
linux
Linux驱动
开发(1)-最简单的字符设备驱动开发例子
1.简介字符设备驱动:按照字节流进行读写操作的设备,例如点灯、按键、IIC、SPI、LCD。Linux系统中一切皆文件,驱动加载成功,就会在/dev目录生成文件,对文件操作,则可实现对硬件操作。应用程序运行在用户空间,驱动运行在内核空间,用户空间不能直接对内核操作,因此借助系统调用实现。2.字符设备驱动开发2.1内核驱动操作函数集合include/linux/fs.h中file_operation
Embedded-Xin
·
2024-01-06 17:27
Linux驱动/内核编程
linux
驱动开发
数据结构
全志F1C100s主线linux入坑记录 (1)linux
系统移植
linux
系统移植
(基于SD卡启动)百度网站文章目录linux
系统移植
(基于SD卡启动)一、安装gcc交叉编译器二、Uboot移植1.下载Uboot源码2.配置Uboot3.编译Uboot三、Linux
鱼尾001
·
2024-01-06 14:36
F1C100s
linux
嵌入式硬件
单片机
驱动开发
linux驱动
-poll使用笔记
前言一个项目中使用了赛灵思的FPGA,需要fpga这边和arm这边进行数据通讯,通讯方式使用的是一段fpga和arm共享的ddr内存,把这块内存做了一个fifo,并通过中断出发,我在arm这边实现一个驱动来接收处理中断,然后读取fifo.驱动的结构体structddr_fifo_dev{intindex;dev_tdevid;structcdevcdev;structmiscdevicemiscd
zhangbin-eos
·
2024-01-06 11:20
linux
linux
笔记
STM32MP157/
linux驱动
学习记录
1.uboot烧录2.linux安装nfs服务sudoapt-getinstallnfs-kernel-serverrpcbind安装nfs服务在用户根目录下创建一个名为“linux”的文件夹,以后所有的东西都放到这个“linux”文件夹里面,在“linux”文件夹里面新建一个名为“nfs”的文件夹,更改777权限。打开nfs配置文件:sudovi/etc/exports在最后加上:/home/t
tao_sc
·
2024-01-06 00:17
linux
学习
stm32
驱动开发的完善 --- 芯片手册导读 + I/O口操控代码的编写
在我上上节的博文中(
linux驱动
的学习&驱动开发初识-CSDN博客):我通过一个基本的字符设备驱动框架来测试了驱动的运行,但是在“pin4_open”和“pin4_write”这两个驱动函数的函数体里只写了一句内核打印的代码
mjmmm
·
2024-01-05 16:36
驱动开发
linux
linux驱动开发
设备
Linux驱动
开发之Linux内核中的中断处理与等待队列以及相关API和例程分析
目录中断的特点Linux中的中断类型相关API函数gpio_to_irq()enable_irq()disable_irq()request_irq()free_irq()中断的使用等待队列DECLARE_WAIT_QUEUE_HEAD()wait_event_interruptible()wake_up_interruptible()中断相关例程例程分析源码分享总结中断是计算机中实现异步事件处理
努力的某某姚
·
2024-01-05 07:22
linux
驱动开发
Linux中断
等待队列
例程分享
Linux驱动
开发笔记(六):用户层与内核层进行数据传递的原理和Demo
/details/135384355红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…Linux
系统移植
和驱动开发专栏上一篇
长沙红胖子Qt软件开发
·
2024-01-05 05:33
linux驱动开发
linux
驱动开发
copy_to_user
copy_from_user
用户与内核数据交互
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他