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驱动
ac3165
linux驱动
_[干货]手把手教你用Zedboard学习Linux移植和驱动开发
本文是昨天发的文章《龙芯杯CPU设计竞赛与ZYNQ设计流程介绍》接续部分。重点介绍传统方式的Linux移植和Xilinx的Petalinux的快速移植开发两种。部分硬件设计中需要CPU完成对电路寄存器的配置,为了完成Zedboard对FPGA上部分寄存器的配置功能,可以在PS单元(处理器系统)上运行裸机程序(无操作系统支持)完成和PL单元(FPGA部分)的数据交互功能,此时PS单元更像单片机开发;
weixin_39616090
·
2024-01-28 13:17
ac3165
linux驱动
Clover
驱动文件夹
delphi
linux
arm
linux
can总线接收数据串口打包上传
linux
delphi
开发
linux
配置启动
nomad
Linux驱动
之字符设备驱动
系列文章目录第一章Linux入门之驱动框架第二章
Linux驱动
之字符设备驱动文章目录系列文章目录前言一、认识字符设备驱动1.基本概念2.基本概念二、字符设备旧框架1.注册和注销2.代码3.缺点4.实验用例三
技术の翟
·
2024-01-28 13:46
Linux
arm
驱动
简单总结
linux驱动
程序开发学习步骤
1.学会写简单的makefile2.编一应用程序,可以用makefile跑起来3.学会写驱动的makefile4.写一简单char驱动,makefile编译通过,可以insmod,lsmod,rmmod.在驱动的init函数里打印helloworld,insmod后应该能够通过dmesg看到输出。5.写一完整驱a动,加上read,write,ioctl,polling等各种函数的驱动实现。在ioc
呼啦啦的爱
·
2024-01-28 03:33
linux驱动
之阻塞与非阻塞I/O
本期主题:通过例子讲解
linux驱动
中的阻塞与非阻塞I/O,先讲阻塞/非阻塞的含义再展示代码,阻塞I/O例子使用的是wait_queue(等待队列),非阻塞I/O例子使用的是select、poll(I/
浪矢杂谈
·
2024-01-28 01:33
linux设备驱动开发
linux
java
数据库
linux -- 内存管理 -- 页面分配器
linux驱动
程序不可避免要与内核中的内存管理模块打交道。linux内存管理可以总体上分为两大块:一是对物理内存的管理,二是对虚拟内存的管理。
三境界
·
2024-01-27 06:17
操作系统
嵌入式Linux
linux
arm开发
kernel
linuxPWM子系统源码分析--Apple的学习笔记
一,前言所谓学习,那么就和单纯完成任务是不同的,我的学习也是有目标的,那么从
linux驱动
开发的角度来说,若只是配置下就能用了,这样有点知其然而不知其所以然,所以我的目标就是先会用,然后学习框架及源码,
applecai
·
2024-01-24 21:03
系统移植(系统移植环境搭建及简单概念)
系统=linux内核+根文件系统;根文件系统=库(/lib和/usr/lib)+命令(/bin和/usr/bin)+配置文件(/etc)+GUI(图形化界面,如:QT)1、为什么学习系统移植为后边学习
linux
°嘟嘟嘟嘟
·
2024-01-24 19:38
系统移植
内核
uboot
arm
10系统移植
>从U盘中启动老毛桃(引导安装系统)->安装windows驱动->安装应用程序linux系统移植:通过拨码开关选择启动方式(SD卡启动)->bootloader(uboot)引导安装linux->安装
linux
scw_zch
·
2024-01-24 19:07
培训课程
移植
Day1.复习Linux系统移植的内容,将内核启动流程根文件系统的制作过程整理一下。
学习这门课程目的是为后面
Linux驱动
开发做准备,然后是驱动开发工程师必备技能。
m0_69078052
·
2024-01-24 19:05
linux
驱动开发
运维
Linux驱动
安装遇到的问题(Kernel configuration is invalid)(Invalid module format)
Linux驱动
编译安装遇到的问题(Kernelconfigurationisinvalid)(Invalidmoduleformat)前言1.Kernelconfigurationisinvalid2.
花好约猿上王者
·
2024-01-23 21:04
Linux
linux
驱动开发
Linux驱动
学习13(初步认识ioremap)
几乎每一种外设都是通过读写设备上的寄存器来进行的,通常包括控制寄存器、状态寄存器和数据寄存器三大类,外设的寄存器通常被连续地编址。根据CPU体系结构的不同,CPU对IO端口的编址方式有两种:(1)I/O映射方式(I/O-mapped)典型地,如X86处理器为外设专门实现了一个单独的地址空间,称为"I/O地址空间"或者"I/O端口空间",CPU通过专门的I/O指令(如X86的IN和OUT指令)来访问
iteye_11495
·
2024-01-23 14:32
操作系统
嵌入式
【
Linux驱动
】休眠与唤醒 | POLL机制 | 异步通知 | 阻塞与非阻塞 | 软件定时器
作者:一只大喵咪1201专栏:《
Linux驱动
》格言:你只管努力,剩下的交给时间!
一只大喵咪1201
·
2024-01-23 05:07
Linux驱动
linux
c语言
驱动开发
arm开发
架构
ARM-
Linux驱动
内核(S3C2440)
Linux启动流程驱动(程序):驱使设备行动的程序1.启动bootloader---引导操作系统启动的(裸机)程序,为操作系统启动准备环境,并引导操作系统启动2.启动kernel---操作系统核心(俗称的操作系统)3.加载根文件系统---一堆文件的集合(根目录下的文件)存储分类RAM(随机存储)SRAM静态DRAM动态SDRAM同步动态SDR(DDR2\3\4\5)ROM(只读存储)PROM可编程
Omedetou。
·
2024-01-22 22:05
linux
arm开发
运维
linux驱动
(五):framebuffer
本文主要探讨210的framebuffer驱动知识。frameBuffer用户态进程直接调用显卡写屏,framebuffer接口是给用户态进程用于写屏framebuffer设备文件为fbx清屏:ddif=/dev/zeroof=/dev/fbx清屏:$ddif=/dev/zeroof=/dev/fb0bs=1024count=768截屏:ddif=/dev/fbof=fbfilefb.hstruc
菜_小_白
·
2024-01-22 02:24
linux
c语言
驱动开发
linux驱动
(六):input(key)
本文主要探讨210的input子系统。input子系统input子系统包含:设备驱动层,输入核心层,事件驱动层事件处理层:接收核心层上报事件选择对应structinput_handler处理,每个input_handler对象处理一类事件,同类事件的设备驱动共用同一handler核心层:连接设备驱动层和事件处理层,为设备驱动层提供输入设备驱动接口(structinput_dev)以及输入设备驱动注
菜_小_白
·
2024-01-22 02:24
linux
驱动开发
c语言
linux驱动
(八):block,net
本文主要探讨210的block驱动和net驱动。block随机存取设备且读写是按块进行,缓冲区用于暂存数据,达条件后一次性写入设备或读到缓冲区块设备与字符设备:同一设备支持块和字符访问策略,块设备驱动层支持缓冲区,字符设备驱动层没有缓冲块设备单位:扇区(Sectors):1扇区为512(倍)字节,块(Blocks):1块包含1个或多个扇区,段(Segments):若干相邻块组成,页(Page):内
菜_小_白
·
2024-01-22 02:24
linux
c语言
驱动开发
linux驱动
入口函数module_init如何被调用
大多的
Linux驱动
程序需要包含下面三个头文件:#include#include#includeinit.h定义了驱动的初始化和退出相关的函数。kernel.h定义了经常用到的函数原型及宏定义。
爱因私谈
·
2024-01-21 10:00
【
linux驱动
】结合
linux驱动
在迅为rk3568开发板上点亮一个LED灯的详细教程
文章目录分析驱动编写测试程序编写开发环境:迅为3568开发板+ubuntu18.04任务:给LED写一个驱动程序,要求当应用程序写入驱动的数据为’1’时点亮LED;当应用程序写入数据为‘0’时熄灭LED。分析步骤一:确定控制引脚打开原理图确定LED的GPIO引脚位置,通过下图知GPIO0_B7可以控制LED9。GPIO0_B7通过一个三极管控制LED9:GPIO0_B7为低电平时,三极管截止,LE
☞黑心萝卜三条杠☜
·
2024-01-21 02:19
LINUX
linux
单片机
运维
【
linux驱动
】讲解
linux驱动
开发中的并发与并行,并且给出解决驱动开发中资源竞争的解决方案(下)
文章目录解决资源竞争的方法自旋锁信号量互斥锁开发环境:迅为3568开发板+ubuntu18.04前文【
linux驱动
】讲解
linux驱动
开发中的并发与并行,并且给出解决驱动开发中资源竞争的解决方案(上)
☞黑心萝卜三条杠☜
·
2024-01-21 02:19
LINUX
linux
驱动开发
运维
【
linux驱动
】详细剖析第一个hello word驱动程序
文章目录驱动程序的框架驱动程序的使用示例驱动程序的框架
Linux驱动
的基本框架主要由模块加载函数,模块卸载函数,模块许可证声明,模块参数,模块导出符号,模块作者信息等几部分组成,其中模块参数,模块导出符号
☞黑心萝卜三条杠☜
·
2024-01-21 02:18
LINUX
linux
【
linux驱动
】在迅为RK3568开发板上设置文件私有数据的详细教程
文章目录文件私有数据的相关概述文件私有数据的使用实例开发环境:windows+ubuntu18.04+迅为rk3568开发板文件私有数据的相关概述在linux中尽管没有明确规定要是用文件私有数据,但是在
linux
☞黑心萝卜三条杠☜
·
2024-01-21 02:47
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开发
驱动开发
【
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驱动
编程必备基础知识
对于
Linux驱动
程序来说,其运行在内核空间,把硬件功能提供给用户程序。本篇文章主要介绍
Linux驱动
程序的一些基础知识。内核空间和用户空间内核空间和用户空间的概念有点抽象,主要涉及内存的访问权限。
Linux内核站
·
2024-01-13 15:32
linux
运维
服务器
Linux内核
驱动开发
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
单片机
上一页
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
其他