自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(479)
  • 资源 (7)
  • 收藏
  • 关注

原创 RK3399 Linux 系统,接i2c外设,时好时坏(三)其中一个解决问题方法

在嵌入式系统中,引脚的配置对外设的稳定性和可靠性至关重要。RK3399 的设备树(Device Tree)允许我们为每个 I2C 总线配置相应的引脚,并指定其上下拉电阻的类型。以下是我们需要调整的 I2C 引脚配置。在 RK3399 系统中,合理配置 I2C 引脚对于确保外设的稳定性至关重要。通过将 I2C1 的引脚配置从修改为,我们能够有效提升信号的稳定性和抗干扰能力,解决了时好时坏的问题。如需进一步的配置或调试建议,请继续关注相关的技术博客和文档。希望本文对你的开发工作有所帮助!

2024-07-25 18:30:27 49

原创 RV1126 Linux 系统,接外设,时好时坏(二)排查问题的常用命令

上述命令涵盖了设备识别、连接状态、GPIO 和 I2C 读写、网络测试等多个方面,可以帮助你更全面地排查 RV1126 Linux 系统与外设之间的连接问题。根据具体情况使用合适的命令,有助于快速定位和解决问题。如果问题复杂,可能需要结合多个工具和命令进行综合分析。

2024-07-25 18:25:36 62

原创 RV1126 Linux 系统,接外设,时好时坏(一)应该从哪些方面排查问题

在 Linux 系统中排查外设连接问题时,需要从硬件、软件、时序和协议等多个方面进行全面分析。逐步排查并记录每一步的测试结果,有助于快速定位问题的根源。解决 “时好时坏”的问题可能需要综合考虑多个因素,耐心细致的排查将会提高找到解决方案的效率。

2024-07-25 18:05:44 71

原创 RK3568 Linux 平台开发系列讲解(内核入门篇):从内核的角度看外设芯片的驱动

从内核的角度看外设芯片的驱动,需要理解驱动的基本结构、设备树的使用以及内核的 I/O 机制。通过掌握这些知识,您将能够有效地开发和管理外设驱动程序。希望本文为您在 RK3568 平台的驱动开发提供了有价值的参考,欢迎继续关注后续的内容!

2024-07-24 20:38:08 730

原创 RK3568 Linux 平台开发系列讲解(内核入门篇):如何高效地阅读 Linux 内核设备驱动

高效地阅读和理解 Linux 内核设备驱动需要一定的知识积累和实践。通过理解内核架构、掌握驱动结构、使用调试工具以及查阅相关文档,您将能够更有效地进行设备驱动开发。希望本文能为您在 RK3568 平台的设备驱动开发提供一些帮助与启发,欢迎继续关注后续内容!

2024-07-24 20:10:37 608

原创 “微软蓝屏”事件暴露了网络安全哪些问题?

近日,一次由微软视窗系统软件更新引发的全球性“微软蓝屏”事件,不仅成为科技领域的热点新闻,更是一次对全球IT基础设施韧性与安全性的深刻检验。这次事件,源于美国电脑安全技术公司“众击”提供的一个带有“缺陷”的软件更新,它如同一颗隐形炸弹,在全球范围内引爆,导致近850万台设备遭遇故障,横跨航空、医疗、传媒等众多关键行业,甚至造成美国超过2.3万架次航班延误,其影响之广令人震惊。在网络安全和系统稳定性方面我们仍面临着严峻考验。这次由微软视窗系统软件更新引发的全球性“蓝屏”事件,确实引起了广泛的关注和讨论。

2024-07-24 18:00:00 245

原创 AM62x和rk3568的异同点

AM62x更加专注于低功耗和工业应用,适合需要高效能和实时处理的场景。RK3568提供更高的计算性能,适合多媒体和消费类电子产品,特别是在图形和视频处理方面。

2024-07-24 17:43:43 331

原创 connmand不管理eth1的方法

配置 connman 的配置文件,默认没有创建对应的配置文件,需要自己手动在 etc 目录下创建 connman 文件夹,并创建 main.conf 文件, connman 在启动的时候会自动的读取这个配置文件。保存之后,重启终端,重启终端之后,可以看到 eth1 网卡已经不启动了,因为没有被connmand 托管了!在 main.conf 里写入以下内容,比如笔者将 eth1 写进黑名单,这样 eth1 就不会被托管了。

2024-07-24 15:02:18 19

原创 Linux 驱动学习笔记

