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
[驱动开发]
全志F1C200S嵌入式
驱动开发
(uboot自动加载kernel和dtb)
【声明:版权所有,欢迎转载,请勿用于商业用途。联系信箱:
[email protected]
】这两天都在解决linux无法进入rootfs的问题,目前为止还没有什么进展。在处理过程当中,换了编译器、换了kernel、换了buildroot版本,但是都没有从根本上解决这一问题。唯一还没有换的,估计只剩下sd卡了。由于测试过程当中需要一直输入uboot命令,比较麻烦。所以就想着怎么从uboot直接跳
嵌入式-老费
·
2023-07-15 08:57
全志soc嵌入式开发
驱动开发
linux
运维
VS2019重新指定安装路径
0x01:小编想要搭建VS2019
驱动开发
环境;0x02:但是因为没有什么经验,安装VS的时候直接点下一步,事后才发现,安装路径错了,在网上也着了一些文章,有说删注册表啥的,但是从微软的官网了解到,是因为我们的
Configure-Handler
·
2023-07-15 07:23
环境搭建
visual
studio
code
golang 示例测试example_golang编写测试用例
1.LearnGowithtests当学习一门语言时,最有效的办法不是每一章的去阅读概念,而是通过例子探索学习.如果没有学习过Go语言的,强烈建议通过编写测试学习Go语言,不仅为测试
驱动开发
打下基础,还是可以使用
weixin_39849762
·
2023-07-14 21:02
golang
示例测试example
基于pinctrl与gpio子系统点灯实验,灯不亮问题
基于pinctrl与gpio子系统点灯实验,灯不亮问题实验平台:正点原子alpha开发板,核心板V1.6,底板V2.1芯片:IMX6ULL现象跟着《I.MX6U嵌入式Linux
驱动开发
指南V1.8》第四十五章做实验驱动挂载上了
JasonComing
·
2023-07-14 19:01
linux
imx6ull
pinctrl
gpio
驱动问题
TDD BDD和DDD
TDDTest-drivendevelopment,即测试
驱动开发
。一种开发过程中应用方法。其思想为先根据需求抽象接口,先编写测试用例,然后在开始编写开发代码。
SimpleFunc
·
2023-07-14 18:24
嵌入式内核及
驱动开发
高级
一、起源仅devfs,导致开发不方便以及一些功能难以支持:热插拔不支持一些针对所有设备的统一操作(如电源管理)不能自动mknod用户查看不了设备信息设备信息硬编码,导致驱动代码通用性差,即没有分离设备和驱动二、新方案uevent机制:sysfs+uevent+udevd(上层app)2.1sysfs:一种用内存模拟的文件系统,系统启动时mount到/sys目录sysfs用途:(类似于windows
码上有
·
2023-07-14 12:16
驱动开发
嵌入式LinuxLED
驱动开发
实验
目录:1.Linux下LED灯的驱动原理1.1.地址映射1.1.1.实际物理地址映射到虚拟地址的函数1.1.2.内存访问函数2.硬件原理图分析3.实验程序编写3.1.驱动程序编写3.2.应用程序编写4.运行测试1.Linux下LED灯的驱动原理我们在裸机实验的时候,都是通过配置底层的寄存器来进行点亮LED灯的操作的。我们现在还没有学习到设备树的相关知识,所以,我们也是通过在字符设备驱动框架的基础上
嵌入式进阶之路
·
2023-07-14 12:44
驱动开发
linux
低代码平台的实现原理
基于模型驱动的可视化开发是当前低代码平台实现的主要实现技术,为什么基于模型
驱动开发
成为了低代码的主要技术途径,本文阐述其基本的实现原理。一、模型驱动原理模型驱动是一种软件开发方法,利用一系列模型的设
冲浪中台
·
2023-07-14 12:09
低代码
python
java
linux lsmod(查看驱动模块)和 ls /dev(驱动设备)
当
驱动开发
人员编写好驱动代码,并生成驱动代码对应的驱动模块后,可以通过insmodxxx.ko将驱动模块(.ko)加载到linux操作系统中。
滨边美波她男友
·
2023-07-14 06:01
linux
内核驱动
linux
运维
服务器
C++的应用方向
1、嵌入式开发嵌入式相关的岗位需求比较多,主要是硬件产品的
驱动开发
,很多大公司,比如华为、小米、vivo和一些芯片公司都在大量的招聘嵌
贝壳里的海-AI
·
2023-07-14 06:24
C++篇
c++
TDD和单元测试
这篇博客的动机是解释测试
驱动开发
中使用的测试的性质和目的。为了避免混淆,我将使用表达式TDD测试来引用测试
驱动开发
环境中使用的测试类型。
闰土月下追猹
·
2023-07-14 05:30
工具
单元测试
tdd
驱动开发
作业4
作业1在内核模块中启用定时器,定时1s,让led1一秒亮,一秒灭全部代码#include#include#include#include#include#include#include#includestructdevice_node*dnode;structgpio_desc*gpiono;structtimer_listmytimer;//定义定时器对象//定义定时器处理函数voidmytim
zjuthqy
·
2023-07-14 04:28
华清远见
驱动开发
驱动开发
作业6
题目要求同作业5,但是使用platform总线注册驱动Repo#include#include#include#include#include#include#include#include#includeintmajor;structclass*cls;structdevice*dev;structresource*res;structdevice_node*dnode;unsignedinti
zjuthqy
·
2023-07-14 04:28
华清远见
驱动开发
Valve 签约开源 Linux 图形
驱动开发
者
导读据外媒phoronix报道,Valve最近聘用了著名开源Linux图形
驱动开发
者AlyssaRosenzweig,以改进开源Linux图形驱动程序堆栈,增强Linux游戏生态系统。
csdn_linuxprobe
·
2023-07-14 04:28
linux
驱动开发
运维
驱动开发
作业1
下面代码中的gpio.h和rcc.h是led项目中的common/include目录下的stm32mp1xx_gpio.h和stm32mp1xx_rcc.h所以不贴代码了,完整的目录查看这个仓库这里直接把GPIOE/GPIOF,RCC结构体的地址映射到虚拟地址中用户空间应用程序的代码没有修改,也不贴上来了,输入1,2,3分别对应开关LED1,2,3#include#include#include#
zjuthqy
·
2023-07-14 04:57
驱动开发
驱动开发
作业2
使用ioctl替换write/read控制LED、蜂鸣器、马达、风扇,并使用udev来自动创建设备文件完整代码目录,请看这个仓库依然使用之前ARM课程中的common中的结构体代码都差不多,就贴个led.c,用户空间测试代码test.c和头文件head.h不同设备dev,cls以及major命名要不同FSMP1A扩展板引脚:LED1,LED2,LED3:PE10,PF10,PE8蜂鸣器:PB6马达
zjuthqy
·
2023-07-14 04:57
驱动开发
驱动开发
作业3
编写LED灯的驱动,创建三个设备文件,每个设备文件和一个LED灯绑定,当操作这个设备文件时只能控制设备文件对应的这盏灯。完整目录,查看这个仓库注册设备驱动对象cdev_add也需要对三个LED分别添加,否则LED2和LED3的设备文件虽然生成,但是无法被用户空间打开#include#include#include#include#include#include#include#include#in
zjuthqy
·
2023-07-14 04:57
华清远见
驱动开发
驱动开发
-day9
驱动代码:#include#include#include#include#include#include#include#include#include#include#includestructcdev*cdev;unsignedintmajor=500;unsignedintminor=0;dev_tdevno;structclass*cls;structdevice*dev;structd
三只小鸹貔
·
2023-07-14 04:52
驱动开发
字符设备
驱动开发
(最初方式)
目录:1.字符设备驱动简介2.字符设备
驱动开发
步骤2.1.驱动模块的加载与卸载2.2.Makefile的编写2.3.字符设备的注册与注销2.3.1.设备号的组成2.3.2.设备号的分配2.4.具体操作函数的实现
嵌入式进阶之路
·
2023-07-14 04:20
驱动开发
linux
ubuntu
Linux
驱动开发
:Linux内核启动流程详解
前言:Linux内核同样作为Linux
驱动开发
的“三巨头”之一,Linux内核的启动流程要比uboot复杂的多,涉及到的内容也更多。
混分巨兽龙某某
·
2023-07-14 04:47
Linux驱动开发
Linux内核
嵌入式
驱动开发
【IMX6ULL
驱动开发
学习】19.mmap内存映射
mmap将一个文件或者其它对象映射进内存,使得应用层可以直接读取到驱动层的数据,无需通过copy_to_user函数可以用于像LCD这样的外设,需要读写大量数据的一、应用层mmap用法:用open系统调用打开文件,并返回描述符fd.用mmap建立内存映射,并返回映射首地址指针start.对映射(文件)进行各种操作,显示(printf),修改(strcpy、memncpy、sprintf、直接修改等
晨少爱学习
·
2023-07-14 04:46
IMX6ULL
驱动开发
imx6ull
mmap
内存映射
Linux驱动
驱动
【IMX6ULL
驱动开发
学习】20. input子系统(按键实现ls命令)
一、input子系统相关结构体二、input子系统实例实现:staticstructinput_dev*key_input;staticvoidmy_timer_handle(unsignedlongdata){....../*5.input子系统上报事件*///第三个参数要变,如果两次上报value相同,则input子系统不会响应input_report_key(key_input,key_gp
晨少爱学习
·
2023-07-14 04:46
IMX6ULL
驱动开发
input子系统
input
Linux驱动
imx6ull
驱动
【IMX6ULL
驱动开发
学习】18.中断下半部(tasklet、工作队列、中断线程化)
下图表述了Linux内核的中断处理机制,为了在中断执行时间尽量短和中断处理需完成的工作尽量大之间找到一个平衡点,Linux将中断处理程序分解为两个半部:顶半部(TopHalf)和底半部(BottomHalf)。顶半部:用于完成尽量少的比较紧急的功能,它往往只是简单地读取寄存器中的中断状态,并在清除中断标志后就进行“登记中断”的工作。“登记中断意味着将底半部处理程序挂到该设备的底半部执行队列中去。这
晨少爱学习
·
2023-07-14 04:45
IMX6ULL
驱动开发
中断
tasklet
工作队列
中断线程化
imx6ull
中断下半部
【IMX6ULL
驱动开发
学习】15.IMX6ULL
驱动开发
问题记录(sleep被kill_fasync打断)
发现问题的契机:学习异步通知的时候,自己实现一个功能:按键控制蜂鸣器,同时LED灯在闪烁结果:LED好像也同时被按键控制了最后调试结果发现:应用层的sleep被驱动层的kill_fasync打断,所以sleep没有执行完就重新进入下一次循环了修改代码后解决该问题解决逻辑就是:既然休眠函数会被打断,则让每次休眠的时间短一点解释:sleep函数是可以被中断的,也就是说当进程在睡眠的过程中,如果被中断,
晨少爱学习
·
2023-07-14 04:15
IMX6ULL
驱动开发
学习
IMX6ULL
fasync
【IMX6ULL
驱动开发
学习】17.内核定时器(按键消抖)
1.内核定时器初始化setup_timer(structtimer_list*timer,void(*function)(unsignedlong),unsignedlongdata);timer:定时器结构体structtimer_listfunction:定时器处理函数data:参数2.设置定时器的超时时间timer.expires=0;3.注册内核定时器,将定时器加人到内核动态定时器链表中a
晨少爱学习
·
2023-07-14 04:15
IMX6ULL
驱动开发
定时器
内核定时器
按键消抖
imx6ull
Linux驱动
驱动开发
作业5
题目使用驱动代码实现如下要求:使用驱动通过阻塞io模型读取number变量的值number是内核驱动中的一个变量number的值随着按键按下而改变(按键中断)例如number=0按下按键number=1,再次按下按键number=0在按下按键的时候需要同时将led1的状态取反>驱动中需要编写字符设备驱动驱动中需要自动创建设备节点在这个驱动需要的所有设备信息放在设备树的同一个节点中Repo设备树文件
zjuthqy
·
2023-07-14 04:43
华清远见
驱动开发
RK3399
驱动开发
_ 05 - Android系统中debug串口输出乱码及波特率设置
文章目录前言一、串口输出乱码及其原因二、串口波特率修改1.uboot修改2.内核中设备树dts修改3.重新编译并烧录三、串口输出测试总结前言在RK3399平台开发过程中,串口debug是一种不错的调试手段。但很多时候串口在打印过程中会出现正常输出一段时间后,莫名出现打印乱码情况。本文旨在解决设备启动后,串口正常打印一段时间后出现乱码的问题。系统:Android8.1内核:Kernel4.4.167
chenkanuo
·
2023-07-14 00:04
驱动开发
android
RK3399
驱动开发
_ 06 - wk2124 串口
驱动开发
文章目录前言一、WK21241.概述2.源码下载二、Linux驱动1.驱动简介2.驱动源码修改3.内核中设备树dts修改4.驱动模块编译三、测试1.重新编译并烧录2.编译并加载驱动模块3.查看注册到内核的串口设备节点前言在RK3399平台开发过程中,经常需要用到串口扩展芯片。本文介绍一款SPI转串口的扩展芯片WK2124。一、WK21241.概述WK2124是SPI接口的4通道UART器件,实现了
chenkanuo
·
2023-07-14 00:04
驱动开发
RK3399
驱动开发
_ 04 - Android系统中通过fdt文件系统反编译查看设备中真实生效的设备树配置信息
文章目录前言一、设备树保存在文件系哪里?二、文件系统设备树dts编译与反编译2.1设备树原始dtb格式2.2从设备中获取目标文件fdt2.3在ubuntu系统中将fdt反编译成dts2.3.1安装反编译dtc工具2.3.2使用安卓系统自带的dtc工具2.3.3将fdt反编译成dts2.3.4从文件系统反编译设备树dts2.4.在ubuntu系统中将dtb编译成dts三、重要补充前言在根文件系统中查
chenkanuo
·
2023-07-14 00:34
驱动开发
android
C++软件工程师的发展前景如何?老程序员:早知道当年就学C++了
目前国内的嵌入式开发非常火,而C++主要用于底层的嵌入式开发、
驱动开发
等,也用于WINCE等嵌入式系统的应用软件开发。可以说C++软件工程师发展前景还是不错的,下面就给大家具体介绍一下。
哪有岁月静好
·
2023-07-13 23:17
敏捷整洁之道 -- 第五章 技术实践
敏捷整洁之道--第五章技术实践1.测试
驱动开发
2.重构3.简单设计4.结对编程全文学习于《敏捷整洁之道》作者:[美]罗伯特·C.马丁译者:申健何强罗涛1.测试
驱动开发
测试
驱动开发
类似于复式记账:复式记账
S_numb
·
2023-07-13 16:56
CLeanCode
驱动开发
基于 Qt Quick + websocket 的 Web 扫描仪
驱动开发
基于QtQuick+websocket的Web扫描仪
驱动开发
核心需求在浏览器中点击扫描按钮,驱动扫描仪进行扫描,接收图片保存到ftp指定路径。
AaronZZH
·
2023-07-13 16:23
编程语言
qt
websocket
前端
6.20
驱动开发
作业
通过GPIO子系统编写LED驱动,应用程序控制LED灯亮灭head.h#ifndef__HEAD_H__#define__HEAD_H__//封装GPIO组寄存器结构体typedefstruct{unsignedintMODER;unsignedintOTYPER;unsignedintOSPEEDR;unsignedintPUPDR;unsignedintIDR;unsignedintODR;}
郏公柳易袁
·
2023-06-24 02:22
笔记
驱动开发
6.23
驱动开发
作业
epoll实现并发服务器代码#include#include#include#include#include#include#include#include#include#include#include#include#include#defineERR_MSG(msg)do{\fprintf(stderr,"line:%d",__LINE__);\perror(msg);\}while(0)#
郏公柳易袁
·
2023-06-24 02:22
数学建模
java
开发语言
6.22
驱动开发
作业
字符设备驱动内部实现原理1.字面理解解析:字符设备驱动的内部实现有两种情况:情况1.应用层调用open函数的内部实现:open函数的第一个参数是要打开的文件的路径,根据这个路径虚拟文件系统层VFS可以找到这个文件在文件系统中唯一的标识,也就是inode号,通过inode号作为索引可以找到储存在内核中的structinode结构体,structinode结构体内部储存着structcdev结构体和储
郏公柳易袁
·
2023-06-24 02:21
驱动开发
驱动开发
:内核远程线程实现DLL注入
在笔者上一篇文章《
驱动开发
:内核RIP劫持实现DLL注入》介绍了通过劫持RIP指针控制程序执行流实现插入DLL的目的,本章将继续探索全新的注入方式,通过NtCreateThreadEx这个内核函数实现注入
王 瑞
·
2023-06-23 14:35
《Windows
内核安全编程技术实践》
驱动开发
汇编
内核安全
C语言
驱动注入
信息安全
软件安全
驱动开发
:内核RIP劫持实现DLL注入
本章将探索内核级DLL模块注入实现原理,DLL模块注入在应用层中通常会使用CreateRemoteThread直接开启远程线程执行即可,驱动级别的注入有多种实现原理,而其中最简单的一种实现方式则是通过劫持EIP的方式实现,其实现原理可总结为,挂起目标进程,停止目标进程EIP的变换,在目标进程开启空间,并把相关的指令机器码和数据拷贝到里面去,然后直接修改目标进程EIP使其强行跳转到我们拷贝进去的相关
王 瑞
·
2023-06-23 12:10
《Windows
内核安全编程技术实践》
驱动开发
汇编
C语言
内核安全
系统安全
驱动开发
:内核中进程与句柄互转
在内核开发中,经常需要进行进程和句柄之间的互相转换。进程通常由一个唯一的进程标识符(PID)来标识,而句柄是指对内核对象的引用。在Windows内核中,`EProcess`结构表示一个进程,而HANDLE是一个句柄。为了实现进程与句柄之间的转换,我们需要使用一些内核函数。对于进程PID和句柄的互相转换,可以使用函数如`OpenProcess`和`GetProcessId`。OpenProcess函
lyshark
·
2023-06-23 10:00
驱动开发
6.22作业
字符设备驱动内部实现原理解析以及分布注册流程和代码示例1、内部实现原理:在用户层使用open函数打开一个文件的时候,这个文件会有一个对应的inode号,根据这个inode号,在内核中会有一个structinode类型的空间,用于保存该文件的相关信息。在structinode结构体内部找到字符设备驱动对象,字符设备驱动对象结构体内部找到相应的结构体操作方法,通过虚拟文件系统层回调相应的操作方法。2、
weixin_57486404
·
2023-06-23 07:07
驱动开发
ASP.NET MVC 介绍
如果以前用ASP.NETWEBFORM开发,来学习ASP.NETMVC的话,那么请先忘记事件
驱动开发
的模式,ASP.NETWEBFORM开发的过程是,先创建一个页面,在设计页面上,从工具栏中直接拓一个按钮出来
Dino
·
2023-06-23 05:55
驱动开发
--LED设备树
//led.c#include#include#include#include#include#defineLED_ON_IO('l',1)#defineLED_OFF_IO('l',0)structcdev*cdev;intgpiono1;intgpiono2;intgpiono3;charkbuf[128]={0};structdevice_node*dnode;structclass*cls
dsswxzy
·
2023-06-23 05:07
嵌入式学习
驱动开发
驱动开发
--字符驱动设备2
字符设备驱动1.定义以字节流的形式进行访问,且只能顺序访问的设备,针对字符设备编写的驱动叫做字符设备驱动2.字符设备框架用户空间通过IO函数如open、read、write、close等函数接口,调用内核空间中的字符设备驱动函数中的用户自定义的open、read、write、close等函数,通过内核驱动函数去操控相应的字符设备。当设备驱动注册进内核时,内核会分配给注册的设备驱动一个编号,每注册一
dsswxzy
·
2023-06-23 05:34
嵌入式学习
驱动开发
petalinux之简易字符设备
驱动开发
目录一、模块工程1.创建驱动模块2.模块编译二、运行在传统的Linux
驱动开发
中,一般是以Linux内核为基础进行模块编译,但是以petalinux创建的工程系统,并没有找到对应的内核源码,不过赛灵思的官网肯定能找得到的
风间琉璃•
·
2023-06-22 19:43
ZYNQ
驱动开发
编写最简单的字符设备驱动
编写最简单的字符设备驱动1编写驱动代码2编写makefile3编译和加载驱动4编写应用程序测试驱动参考文章:linux
驱动开发
第1讲:带你编写一个最简单的字符设备驱动linux
驱动开发
第2讲:应用层的write
p0inter
·
2023-06-22 19:13
Linux内核设计与实现
linux驱动
驱动开发
(1)——字符设备驱动
一、驱动含义字符设备是Linux驱动中最基本的一类设备驱动,字符设备就是一个字节,按照字节进行读写操作设备,读写数据是分先后顺序的。比如我们常见的点灯、按键、IIC、SPI、LCD等都是字符设备,这些设备的驱动就叫做字符设备驱动。在Linux中开发一般只能是用户态,也就是用户只能编写应用程序,但是要作用于内核,那么就需要了解Linux中应用程序是如何调用内核中的驱动程序的,Linux应用程序对驱动
大家好我是覃同学
·
2023-06-22 19:13
驱动基础
linux
Linux之字符设备驱动框架
1.模块加载2.注册字符设备驱动3.内存映射三、字符设备驱动(二)1.模块加载2.申请设备号3.注册字符设备4.自动创建设备节点5.文件私有数据总结前言一、驱动介绍Linux驱动属于内核的一部分,学习
驱动开发
时将驱动设计为内核模块
风间琉璃•
·
2023-06-22 19:13
#
Linux驱动开发
linux
驱动开发
运维
字符设备
驱动开发
流程
字符驱动相关概念解析一、驱动初始化1.1分配设备描述结构1.2初始化设备描述结构1.3.注册设备描述结构1.4.硬件初始化二、实现设备操作2.1open2.2read2.3.write2.4.lseek2.5close2.6参数分析三、驱动注销字符驱动相关概念解析1设备描述结构在任何一种驱动模型,字符、网卡驱动等,设备都会用内核的一种结构来描述。我们的字符设备在内核中使用structcdev来描述
李嘉图Y
·
2023-06-22 19:42
嵌入式相关
字符设备
驱动开发
的流程
目录1.字符设备驱动简介2.字符设备
驱动开发
步骤2.1驱动模块的加载和卸载2.2字符设备注册与注销2.3实现设备的具体操作函数3.linux设备号3.1设备号的组成3.2设备号的分配3.2.1静态分配设备号
猪突猛进进进
·
2023-06-22 19:41
驱动开发bsp
驱动开发
字符设备
驱动开发
流程详解
字符驱动相关概念解析一、驱动初始化1.1分配设备描述结构1.2初始化设备描述结构1.3.注册设备描述结构1.4.硬件初始化二、实现设备操作2.1open2.2read2.3.write2.4.lseek2.5close2.6参数分析三、驱动注销**字符驱动相关概念解析1设备描述结构*在任何一种驱动模型,字符、网卡驱动等,设备都会用内核的一种结构来描述。我们的字符设备在内核中使用structcdev
蜗蜗前行
·
2023-06-22 19:41
LINUX驱动基础解析
驱动开发
字符驱动
驱动流程
陈庙红
Linux驱动框架之i2c驱动框架解析
三、Linux下的I2C
驱动开发
思路目前,在Linux下开发i2c驱动,主要有两种途径:
陈子陌
·
2023-06-22 18:16
Linux驱动开发笔记
I2C
上一页
22
23
24
25
26
27
28
29
下一页
按字母分类:
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
其他