- 博客(22)
- 收藏
- 关注
转载 Andriod底层驱动->HAL->JNI->Frameworks->Application完整流程
andriod的Application访问底层驱动的完整流程
2024-03-27 09:52:20 65
原创 如何在linux驱动层创建sysfs节点?
创建完成后可以在/sys/xxx/xxx/目录下(具体是在哪个目录由此参数&pdev->dev.kobj决定)找到show和set节点,cat show即可打印保存在buf的内容,echo 1 > set即可执行demo_store(也就是与set节点绑定的函数)。说白了其实是一个桥梁,用来连接linux内核空间以及用户空间,可以让用户级进程直接通过sysfs节点去操作内核空间,我们可以利用这个特性去创建节点以此来调试底层驱动或者可以通过此节点来进行工厂测试,最终在产品量产后达到对具体硬件外设的管控。
2023-09-15 14:10:37 487 1
转载 linux内核中的IOCTL
linux驱动学习(七) ioctl中的cmd和_IO() , _IOR() , IOW() ,_IOWR() 以及_IOC_NR()的关系_ioctl cmd不用 ior_ghostyu的博客-CSDN博客
2023-07-26 10:55:31 94 1
原创 安卓设备adb shell dmesg 获取到的log不完整怎么办?
adb wait-for-device:等待设备处于在线状态之后执行命令,也就是说等正确连接到设备后立即执行命令,此命令不会使 adb 等待整个系统已完全启动。旧的adb版本用的是adb wait-for-device命令,新的adb 版本用的是adb wait-for-usb-device。因为大多数安卓设备出于多种原因考虑,都是默认进去普通用户然后普通用户的文件系统都是只读的,也无法创建任何文件,而且即使进入
2023-07-10 21:27:06 1311 1
原创 The command could not be located because ‘/sbin:/usr/sbin‘ is not included in the PATH.......
The command could not be located because '/sbin:/usr/sbin' is not included in the PATH environment variable.
2023-03-08 11:31:21 1060 1
原创 3D打印机ender3-V2通过上位机以及下位机的安装并使用klipper的总体流程
3D打印机通过上位机以及下位机的安装并使用klipper的总体流程
2022-09-21 11:36:56 8483 3
原创 Linux系统编程之多线程
多线程:线程属于进程里面的基本调度单位,每一个进程都拥有自己的main(主线程)。按照调度分为用户级线程和核心级线程用户级线程作用:解决上下文的切换问题,调度算法和调度过程有用户来决定,特点:用户级线程在运行时候不需要内核的支持。 缺点:无法发挥内核多处理器的优势。核心级线程作用:允许不同线程按照同一个调度方式进行运行,能够发挥内核多处理器并发的优势,实现一对一或者一对多。学习阶段写的是用户级线程。一个进程里面可以有多个线程,也就是说多个线程控制同一个堆...
2022-04-25 11:14:26 217
原创 Linux系统编程之多进程
多进程控制:进程简单点说就是一个正在运行的程序。进程是系统中资源分配的最小单位,进程拥有自己的代码段,数据段和堆栈段。程序与进程的区别:程序可以文件的形式保存在内存中(占用存储器的内存)、而进程只能运行于系统内存中、一个程序可以对应多个进程。进程具有并发性:在同一个时间段,可以有多个进程运行。多个进程从宏观上看是同时执行的,但是从微观上说,由于CPU同一时刻一次只能执行一个进程对应的代码,所以说这些进程是交替运行的,并发执行使得CPU在这些进程之间进行快速的切换,让用户感觉是同时运.
2022-04-25 11:07:02 716
原创 Linux系统编程之网络编程
网络套接字TCP/IPOSI七层协议:应用层表示层会话层网络层传输层数据链路层物理层TCP/IP四层协议:应用层传输层网络层网络接口层服务端流程:1.创建套接字文件int socket(int domain, int type, int protocol);domain:协议域即协议族(IP协议):AF_INET - IPV4协议Type:套接字类型: 流式 socket(SOCK_STREAM)---tcpProtocol:传输层协议,直接给0,当protoc.
2022-04-25 09:44:01 243
原创 Linux系统编程之进程通信(学习笔记)
Linux系统编程中,进程通信常用的有六种:管道,信号,IPC通信中的共享内存、消息队列、信号量集一、无名管道(只用于有亲缘关系的进程、并且无文件节点)int pipe(int pipefd[2]) 创建一个无名管道pipefd[0] 代表读 pipefd[1] 代表写有读写阻塞二、有名管道(有文件节点)1、可以通过mkfifo函数打开一个有名管道,也可以直接当作命令行来创建2、只能通过文件io进行读写3、有读写阻塞三、标准流管道(只能通过标准io读写)F..
2022-04-21 16:34:37 1890
原创 stm32单片机开发(踩过的坑)
需求: pc端使用串口发送字符串控制开发板led解决方案: 使用串口接受中断搭配空闲中断来实现。原理: 串口发送字符串到开发板,开发板触发接受中断,由于串口一次只能发送一个字节,所以会多次进入接受中断,直到接受完所有字符,接受完之后就会触发空闲中断,在空闲中断里判断从接受中断获取到的字符串再进行相应的处理。坑1:对于此方案而言,接受中断中不能使用打印函数,因为打印函数会消耗时间,接受中断相当于被打断了一下。然后会被系统认定为空闲,就会出现只接受到一个字符然后就直接进空闲中断的情况。...
2022-04-21 15:31:29 978
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人