设备树(Device Tree)是一种数据结构,用于描述硬件设备及其相互关系的图形表示。在Linux系统中,设备树被用于描述硬件设备的配置和属性,以及设备与内核之间的接口。设备注册和管理:设备树提供了对硬件设备的注册和管理机制。驱动程序可以将自己的设备信息添加到设备树中,并实现与设备树的交互,从而方便系统对设备的识别和管理。设备配置和初始化:设备树可以帮助驱动程序了解设备的配置信息和属性,以便进行相应的初始化操作。驱动程序可以根据设备树的描述来配置设备的寄存器、分配内存资源等。

2024-07-22 11:00:51 242

原创 瑞芯微RGA kernel层报错集锦

该问题为分配器DRM本身的问题,DRM本身认为当用户态获取到物理地址后,正常来讲内核态是不需要虚拟地址的了,所以在分配buffer时就会将对应的kmap释放,仅释放kmap也不会影响到用户态中映射虚拟地址和使用,但是当这块buffer用户态的虚拟地址传入RGA驱动,驱动进行物理地址页表的转换查询时,由于该buffer的kmap已经被释放,或是无法查询到对应的页表项,或是直接访问到错误的地址导致内核crash。

2024-07-22 09:18:05 45

原创 瑞芯微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 100

原创 使用 hcitool 进行蓝牙设备管理和调试

hcitool是一个功能强大的蓝牙命令行工具,可以帮助用户扫描、连接和管理蓝牙设备。通过灵活使用各种命令和选项,你可以高效地执行各种蓝牙操作。在蓝牙设备的调试和管理中,hcitool是一种不可或缺的工具。

2024-07-18 14:09:28 325

原创 hciconfig配置和管理蓝牙HCI设备的命令行工具

hciconfig是一个用于配置和管理蓝牙HCI(Host Controller Interface)设备的命令行工具。它允许用户对蓝牙设备进行各种操作,如启用、禁用、重置设备,以及配置各种蓝牙参数。以下是hciconfig。

2024-07-18 13:35:21 299

原创 使用 tcpdump 进行网络流量捕获与分析

tcpdump是一个功能强大的网络流量捕获和分析工具,可以帮助网络管理员和安全专家深入了解网络通信的细节。通过灵活使用各种选项和过滤表达式,你可以高效地捕获和分析所需的网络流量。在日常运维和故障排查中,tcpdump是一种不可或缺的工具。

2024-07-18 11:41:22 462

原创 Linux系统中调试蓝牙的常用命令

在Linux系统中,蓝牙技术的应用越来越广泛,从无线耳机到智能家居设备,蓝牙连接已成为我们日常生活中不可或缺的一部分。这个命令会显示蓝牙适配器的信息,包括是否启用、地址、速度等。确保你的蓝牙适配器的固件和驱动是最新的。是一个强大的蓝牙监控工具,可以捕获和显示蓝牙通信的详细信息。查阅蓝牙适配器的相关文档,以及参考社区论坛和开发者邮件列表,获取更多的帮助和支持。是蓝牙适配器的默认名称,如果你的系统有多个蓝牙适配器,可能会有不同的名称。守护进程时,可以使用调试选项来获取更详细的日志信息。来扫描附近的蓝牙设备。

2024-07-17 19:46:38 37

原创 RK3568 V1.4.0 SDK,USB OTG端子不能被电脑识别出adb设备,解决

修改后的/usr/bin/usbdevice:#!/bin/sh## Usage:# usbdevice [start|update|stop]## Hookable stages:# usb_<pre|post>_<init|prepare|start|stop|restart>_hook# <usb function>_<pre|post>_<prepare|start|stop>_hook## Example hook:

2024-07-16 13:59:16 372

原创 rv1126播放H264、MP4、MP3、WAV文件

【代码】rv1126播放H264、MP4、MP3、WAV文件。

2024-07-16 10:01:03 41

原创 imx335帧率改到10fps的方法

imx335.c驱动默认的帧率是30fps,要将 IMX335 的帧率更改为 10fps,需要调整与帧率相关的参数。FPS(frames per second,每秒帧数)通常由 sensor 的曝光时间(exposure time)和垂直总时间(VTS,Vertical Total Size)共同决定。默认设置的 VTS 值是基于 sensor 在最大 FPS 下的需要配置的。要将帧率改为 10fps,需要增加垂直总时间(VTS),因为帧率的倒数是单帧的时间。按照一定的比例调整 VTS 可以降低帧率。

