Linux驱动开发
星空语
linux驱动开发
展开
-
adb: error: 46-byte write failed: Invalid argument
adb push fail问题解决方法记录原创 2023-10-23 14:22:07 · 1046 阅读 · 0 评论 -
ipc msg
(2)消息队列类似于管道却又比管道更加人性化,管道的读端只要是管道里有消息都会将其读走,而消息队列是有选择性地去读取数据,只要不是它想要地都不会读走。4.当一个发送方往消息队列中发送数据时,接收方一直还没接收,数据会一直在消息队列里等待接收方的出现。(3)当消息队列的写端往消息队列写入数据时,读端还没打开,数据会一直在消息队列中等待它读端打开。//获取消息队列id号,如果不存在则创建。//每次清空一下结构体变量里的内容。//申请一个消息队列结构体变量。/* 消息队列接收 *///设计消息队列结构体。原创 2023-05-10 11:36:27 · 115 阅读 · 0 评论 -
linux5.10升级
linux官网下载linux代码: https://www.kernel.org/1、下载最新linux代码。2、查看config信息。原创 2022-08-22 16:34:45 · 669 阅读 · 0 评论 -
clk_enable()和 clk_prepare_enable()区别
clk_enable()和clk_disable()。只有clk_enable()和clk_disable()带来的问题是,有时候,某些硬件。用的clk_enable()。而clk_prepare_enable()则同时完成准备和使能的工作,当然也只能在可能睡眠的上。clk_enable()分解成不可在原子上下文调用的clk_prepare()(该函数可能睡眠)和可以在原子上下文调。加上prepare后,把过去的。名称中含有prepare、unprepare字符串的API是内核后来才加入的,过去只有。原创 2023-03-19 14:22:34 · 916 阅读 · 0 评论 -
嵌入式常问问题和知识
嵌入式面试常问问题原创 2023-02-21 09:57:27 · 1505 阅读 · 0 评论 -
Dynamic DMA mapping Guide
对于一个硬件设备上的寄存器等设备资源,内核是按照物理地址来管理的。如果设备在MMIO地址空间中有若干的寄存器,或者该设备足够的智能,它可以通过DMA执行读写系统内存的操作,这些情况下,设备使用的地址就是总线地址。例如:即便是一个系统支持64位地址内存和64 位地址的PCI bar,但是DMA可以不使用全部的64 bit地址,通过IOMMU的映射,PCI设备上的DMA可以只使用32位DMA地址。在DMA API中涉及好几个地址的概念(物理地址、虚拟地址和总线地址),正确的理解这些地址是非常重要的。转载 2023-03-13 15:28:06 · 77 阅读 · 0 评论 -
IIC、SPI、USB驱动架构类比
原创 2023-03-12 22:49:12 · 112 阅读 · 0 评论 -
linux字符设备和块设备的区别 以及网络设备
2、块设备对I/0请求有对应的缓冲区,因此他们可以选择以什么样的顺序进行响应。对于存储设备而言,调整读写的顺序作用巨大,因为读写连续的扇区的读写速度比分离的扇区更快。1、字符设备以字节为单位。大多数设备是字符设备,因为他们不需要缓冲而且不以固定块大小进行操作。4、块设备工作于VFS(虚拟文件系统)之下。1、块设备只能以块为单位接受输入和输出。2、字符设备无需缓冲直接读写。3、字符设备只能被顺序读写。3、块设备可以随机访问。原创 2023-03-11 18:50:52 · 1069 阅读 · 0 评论