
Linux驱动开发
文章平均质量分 70
Linux驱动开发入门与实践
优惠券已抵扣
余额抵扣
还需支付
¥69.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
夜星辰2025
全力以赴 顺势而为
展开
-
Linux 下载神器:wget 的详细使用教程
在 Linux 系统中,`wget` 是一个非常强大的命令行工具,用于从网络中下载文件。无论是单个文件的下载,还是批量文件的递归下载,`wget` 都能轻松应对。而且,它还支持断点续传、限速下载、代理等高级功能,是 Linux 用户的必备工具。原创 2024-12-26 11:41:25 · 973 阅读 · 0 评论 -
DRM(Direct Rendering Manager)和Framebuffer(帧缓冲)详解
是一种历史悠久的技术,适合于简单的像素绘制,但由于没有硬件加速,已逐渐被性能更强的DRM所取代。DRM是现代图形系统的基础,支持硬件加速和多种高级图形功能,但实现和使用更为复杂。在实际选择中,应根据硬件资源和应用需求决定使用哪种方案。如果是现代设备(如带 GPU 的嵌入式平台),DRM 通常是更好的选择。原创 2024-12-26 11:16:16 · 958 阅读 · 0 评论 -
gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf
上面存在两个 GCC 工具链:这两个工具链的主要区别在于它们针对的 目标架构 和 应用二进制接口(ABI)。以下是详细的区别说明:架构(Architecture): AArch64 (也称为 ARM64)ABI(应用二进制接口): 使用场景:目录结构特点:架构(Architecture): ARM (通常指 ARMv7-A 或类似的 32 位架构)ABI(应用二进制接口): 使用场景:目录结构特点:1. 根据目标系统的架构选择工具链:64 位系统(如 RK3568 通常支持 64 位架构):32 位系统或需原创 2024-12-17 16:02:20 · 918 阅读 · 0 评论 -
网络相关问题
网络规模差异:255.255.255.0 能支持254个主机,而255.255.254.0 能支持510个主机。子网划分:255.255.254.0 可以合并两个原255.255.255.0范围的子网为一个大子网,允许更多设备在同一网络中通信。原创 2024-12-03 14:45:00 · 753 阅读 · 0 评论 -
关于 AWTK 和 Weston 在旋转屏幕时的资源消耗问题
是更加高效且资源消耗较低的选择。如果没有硬件支持,AWTK 的旋转可能会相对消耗更多的系统资源。在旋转屏幕时的资源消耗问题,首先需要理解这两者旋转的本质区别及其资源开销。(如 GPU 或显示控制器支持旋转),原创 2025-01-03 17:31:08 · 813 阅读 · 0 评论 -
rk3568 buildroot linux shell history 终端输入的历史命令不能保存的问题
要解决中Shell历史命令无法保存检查文件权限。检查HISTFILE环境变量。检查~/.bashrc和中的历史记录配置。确保正确保存历史。调整配置,确保不忽略某些命令。查看是否由于 Buildroot 的配置导致历史保存功能受限。通过上述方法排查和调整配置,应该能够解决 Shell 历史命令无法保存的问题。原创 2025-01-04 11:07:39 · 750 阅读 · 0 评论 -
Linux buildroot和ubuntu的异同点
Buildroot 是一个用于生成嵌入式 Linux 系统的工具集,专注于交叉编译和构建嵌入式设备的最小 Linux 环境。它的目标是为嵌入式系统提供定制化和优化的 Linux 发行版,支持各种架构(如 ARM、x86、MIPS 等)。Ubuntu 是一个完整的 Linux 操作系统发行版,目标是提供一个用户友好的桌面和服务器操作系统。它包括了从桌面应用到服务器工具的所有内容,注重易用性、广泛的硬件兼容性和丰富的软件包生态。都是 Linux 系统的操作环境,但它们的设计理念和使用场景有很大的不同。原创 2025-01-02 16:41:01 · 408 阅读 · 0 评论 -
深入解析 Linux 设备树中的引脚控制(pinctrl)二
而在 Linux 内核中,引脚控制(pinctrl)是一个关键的硬件资源管理部分,负责管理和配置设备的引脚(GPIO、I2C、SPI 等接口)功能和状态。引脚控制(pinctrl)是 Linux 内核中至关重要的硬件资源管理部分,它通过设备树描述引脚的功能、状态和电气特性。本文将详细介绍 Linux 设备树中引脚控制(pinctrl)的概念、如何在设备树中配置引脚,并深入探讨如何在内核中实现引脚控制。在设备树中,引脚的功能不仅仅是控制引脚的输入输出状态,还涉及到它的电气特性和功能模式。原创 2025-01-02 11:53:25 · 186 阅读 · 0 评论 -
Linux驱动开发:深入理解I2C时序(二)
I2C(Inter-Integrated Circuit)是一种由Philips(现NXP)提出的串行通信协议,广泛应用于低速外围设备的连接。原创 2025-01-02 11:33:30 · 277 阅读 · 0 评论 -
选择 SquashFS 作为启动分区的文件系统格式:详细教程
是一个高压缩的只读文件系统,它将文件和目录打包成一个压缩的文件系统映像。这个映像文件可以挂载为根文件系统或其他文件系统,常用于嵌入式设备、LiveCD 等需要减小文件系统占用空间的场景。原创 2024-12-25 20:05:11 · 203 阅读 · 0 评论 -
在 RK3568 Linux 系统上使用 TUN 设备:详细教程
是 Linux 内核中提供的虚拟网络设备。它们用于实现用户空间程序与内核网络栈的交互。原创 2024-12-25 19:46:55 · 245 阅读 · 0 评论 -
使用 Buildroot 构建带有 Avahi 支持的 Linux 系统
Buildroot 是一个用于生成嵌入式 Linux 系统的工具,极大地方便了交叉编译和定制化。它使开发者能够轻松选择所需的包和功能,最终生成一个适合特定硬件平台的 Linux 文件系统和内核映像。Avahi 是一个开源的 mDNS 和 DNS-SD 实现,允许设备在本地网络中自动发现彼此,而不需要手动配置 DNS。它广泛应用于各种应用场景,如打印服务发现、文件共享和网络服务发现等。原创 2024-12-18 10:23:09 · 267 阅读 · 1 评论 -
Android camera2拍照旋转角度,以及镜像
以下亲测内容:一、需要系统自带相机,拍照旋转90度。路径:packages\apps\Camera2找到三个CaptureRequest.JPEG_ORIENTATION ,修改为解决:rootBuilder.setParam(CaptureRequest.JPEG_ORIENTATION, 90); //旋转90度二、系统自带相机,拍照存盘镜像路径:packages\apps\Camera2\src\com\android\cameradiff --git a/apps/Camera原创 2022-05-15 21:04:47 · 6723 阅读 · 1 评论 -
RK3568 Android11 默认打开网络ADB
adb早期版本只能通过USB来对设备调试,从adb v1.0.25开始,增加了对通过tcp/ip调试Android设备的功能。如果你需要使用网络adb来调试设备,必须要满足如下条件:1、设备上面首先要有网口,或者通过WiFi连接网络。2、设备和研发机(PC机)已经接入局域网,并且设备设有局域网的IP地址。3、要确保研发机和设备能够相互ping得通。4、研发机已经安装了adb。5、确保Android设备中adbd进程(adb的后台进程)已经运行。...原创 2022-08-18 20:41:31 · 3176 阅读 · 0 评论 -
查看 RK3568 Android SDK 版本的详细指南
在RK3568 Android源码中,某些配置文件也包含SDK版本信息。文件包含了系统构建的详细信息,可以直接查看这个文件来获取SDK版本。确保设备已正确连接,并且在设备上启用了USB调试模式。确认你在正确的目录中进行搜索,并且源码版本是完整并且最新的。确保你有足够的权限查看相关系统属性或文件。在编译过程中,构建系统会输出各种信息,包括SDK版本。关键字的所有系统属性,从中可以找到SDK的版本信息。命令查看系统属性,其中可能包含SDK版本信息。在编译的输出中,你可能会看到包含版本信息的行。原创 2024-06-16 12:32:12 · 1614 阅读 · 0 评论 -
高效开发与调试 RK3568 上的 Android 11:全面指南
RK3568 是一款强大的处理器,广泛应用于各种嵌入式系统和设备。结合 Android 11,开发者可以充分发挥其性能和功能。然而,嵌入式开发和调试通常面临许多挑战。本博客将详细介绍如何在 RK3568 上高效开发和调试 Android 11,包括环境搭建、工具使用、无线调试等。原创 2024-06-22 14:53:43 · 1296 阅读 · 0 评论 -
rk3568 Android 11在系统怎样执行命令获取SN号
是一个在Android系统中使用的命令行工具,用于获取系统属性的值。这些系统属性存储在Android的属性服务中,它们是键值对,用于存储各种系统信息和配置数据。如果你有足够的权限,可以在设备上编写一个Shell脚本或开发一个应用程序来执行命令或获取SN号。ADB是一个非常强大的工具,允许开发者在连接的Android设备上执行各种命令。如果你可以直接访问设备的Shell,可以直接在命令行中输入命令。在Android应用程序中,你可以使用系统API来获取设备的SN号。这将返回一个字符串,表示设备的序列号。原创 2024-06-22 15:50:07 · 1505 阅读 · 0 评论 -
Android Camera Framework:从基础到高级
在现代移动应用开发中,相机功能已成为许多应用程序的核心组成部分。Android 提供了一个强大的相机框架,允许开发者轻松集成相机功能到他们的应用中。本文将深入探讨 Android Camera Framework 的基础知识、关键组件以及高级功能,帮助开发者充分利用 Android 相机的潜力。是 Camera2 API 的入口点,用于枚举、打开和管理相机设备。通过组合多个曝光捕获,可以实现 HDR 和夜间模式效果。代表一个物理相机设备,可以通过。定义了相机的配置和捕获参数,在使用相机功能之前,需要在。原创 2024-07-09 11:39:51 · 870 阅读 · 0 评论 -
如何在 RK3568 Android 11 系统上排查以太网问题
设备一般会通过 DHCP 自动获取 IP。注意识别与以太网相关的错误信息,比如驱动加载失败或硬件相关问题。SELinux 是一个安全子系统,可能会不正确地限制网络访问。通过此命令确认到达默认网关的路由是否存在并正确配置。确保以太网驱动正确加载,如有必要重装或更新驱动。有时候,简单的重启设备能够解决许多未知的小问题。中确认驱动加载成功,没有错误提示。配置信息需根据网络环境具体设置。原创 2024-11-21 19:01:39 · 245 阅读 · 0 评论 -
RK3568 Linux 系统加系统运行指示灯
【代码】RK3568 Linux 系统加系统运行指示灯。原创 2024-11-14 15:51:47 · 288 阅读 · 0 评论 -
I2S、PDM、PCM、TDM、DSM、DCODEC、VAD、SPDIF
I2S (Inter-IC Sound)用途: 一种用于芯片之间传输音频数据的串行总线标准。特点: 常用于高质量音频设备,如DAC、ADC和音频编解码器。I2S主要传输PCM格式的音频数据。PDM (Pulse Density Modulation)用途: 主要用于数字麦克风等设备,以简化硬件接口。特点: 使用脉冲密度来编码音频信号,通过简单硬件实现低成本、低功耗的设计,需要在接收端进行信号重建。PCM (Pulse Code Modulation)用途: 一种常见的音频数字化格式,原创 2024-11-01 15:34:57 · 707 阅读 · 0 评论 -
rockchip,format = “i2s“;和rockchip,format = “pdm“;的区别
在设备树中,对于音频接口的配置,属性用于指定音频数据传输的格式。不同的格式用于适配不同类型的音频信号传输方式。下面是i2s和pdm。原创 2024-11-01 14:56:50 · 149 阅读 · 0 评论 -
connmanctl和connmand的区别
connmand是 ConnMan 的守护进程,它在后台持续运行,负责网络连接的管理和调度工作。它提供了自动化的网络连接能力,可以在不同的网络接口之间进行切换,最大化设备的联网稳定性和可靠性。connmandconnmanctl是一个命令行工具,用于与connmand进行交互和管理网络连接。它为用户提供了一个接口,用来查询网络状态、连接和断开网络等。connmanctl。原创 2024-10-30 19:14:47 · 175 阅读 · 0 评论 -
瑞芯微rv1126 Linux 系统,修改系统时区,包有效方法
在 Linux 系统中,修改时区的步骤通常包括创建符号链接到正确的时区文件,并确保相关的配置文件已正确更新。然而,某些系统可能有额外的步骤或需要修改其他配置文件来使更改生效。以下是一些步骤。原创 2024-09-12 11:51:24 · 311 阅读 · 0 评论 -
怎样确定局域网里面是否有MAC地址冲突
MAC地址冲突会导致网络通信问题,因此检测和解决冲突非常重要。通过使用ARP命令、网络扫描工具、检查路由器日志或网卡故障排除工具,您可以确定是否存在MAC地址冲突。如果发现冲突,可以通过更改MAC地址、检查设备配置或替换有问题的设备来解决冲突。保持局域网中设备的MAC地址唯一,能够确保网络的正常运行和通信效率。原创 2024-08-09 10:45:16 · 3073 阅读 · 0 评论 -
Linux 内核中的并发与竞争
并发是指多个任务在同一时间段内进行的能力,允许它们在逻辑上同时执行,而不一定是在物理上并行处理。并发的关键在于任务的调度与管理,使得系统能够高效利用资源。竞争是指多个任务在访问共享资源时的争夺状态,当它们试图同时读取或修改同一资源时,会导致错误或不一致的结果。原创 2024-08-15 20:17:49 · 311 阅读 · 0 评论 -
Linux 内核中的定时器详解
定时器允许开发者在给定的时间间隔后执行特定的操作。它们可以用来实现延时执行、周期性任务、超时处理等功能。Linux 内核提供了多种类型的定时器,以满足不同的需求。在 SDN 环境中,定时器可能被用于数据包的处理和调度。未来的内核可能会引入更多针对网络调度的定时器特性,以应对高并发和低延迟的需求。Linux 内核中的定时器是实现时间管理和任务调度的核心组件。通过合理使用定时器,可以大幅提高系统的性能和响应能力。理解定时器的工作原理及其在不同上下文中的应用,对于开发高效可靠的内核模块至关重要。原创 2024-08-15 19:51:06 · 403 阅读 · 0 评论 -
瑞芯微Android设备指定应用开启性能模式
本文档主要针对特定应用(如 安兔兔)如何进行加速及性能的提升做相关说明。原创 2024-08-02 17:25:28 · 296 阅读 · 0 评论 -
RK3568和RK3576参数对比
RK3568: 高性能、低功耗的四核应用处理器,适用于个人移动互联网设备和AIoT设备。支持多种硬件引擎,优化高端应用性能。RK3576: 低功耗、高性能处理器,适用于基于ARM的PC、边缘计算设备、个人移动互联网设备和其他数字多媒体应用。集成了四核Cortex-A72和四核Cortex-A53,支持多种视频编解码功能。原创 2024-07-29 16:42:54 · 2444 阅读 · 0 评论 -
USB 通讯中的阻抗不匹配问题
USB 通讯过程中出现的阻抗不匹配问题主要源于设计、材料和连接方式等因素。通过合理的设计、优质的元件和适当的测试,可以有效地解决和预防阻抗不匹配导致的通讯问题。原创 2024-07-29 14:29:15 · 869 阅读 · 0 评论 -
RK3399 Linux 系统,接i2c外设,时好时坏(三)其中一个解决问题方法
在嵌入式系统中,引脚的配置对外设的稳定性和可靠性至关重要。RK3399 的设备树(Device Tree)允许我们为每个 I2C 总线配置相应的引脚,并指定其上下拉电阻的类型。以下是我们需要调整的 I2C 引脚配置。在 RK3399 系统中,合理配置 I2C 引脚对于确保外设的稳定性至关重要。通过将 I2C1 的引脚配置从修改为,我们能够有效提升信号的稳定性和抗干扰能力,解决了时好时坏的问题。如需进一步的配置或调试建议,请继续关注相关的技术博客和文档。希望本文对你的开发工作有所帮助!原创 2024-07-25 18:30:27 · 283 阅读 · 0 评论 -
RV1126 Linux 系统,接外设,时好时坏(二)排查问题的常用命令
上述命令涵盖了设备识别、连接状态、GPIO 和 I2C 读写、网络测试等多个方面,可以帮助你更全面地排查 RV1126 Linux 系统与外设之间的连接问题。根据具体情况使用合适的命令,有助于快速定位和解决问题。如果问题复杂,可能需要结合多个工具和命令进行综合分析。原创 2024-07-25 18:25:36 · 432 阅读 · 0 评论 -
RV1126 Linux 系统,接外设,时好时坏(一)应该从哪些方面排查问题
在 Linux 系统中排查外设连接问题时,需要从硬件、软件、时序和协议等多个方面进行全面分析。逐步排查并记录每一步的测试结果,有助于快速定位问题的根源。解决 “时好时坏”的问题可能需要综合考虑多个因素,耐心细致的排查将会提高找到解决方案的效率。原创 2024-07-25 18:05:44 · 262 阅读 · 0 评论 -
RK3568 Linux 平台开发系列讲解(内核入门篇):从内核的角度看外设芯片的驱动
从内核的角度看外设芯片的驱动,需要理解驱动的基本结构、设备树的使用以及内核的 I/O 机制。通过掌握这些知识,您将能够有效地开发和管理外设驱动程序。希望本文为您在 RK3568 平台的驱动开发提供了有价值的参考,欢迎继续关注后续的内容!原创 2024-07-24 20:38:08 · 914 阅读 · 0 评论 -
RK3568 Linux 平台开发系列讲解(内核入门篇):如何高效地阅读 Linux 内核设备驱动
高效地阅读和理解 Linux 内核设备驱动需要一定的知识积累和实践。通过理解内核架构、掌握驱动结构、使用调试工具以及查阅相关文档,您将能够更有效地进行设备驱动开发。希望本文能为您在 RK3568 平台的设备驱动开发提供一些帮助与启发,欢迎继续关注后续内容!原创 2024-07-24 20:10:37 · 769 阅读 · 0 评论 -
connmand不管理eth1的方法
配置 connman 的配置文件,默认没有创建对应的配置文件,需要自己手动在 etc 目录下创建 connman 文件夹,并创建 main.conf 文件, connman 在启动的时候会自动的读取这个配置文件。保存之后,重启终端,重启终端之后,可以看到 eth1 网卡已经不启动了,因为没有被connmand 托管了!在 main.conf 里写入以下内容,比如笔者将 eth1 写进黑名单,这样 eth1 就不会被托管了。原创 2024-07-24 15:02:18 · 132 阅读 · 0 评论 -
Linux 驱动学习笔记
设备树(Device Tree)是一种数据结构,用于描述硬件设备及其相互关系的图形表示。在Linux系统中,设备树被用于描述硬件设备的配置和属性,以及设备与内核之间的接口。设备注册和管理:设备树提供了对硬件设备的注册和管理机制。驱动程序可以将自己的设备信息添加到设备树中,并实现与设备树的交互,从而方便系统对设备的识别和管理。设备配置和初始化:设备树可以帮助驱动程序了解设备的配置信息和属性,以便进行相应的初始化操作。驱动程序可以根据设备树的描述来配置设备的寄存器、分配内存资源等。原创 2024-07-22 11:00:51 · 413 阅读 · 0 评论 -
瑞芯微RGA kernel层报错集锦
该问题为分配器DRM本身的问题,DRM本身认为当用户态获取到物理地址后,正常来讲内核态是不需要虚拟地址的了,所以在分配buffer时就会将对应的kmap释放,仅释放kmap也不会影响到用户态中映射虚拟地址和使用,但是当这块buffer用户态的虚拟地址传入RGA驱动,驱动进行物理地址页表的转换查询时,由于该buffer的kmap已经被释放,或是无法查询到对应的页表项,或是直接访问到错误的地址导致内核crash。原创 2024-07-22 09:18:05 · 706 阅读 · 0 评论 -
瑞芯微RGA HAL层报错集锦
该报错为明显的参数报错,“err ws” 即虚宽(width stride)参数异常,其后“[]”内的参数分别为[x_offeset, width, width_stride],这里由于X方向的偏移与实际操作区域的宽的和大于了虚宽,所以librga认为虚宽存在问题而返回的报错。的偏移的和、对齐是否符合要求。:该报错为ioctl报错,标识当前传入的设备节点的fd无效,请尝试更新librga或确认RGA。如问题中报错,则为YUV格式对齐的限制问题,这里图像的宽1281不是2对齐的,所以校验失败。原创 2024-07-19 18:15:04 · 349 阅读 · 0 评论 -
Linux系统中调试蓝牙的常用命令
在Linux系统中,蓝牙技术的应用越来越广泛,从无线耳机到智能家居设备,蓝牙连接已成为我们日常生活中不可或缺的一部分。这个命令会显示蓝牙适配器的信息,包括是否启用、地址、速度等。确保你的蓝牙适配器的固件和驱动是最新的。是一个强大的蓝牙监控工具,可以捕获和显示蓝牙通信的详细信息。查阅蓝牙适配器的相关文档,以及参考社区论坛和开发者邮件列表,获取更多的帮助和支持。是蓝牙适配器的默认名称,如果你的系统有多个蓝牙适配器,可能会有不同的名称。守护进程时,可以使用调试选项来获取更详细的日志信息。来扫描附近的蓝牙设备。原创 2024-07-17 19:46:38 · 782 阅读 · 0 评论