2024-07-16 09:30:21 705

原创 BootLoader、Linux内核、根文件系统的关系?

BootLoader(引导加载程序)是系统启动过程中第一个运行的软件。它的主要任务是初始化硬件设备、设置内存空间,然后将操作系统内核加载到内存中,并将控制权交给操作系统内核。Linux内核是操作系统的核心部分。它负责管理系统资源(如CPU、内存、设备等)并为应用程序提供系统服务。根文件系统(Root File System)是操作系统启动后第一个挂载的文件系统。它包含了操作系统运行所需的各种文件,包括设备文件、系统库、配置文件和应用程序等。BootLoader:负责系统的初始加载和内核引导。

2024-07-15 11:41:25 32

原创 如何处理CPU 100%的问题

CPU 100% 的问题可能由多种原因引起,包括进程异常、代码性能问题、资源不足等。通过使用系统监控工具进行诊断,找到高CPU使用的进程,并进一步分析其原因,采取相应的措施进行解决。通过定期监控、合理资源分配、负载测试和自动扩展等预防措施,可以有效减少CPU 100%问题的发生,确保系统的稳定性和高效运行。

2024-07-15 11:11:06 719

原创 Linux中断处理程序的编写和调试

中断处理函数的定义需要遵循特定的函数签名。它通常返回类型,并接收两个参数:中断号和设备标识符。// 处理中断事件// ...// 或者 IRQ_NONEirq:中断号。dev_id:设备标识符,用于共享中断。编写和调试Linux中断处理程序需要理解中断机制、内核API以及一些调试技巧。本文详细介绍了如何编写中断处理函数、注册和注销中断处理程序,以及如何使用打印调试和调试文件系统进行有效调试。通过这些知识和实践,你能够更好地编写和调试内核驱动程序中的中断处理代码,提高系统的响应和稳定性。

2024-07-15 10:36:28 25

原创 Linux硬件中断(IRQ)的基础知识

硬件中断是一种信号,由外部设备(如网络适配器、硬盘、键盘等)发送到CPU,以通知有事件需要处理。中断允许设备在需要时打断CPU的当前工作,迫使其立即处理更高优先级的任务。硬件中断是操作系统与外部设备交互的重要方式。在Linux内核中,中断管理模块负责处理来自硬件设备的中断请求。合理地管理中断对于保持系统的响应性和性能至关重要。通过注册合适的ISR,内核可以高效地响应外设请求,并通过诸如软中断和任务调度机制,将长时间运行的任务移出中断上下文,从而最小化中断对系统性能的影响。

2024-07-15 10:35:02 68

原创 延时工作队列(Delayed Workqueue):使用场景与实现方法

在Linux内核中,延时工作队列由表示,延时工作项由表示。你可以使用函数创建一个新的工作队列,并使用宏初始化一个延时工作项。// 延迟5秒执行return 0;延时工作队列(Delayed Workqueue)是Linux内核中一种强大的机制,用于将任务推迟到将来某个时间点执行。它特别适合定时任务、周期性任务以及需要在中断上下文之外执行的任务。本文详细介绍了延时工作队列的使用场景、实现方法以及实际应用示例。通过这些知识和示例,相信你能够在内核开发中更好地使用延时工作队列来管理延迟任务。

2024-07-15 10:22:43 23

原创 Linux 工作队列(Workqueue):概念与实现

工作队列(Workqueue)是Linux内核提供的一种机制,用于将任务推迟到将来某个时间点在进程上下文中执行。与软中断和任务队列不同,工作队列允许任务在进程上下文中运行,这意味着它们可以睡眠和使用所有的内核API。在Linux内核中,工作队列由表示,工作项由表示。你可以使用函数创建一个新的工作队列,并使用INIT_WORK宏初始化一个工作项。return 0;工作队列(Workqueue)是Linux内核中用于延迟执行任务的一种机制。

2024-07-15 10:21:44 149

原创 Linux 高精度定时器(hrtimer):特性与应用

高精度定时器(hrtimer)是 Linux 内核中一种强大的时间管理工具,提供了高精度、灵活性和高效性。通过本文的介绍,你应该对 hrtimer 的特性、工作原理以及如何在实际应用中使用 hrtimer 有了更深入的了解。希望这些知识能帮助你在实时系统和高性能计算场景中更好地利用 hrtimer。

2024-07-15 10:20:35 61

原创 Linux 定时器:基本原理与使用指南

Linux定时器是实现时间相关任务的重要工具。无论是内核定时器还是POSIX定时器,它们都提供了灵活且强大的机制来管理时间和执行任务。通过本文的介绍,你应该对Linux定时器的基本原理、类型以及如何使用它们有了更深入的了解。希望这些知识能帮助你在实际开发中更好地利用定时器。

2024-07-15 10:17:56 45

原创 Linux 内核中的 Makefile 和 Kconfig:深入理解与实践

Makefile是一种用于自动化构建和管理项目的文件,主要由make工具解析。它定义了如何编译和链接程序,规定了源代码文件之间的依赖关系,并包含了一系列的规则和命令。Kconfig是一种配置文件,用于定义内核配置选项并生成配置界面。它允许开发者通过菜单方式选择编译哪些内核模块或功能。Makefile和Kconfig是 Linux 内核开发和构建过程中两个重要的工具。Kconfig提供了一种灵活的机制来配置内核选项,而Makefile负责管理和编译这些配置选项生成最终的内核和模块。

2024-07-12 15:02:07 1101

原创 Android Camera Framework:从基础到高级

在现代移动应用开发中,相机功能已成为许多应用程序的核心组成部分。Android 提供了一个强大的相机框架,允许开发者轻松集成相机功能到他们的应用中。本文将深入探讨 Android Camera Framework 的基础知识、关键组件以及高级功能,帮助开发者充分利用 Android 相机的潜力。是 Camera2 API 的入口点,用于枚举、打开和管理相机设备。通过组合多个曝光捕获,可以实现 HDR 和夜间模式效果。代表一个物理相机设备,可以通过。定义了相机的配置和捕获参数,在使用相机功能之前,需要在。

2024-07-09 11:39:51 646

原创 深入了解Linux中的dnsmasq:配置与优化指南

是一个轻量级的网络服务,主要用于提供DNS缓存和DHCP服务。它广泛应用于家庭路由器、网络服务器以及各种嵌入式设备中。本文将详细介绍如何在Linux系统中安装、配置和优化。可以通过包管理器轻松安装。:配置DHCP服务器的IP地址范围。:为特定MAC地址分配固定IP。在大多数Linux发行版中,,以提升网络性能和安全性。:设置DNS缓存条目数量。:指定上游DNS服务器。:防止DNS重绑定攻击。:为本地网络设置域名。:阻止特定域名的解析。在Linux系统中,:启用详细日志记录。

2024-07-04 09:51:37 393

原创 深入了解Linux中的udhcpc:动态主机配置协议客户端

udhcpc是BusyBox工具集中的一个组件,用于从DHCP服务器获取网络配置信息,如IP地址、子网掩码、默认网关和DNS服务器等。它是一个轻量级的工具,非常适合资源受限的嵌入式系统。udhcpc默认使用目录下的脚本来处理DHCP事件。你可以自定义这些脚本来满足特定需求。例如,创建一个自定义脚本/bin/sh;;esac。

2024-07-04 09:32:51 690

原创 rga_mm: RGA_MMU unsupported Memory larger than 4G!解决

对于内存刚好是4GB的,这个修改是把位于4GB以上空间的256MB内存,不上报给内核。内存会损失256MB,如果可以接受的,可以这么使用。经过这么修改,如果能正常工作,说明就是大于等于4GB内存触发的问题,大于4GB的内存直接不上报给kernel。uboot下做如下修改。对于8GB内存的,不建议这样修改,否则内存直接变成4GB了。

2024-06-25 19:20:51 698

原创 rv1126 摄像头ISP效果参数是什么?

RV1126是瑞芯微(Rockchip)推出的一款高性能AI视觉处理芯片,它集成了ISP(Image Signal Processor,图像信号处理器),用于处理摄像头捕获的图像数据。:即自动曝光(AE)、自动白平衡(AWB)和自动对焦(AF)算法,这些算法协同工作,以实现最佳的图像质量。:包括时域降噪(TNR)和空域降噪(SNR),用于减少图像中的噪点,提高图像质量。:包括自动曝光(AE)控制,可以调整图像的亮度,确保图像不会过曝或欠曝。:调整图像的对比度和灰度层次,以适应不同的显示设备。

2024-06-25 12:47:56 139

原创 深入理解Android的arm64-v8a架构

ARM64-v8a 是一个指令集架构,主要用于当前的高性能移动设备和嵌入式系统。它是ARM架构的一部分,专为64位处理器设计,提供更高的性能和更大的内存寻址能力。在Android开发和应用分发中,arm64-v8a。

2024-06-24 17:00:51 457

原创 手机开热点,里面的WPA2-Personal和WPA3-Personal的区别

WPA2-Personal和WPA3-Personal都是用来保护无线网络安全的安全协议。WPA3-Personal提供了更强的加密和安全特性,但如果你的设备不支持WPA3,那么使用WPA2-Personal仍然可以提供足够的安全保护。在选择时,应考虑所有连接设备的兼容性。

2024-06-24 16:28:38 1051

原创 使用adb shell getprop命令获取Android设备的属性

获取手机系统版本 adb shell getprop ro.build.version.release。获取手机系统api版本 adb shell getprop ro.build.version.sdk。adb shell getprop ro.build.version.emui —查询EMUI版本。获取手机设备型号 adb -d shell getprop ro.product.model。adb shell getprop ro.product.name --查询设备名称。

2024-06-24 11:51:32 574

原创 RK3568 Android 11,安装apk有哪些方法

在安装APK时,如果遇到“解析软件包时出现问题”的错误,请参考我之前提供的解决方案进行排查。

2024-06-24 10:05:02 515

原创 在Android系统中,查看apk安装路径

在Android系统中,应用通常安装在内部存储的特定目录下。要找到已安装应用的路径,可以通过ADB(Android Debug Bridge)工具来查询。此外,从Android 8.0(Oreo)开始,应用的安装位置变得更加复杂,因为系统引入了新的应用安装机制,包括将APK文件分割成多个文件(例如base.apk、split_xxx.apk等)。如果你有设备的root权限,可以直接在设备上查看APK文件。这个命令可以提供关于应用的更多信息,包括安装位置。使用上述命令找到你感兴趣的应用的包名,然后使用。

2024-06-23 15:31:49 817

原创 rk3568 Android 11在系统怎样执行命令获取SN号

是一个在Android系统中使用的命令行工具,用于获取系统属性的值。这些系统属性存储在Android的属性服务中,它们是键值对,用于存储各种系统信息和配置数据。如果你有足够的权限,可以在设备上编写一个Shell脚本或开发一个应用程序来执行命令或获取SN号。ADB是一个非常强大的工具,允许开发者在连接的Android设备上执行各种命令。如果你可以直接访问设备的Shell,可以直接在命令行中输入命令。在Android应用程序中,你可以使用系统API来获取设备的SN号。这将返回一个字符串,表示设备的序列号。

2024-06-22 15:50:07 1129

原创 高效开发与调试 RK3568 上的 Android 11:全面指南

RK3568 是一款强大的处理器,广泛应用于各种嵌入式系统和设备。结合 Android 11,开发者可以充分发挥其性能和功能。然而,嵌入式开发和调试通常面临许多挑战。本博客将详细介绍如何在 RK3568 上高效开发和调试 Android 11,包括环境搭建、工具使用、无线调试等。

2024-06-22 14:53:43 713

原创 在 RK3568 上构建 Android 11 模块:深入解析 m、mm、mmm 编译命令

Android 编译系统是一个复杂的工具链,它允许开发者编译整个 Android 操作系统或单独的模块。编译系统使用Makefile来定义编译规则和依赖关系。m:编译整个 Android 源码树。mm:编译当前目录下的所有模块。mmm:编译指定目录下的所有模块。

2024-06-22 14:46:09 551

adb 1.0.41 工具

adb 1.0.41 工具

2022-09-01

Linux_Reader 4.13.1 免费版本

Window读取 Ext3/Ext4文件系统工具

2022-08-17

pwm_control_light.zip

STM32 HAL PWM

2021-07-12

PCA9555PW.zip

PCA9555代码亲测可用

2021-04-25

CS5463资料汇总20210423.zip

CS5463代码和说明文档汇总,代码亲测有效。

2021-04-23

AM2305温湿度模块代码

AM2305温湿度模块代码

2021-03-18

STM32F4系列W5500;(HAL库版本、W5500官网最新驱动)

STM32F4系列W5500;(HAL库版本、W5500官网最新驱动)

2021-02-25

W5500 HAL库代码(使用官网最新的W5500驱动)

W5500 HAL库代码

2021-02-20

CS5532 HAL库版本工程

之前调试标准库版本的,这次改到HAL库版本,踩了一些坑,总结完善亲测稳定可用。

2021-02-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除