自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

内核笔记

主要讲解瑞芯微平台、高通平台下内核的开发

  • 博客(1450)
  • 资源 (33)
  • 收藏
  • 关注

原创 RK3399平台入门到精通系列讲解 - 总目录

欢迎大家来到内核笔记的《RK3399平台开发入门到精通系列讲解》,开始前博主先列出RK3399平台学习的大纲,同时这也可以作为大家学习RK3399内核与安卓框架的参考。下面蓝字都是传送门,点击进入即可:...

2020-11-17 23:20:48 99660 207

原创 RK3568 从入门到实战项目专栏目录及介绍

本专栏采用AIO-3568J四核高性能人工智能主板。是四核处理器,集成双核心架构GPU以及高效能NPU;支持8G大内存;板载M.2与SATA3.0接口;支持POE+供电;支持WiFi 6,5G/4G无线网络通讯;拥有丰富的扩展接口,可应用于智能NVR、云终端、物联网网关、工业控制等场景。

2018-01-30 20:05:13 33266 52

原创 RK3568平台开发系列讲解:DRM框架元素介绍

学习DRM驱动其实就是学习上面各个元素的实现及用法,如果你能掌握这些知识点,那么在编写DRM驱动的时候就能游刃有余。想象一下,我们要在一個美術館(GPU/显示系统)里举办一场画展,最终目标是把一幅画展示在墙上的画框(显示器) 里。

2025-11-20 23:00:32 64

原创 RK3568平台开发系列讲解:LCD 框架

HBP: 行后肩,表示HSYNC行同步型号开始后,DE数据使能前(必须DE使能后才开始数据显示),这中间的时间(并不是说行同步型号开始了,你就立马能开始一行数据的显示了,可以理解成必须要在行同步信号开始的情况下,才能开始行数据显示,那么这就是一个先后的顺序,为了保证这个先后的顺序,就需要HSYNC和数据开始显示中间要有一段时间);然后LCD控制器每次将一个像素点的数据传送给LCD驱动器,LCD驱动器根据这个像素点的数据,驱动这个像素点的液晶分子旋转,从而让这个像素点显示出对应的颜色。

2025-11-14 00:06:22 58

原创 RK3568平台开发系列讲解:RK VOP 显示控制器

本文介绍了显示控制器(LCDC/VOP)的基本概念及瑞芯微SoC中的VOP架构。主要内容包括: 显示控制器的作用类似于显卡,负责将内存图像传输到显示设备,RK系列SoC(如RK3399/RK3568)集成VOP可直接驱动显示屏。 VOP1架构通过多个VOP模块支持多屏显示(如RK3399的双VOP),而VOP2架构采用单VOP多VP接口设计(如RK3568的3路VP),各VP可独立输出不同接口信号。 介绍了扩展显示输出的两种技术: connector-mirror技术可复制VP输出到多个接口(最多7路) V

2025-11-13 23:56:03 54

原创 新突破:瑞芯微RK3576的12路视频流延迟低至140ms

在智能视觉技术不断发展的今天,多路摄像数据的处理与传输已成为众多应用场景的核心需求。从智能安防监控领域的全面覆盖,到工业视觉处理网关的精准检测,再到车载环视融合平台的实时驾驶辅助以及智慧社区AI防控的快速响应,多路摄像数据的处理与传输已成为关键需求,而高效且低延时的解决方案则是实现这些应用的核心。目前多路摄像传输方案往往存在一定局限,接入路数有限,难以满足大规模监控场景的需求,且延迟较高,影响实时性,编码效率也不尽如人意,通常会占用大量带宽和存储资源。

2025-10-23 11:57:39 1111

原创 RK3568平台开发系列讲解:使用 sysfs 接口操作 pwm

在 Linux 系统中,PWM(脉宽调制)控制通过 sysfs 接口进行操作,相关的文件和属性可以在 /sys/class/pwm/ 目录下找到。下面详细介绍 /sys/class/pwm/pwmchipX 目录下的关键文件及其作用。当导出 PWM 通道(例如 pwm0)后,会在 /sys/class/pwm/pwmchipX/ 目录下生成对应的文件夹(例如 /sys/class/pwm/pwmchip0/pwm0/)。在该文件夹中,有几个重要的属性文件,用于配置和控制 PWM 的输出信号。

2025-09-03 00:42:52 125

原创 RK3568平台开发系列讲解:瑞芯微平台4G模块篇移植

本文介绍了如何通过USB虚拟串口获取蜂窝网络信号值的技术实现。首先展示了硬件连接图,目标是通过USB虚拟串口通道实现信号值获取功能。文章详细说明了Linux内核配置中需要启用的USB串行驱动相关宏(CONFIG_USB_SERIAL和CONFIG_USB_SERIAL_OPTION)。重点分析了usb_device_id结构体在设备识别中的关键作用,包括其字段定义和典型用法示例,并介绍了常用的设备匹配辅助宏。最后说明了如何在驱动代码中注册设备ID表,包括驱动结构体定义和模块初始化时的驱动注册过程,这是实现U

2025-08-31 22:15:15 233 1

原创 RK3568平台开发系列讲解:WIFI调试技巧分享

本文介绍了Linux系统中配置WIFI功能的常用工具和方法。主要工具包括hostapd(创建热点)、wpa_supplicant(连接热点)及相关命令行工具,以及iw、iwpriv等无线网卡管理工具。文章详细说明了hostapd.conf等关键配置文件的参数设置,并提供了开启AP模式和连接热点的标准流程。最后总结了常见问题排查要点,如热点连接失败、IP分配异常等情况的解决方法。通过学习这些内容,可以掌握Linux系统下WIFI配置的核心技术要点。

2025-08-23 02:53:36 234

原创 RK3568平台开发系列讲解:触摸屏多点触摸协议详解

如果硬件设备追踪到了比他正在上报的还要多的触摸点,那么驱动程序应该发送 BTN_TOOL_*TAP 消息,并且调用 input_mt_report_pointer_emulation()函数,将此函数的第二个参数 use_count 设置为 false。此函数有两个参数,第一个参数是 input_dev 设备,第二个参数 slot 用于指定当前上报的是哪个触摸点信息。input_mt_slot()函数会触发 ABS_MT_SLOT 事件,此事件会告诉接收者当前正在更新的是哪个触摸点(slot)的数据。

2025-08-17 23:48:59 164

原创 RK3568平台开发系列讲解:PCIE trainning失败怎么办

PCIe链路训练超时问题分析与修复 问题现象: Rockchip PCIe控制器在Gen1速度模式下出现链路训练超时(error -110),导致设备探测失败。 可能原因: 硬件连接异常(接触不良) 电源供应不足 时钟信号问题 PCB设计缺陷 固件配置错误 驱动兼容性问题 解决方案: 在排除硬件问题后,通过延长PCIe链路训练的超时时间参数来解决问题。该方案通过调整内核驱动中的超时阈值,为链路训练提供更充裕的时间窗口。

2025-08-17 23:42:14 170

原创 RK3568平台开发系列讲解:Linux设备树插件驱动实验

本文介绍了Linux设备树覆盖(Device Tree Overlay)的配置实现,通过configfs文件系统动态加载设备树片段。核心内容包括: 提供了设备树覆盖项的源码实现,支持不同Linux内核版本(4.7+)的兼容性处理; 实现了设备树覆盖的创建、释放和状态管理功能; 包含Makefile编译脚本,支持ARM64架构交叉编译; 使用of_overlay_fdt_apply等内核API实现设备树片段的动态加载; 通过pr_debug输出调试信息,便于问题追踪。 该方案适用于嵌入式系统开发中需要动态修改

2025-08-14 00:33:41 1738

原创 RK3568平台开发系列讲解:RK3568 RK809 Codec调试记录

文章摘要 RK809是一款集成了Codec的PMIC电源管理芯片,内置音频编解码功能,支持耳机输出、1.3W单声道喇叭输出及差分/单端音频输入。其通过I2S接口与主控通信,关键信号包括主时钟(MCLK)、串行时钟(SCLK)、左右声道时钟(LRCK)以及数据输入输出(SDI/SDO)。设备树(dts)配置中需定义音频格式、声道映射及硬件连接关系。测试时可通过/proc/asound/cards查看声卡列表,/dev/snd目录下的设备接口文件用于控制音频输入输出,arecord -l命令可检查录音设备状态。

2025-08-13 00:56:51 379

原创 RK3568平台开发系列讲解:HDMI显示驱动

表示这个节点的状态是启用的。通常在设备树中,“okay”意味着该硬件组件已经被启用并可以正常工作。RK3568 VOP2.0有3个Video Post接口,分别是VP0、VP1、VP2。这个设备树描述的是与 HDMI 相关的硬件连接和状态配置。可能是定义在其他地方的硬件接口,指向某个 HDMI 输出端口。是一个设备节点,表示 HDMI 路由的配置。目录下可以看到驱动注册的各个显卡,控制器同时支持的分辨率列表;控制器同时支持的分辨率列表;显示器的扩展显示标识数据;信息,一共256个字节;接口连接状态的信息;

2025-06-30 23:09:24 443 1

原创 RK3568平台开发系列讲解:WIFI的调试手段

本文介绍了Linux系统下WIFI模块的调试方法,主要包括:1)通过hostapd_cli检查hostapd运行状态;2)使用iw命令查看端口信息、监听事件和国家码;3)通过hostapd_cli设置SSID、加密类型和密码(需reload生效);4)设置channel参数(重启不保存);5)展示完整的WIFI配置文件示例,包含2.4G/5G双频配置、SSID、加密方式、信道等参数设置。文章还提供了Linux系统知识库套餐的获取方式。

2025-06-30 22:55:24 387

原创 ⏰ 限时福利 Linux 系统工程师训练营

对于初入Linux底层驱动领域的新手来说,这条学习之路往往布满荆棘。- 你按照教程一步步操作,确认了软件环境配置无误,检查了硬件连线正确,但设备就是毫无反应。面对沉默的黑屏,你陷入自我怀疑:是教程过时了?是硬件兼容问题?还是自己遗漏了某个关键步骤?这种无从下手的挫败感消耗着你的学习热情。- 刚接触Linux驱动开发,你被"中断下半部"、“自旋锁”、“设备树”、“Platform设备”、"输入子系统"等专业名词轰炸。

2025-06-17 23:29:38 829

原创 RK3568平台开发系列讲解:UBOOT详细介绍

U-boot是一款广泛使用的开源引导加载程序,支持多种嵌入式操作系统和处理器架构。其主要功能包括系统上电时的硬件初始化、引导操作系统内核等。U-boot的引导流程通常包括Boot Code、idbloader.img、uboot.img、boot.img和rootfs.img等步骤。启动U-boot时,通过Debug串口连接板卡,按下ctrl+c键可进入U-Boot命令行模式。U-boot启动过程中会执行一系列初始化操作,如打印系统信息、初始化内存、加载内核设备树、初始化I2C、PMIC电源芯片、DRM框架

2025-05-21 00:50:05 431

原创 RK3568平台开发系列讲解(调试篇)debugfs API接口及案例

RK3568平台开发系列讲解(调试篇)debugfs API接口及案例

2025-04-23 23:22:13 288

原创 RK3568平台开发系列讲解(调试篇)debugfs文件系统及常见调试节点介绍

调试内核模块:很多内核模块会在 debugfs 中创建条目,便于开发者查看模块的状态或调整参数。

2025-04-23 23:08:24 425

原创 RK3568平台开发系列讲解(内核篇)Linux kbuild编译系统

从Linux内核2.6开始,Linux内核的编译采用Kbuild系统,这同过去的编译系统有很大的不同,尤其对于Linux内核模块的编译。在新的系统下,Linux编译系统会两次扫描Linux的Makefile:首先编译系统会读取Linux内核顶层的 Makefile,然后根据读到的内容第二次读取Kbuild的Makefile来编译Linux内核。用途:根目录下的 Makefile 是内核构建的核心入口点。用途:包含 kbuild 体系的核心构建规则和工具定义。沉淀、分享、成长,让自己和他人都能有所收获!

2025-03-11 19:22:29 557

原创 RK3568平台开发系列讲解(内核篇)Linux 内核启动流程

自解压:Bootloader 加载压缩的内核映像,内核自解压到内存。内核运行入口:从汇编代码(如 stext)开始,初始化 CPU 和内存管理。汇编阶段:完成低级硬件初始化,设置堆栈、分段和分页。C 函数阶段:进入 start_kernel(),初始化内核核心子系统。启动内核现场:创建第一个用户进程,挂载根文件系统。执行 init 程序:启动用户空间的第一个进程 init,完成系统初始化。

2025-02-26 19:33:05 898

原创 RK3568平台开发系列讲解(UBOOT篇)u-boot启动流程

U-Boot(Universal Bootloader)是一种开源的引导加载程序,广泛用于嵌入式系统中。它的主要功能是初始化硬件设备,加载操作系统内核,并将控制权交给操作系统。U-Boot的启动流程可以分为多个阶段,以下是典型的U-Boot启动流程:

2025-02-26 19:04:37 762

原创 RK3568平台开发系列讲解(调试篇)CGroup(Control Group)

CGroup 的全称是 Control Group,是容器实现环境隔离的两种关键技术之一,它对很多子系统提供精细化的控制的能力,比如下面这些:

2025-02-25 19:20:06 265

原创 RK3568平台开发系列讲解(PWM篇)SG90 舵机驱动实验

RK3568平台开发系列讲解(PWM篇)SG90 舵机驱动实验

2025-02-18 19:26:13 357 1

原创 RK3568平台开发系列讲解(PWM篇)PWM 子系统框架

PWM 子系统框架

2025-02-17 22:21:25 277

原创 RK3588 Linux平台部署DeepSeek模型教程

RK3588 Linux平台部署DeepSeek模型教程

2025-02-14 20:33:09 3120 3

原创 当 VSCode 遇见 DeepSeek:AI 赋能未来编程

近期,国产大模型Deepseek v3凭借其卓越的推理能力引发了广泛关注🔥。其官网提供的大模型API接口服务以高性价比著称,价格极具竞争力。本文将介绍如何在VSCode中,通过开源AI编程辅助插件Continue,配置Deepseek的API接口,从而实现常见的AI编程辅助功能。

2025-02-11 19:20:32 1735

原创 RK3568平台开发系列讲解(调试篇)网卡队列均衡负载

RPS(Receive Packet Steering) 是一种用于提高网络接收性能的技术,通常用于多核处理器系统中。它的主要目的是优化网络接收数据包的分配,减少 CPU 负载的集中,改善网络处理性能,特别是在高负载的情况下。RPS 通过将网络接收数据包的处理任务分配到多个 CPU 核心,来平衡各核心的负载,提高多核系统的吞吐量。

2025-02-11 00:42:50 378 1

原创 RK3568平台开发系列讲解(ConfigFS篇)ConfigFS核心数据结构

理解 ConfigFS 的核心数据结构对于深入使用和定制 ConfigFS 非常重要, 可以帮助开发者更好地进行设备的配置和管理, 提高系统的灵活性和可扩展性。

2025-02-07 19:32:52 429

原创 RK3568平台开发系列讲解(设备树篇)设备树插件驱动

dtbocfg.c 为设备树插件驱动文件。在驱动文件中, 生成 device-tree/overlays 目录结构。

2025-02-07 01:06:42 374 1

原创 RK3588平台开发系列讲解(DMA篇)DMA engine使用

Linux 内核的 DMA 引擎提供了一组完整的接口,用于申请和释放 DMA 通道、准备 DMA 描述符、启动和控制 DMA 传输,以及同步和管理缓存。通过这些接口,内核能够高效地处理异步的 DMA 传输任务,减少 CPU 的干预,提高数据传输的效率。

2025-02-06 19:09:39 1113

原创 RK3588平台开发系列讲解(ARM篇)ARM64底层中断处理

沉淀、分享、成长,让自己和他人都能有所收获!😄。

2025-01-27 23:44:52 2047

原创 RK3588平台开发系列讲解(NPU篇)NPU 驱动的组成

沉淀、分享、成长,让自己和他人都能有所收获!😄。

2025-01-18 23:56:21 1276 2

原创 Linux 音视频入门到实战专栏(视频篇)视频编解码 MPP

瑞芯微提供的媒体处理软件平台(Media Process Platform,简称MPP)是适用于瑞芯微芯片系列的通用媒体处理软件平台。该平台对应用软件屏蔽了芯片相关的复杂底层处理,其目的是为了屏蔽不同芯片的差异,为使用者提供统一的视频媒体处理接口(Media Process Interface,缩写MPI)。视频解码 H.265 / H.264 / H.263 / VP9 / VP8 / MPEG-4 / MPEG-2 / MPEG-1 / VC1 / MJPEG / AV1。

2025-01-18 23:31:51 1043 1

原创 Linux 音视频入门到实战专栏(音频篇)基于alsa api的音频播放/录制流程

音频播放流程主要包括打开设备、设置参数、写入数据和关闭设备等步骤。

2025-01-15 00:39:11 682

原创 RK3588平台开发系列讲解(调试篇)CGroup 精细化的控制

可以看到 CGroup 可以控制的子系统。其中 CPU 和 memory 我们日常关注是最多的,接下来我们来看看 CGroup 与 CPU 相关的内容。

2025-01-14 21:13:32 446 1

原创 RK3588平台开发系列讲解(系统篇)Linux Kconfig的语法

Kconfig的语法及代码结构非常简单。本博文只介绍Kconfig中常用的几个知识点。更详尽的内容可以参阅Linux官方提供的帮助文档。这份文档们于内核源码目录下的 ./Document/kbuild/kconfig-language.txt。所谓 Kconfig,其实就是一个位于要被控制的程序模块源码目录下的文件名为 Kconfig 的普通的文本文件而已。Kconfig文件在Linux系统中的数量是不确定的。

2025-01-06 00:18:58 619 1

原创 RK3568平台开发系列讲解(Linux文件系统篇)文件描述符相关系统调用实现

open()系统调用会分配新的文件句柄(file description),用来维护与打开文件相关的元信息(如偏移量、路径、操作方法等),并会给进程返回一个文件描述符(其实就是个小整数)。close() 系统调会回收文件描述符,同时会给文件描述符指向的文件句柄(file description)的引用计数减 1,并在需要的时候进行回收。沉淀、分享、成长,让自己和他人都能有所收获!

2024-12-28 11:30:00 276 1

原创 RK3568平台开发系列讲解(Linux文件系统篇)I/O的访问方式有哪些?

上图中我以 read() 操作为例,它会导致数据先从磁盘拷贝到 Page Cache 中,然后再从 Page Cache 拷贝到应用程序的用户空间,这样就会多一次内存拷贝。在实际应用中,如果某些数据我们觉得非常重要,是完全不允许有丢失风险的,这个时候我们应该采用同步写机制。它们希望可以绕开页缓存机制,这样可以减少一次数据拷贝,这些数据也不会污染页缓存。从图中你可以看到,直接 I/O 访问文件方式减少了一次数据拷贝和一些系统调用的耗时,很大程度降低了 CPU 的使用率以及内存的占用。

2024-12-28 08:30:00 239

原创 RK3568平台开发系列讲解(Linux文件系统篇)缓存

因为硬盘的读写速度远远低于内存的读写速度,如果直接让内存与硬盘进行交换数据,那么会导致内存资源严重浪费,因为为了优化此问题,在UNIX当中,读写的数据会先存放到高速缓存中,以提高读写速度,linux以页作为高速缓存的单位,当进程修改了高速缓存里的数据时,该页就被内核标记为脏页,内核将会在合适的时间把脏页的数据写到磁盘中去,以保持高速缓存中的数据和磁盘中的数据是一致的。这种输出方式就被称为延迟写。延迟写减少了磁盘读写次数,但是却降低了文件内容的更新速度,使得欲写到文件中的数据在一段时间内并没有写到磁盘上。

2024-12-27 10:00:00 342 1

智能汽车及车联网.pptx

智能汽车及车联网

2021-03-17

Camera产品领域业务介绍v1.0.pptx

海思Camera产品领域业务介绍

2021-11-11

PCIE Power Management.pdf

PCIE Power Management

2022-01-16

USB 描述符介绍资料pdf

USB 描述符介绍资料pdf

2022-01-20

arm64指令集高清图

arm64指令集高清图

2022-03-29

开发AUTOSAR兼容的嵌入式软件.pdf

开发AUTOSAR兼容的嵌入式软件

2021-11-11

RK3399平台开发系列讲解专栏对应官方资料

RK原厂资料

2021-05-24

RK3399平台入门到精通系列讲解开发工具

RK3399平台入门到精通系列讲解开发工具

2021-06-03

Hi3751 V811 ReleaseDoc相关文档资料

Hi3751 V811 ReleaseDoc相关文档资料

2021-03-19

RK3399硬件设计指南_V1.1_20170111.rar

RK3399硬件设计指南_V1.1_20170111

2021-06-04

Rockchip TRM.rar

Rockchip TRM

2021-06-03

UsbTreeView工具

UsbTreeView工具

2022-01-23

Bushound安装包

Bushound安装包

2022-01-23

rkisp的驱动代码

rkisp的驱动代码首先看一下很设备树匹配用的of_device_id 目录:device/media/platform/rk-cif/cif_cif10_v4l2.c: 博客https://blog.youkuaiyun.com/qq_33487044/article/details/82191349

2020-10-21

新人学习autoware代码初步指导.docx

Autoware.AI是世界上第一个用于自动驾驶技术的“All-in-One”开源软件。104页的详细介绍

2021-11-11

PCIe 官方教程,里面有彩色配图

PCIe 官方教程,里面有彩色配图

2022-01-21

ioremap_gpio_demo.c

ioremap demo对应博客介绍 https://xuesong.blog.youkuaiyun.com/article/details/114156170

2021-02-26

新能源汽车电池电机电控月度监测与分析报告(2018年及2019年)44份pdf.rar

新能源汽车电池电机电控月度监测与分析报告(2018年及2019年)44份pdf

2021-03-18

RK3399 Android7.1-Box 软件开发指南 V1.01-20170401.rar

RK3399 Android7.1-Box 软件开发指南 V1.01-20170401.rar

2021-06-04

国家车联网产业标准体系建设指南(总体要求).pdf

国家车联网产业标准体系建设指南(总体要求)

2021-03-17

rk3399-edp.dts

点一块edp屏的dts

2021-10-05

DHT11-for-RK3399-driver-master

DHT11-for-RK3399-driver

2021-10-10

技术报告——惯性导航系统原理验证.docx

惯性导航系统原理验证

2021-03-17

国家车联网产业标准体系建设指南(电子产品与服务).pdf

国家车联网产业标准体系建设指南(电子产品与服务).pdf

2021-03-17

ethtool-4.19.tar.xz

ethtool-4.19.tar.xz

2021-06-12

国家车联网产业标准体系建设指南(信息通信).pdf

国家车联网产业标准体系建设指南(信息通信)

2021-03-17

autosar官方英文资料 302篇

autosar官方英文资料 302篇

2021-03-18

车载诊断标准ISO 5篇pdf

车载诊断标准ISO

2021-03-18

MLX90640红外开发资料包.zip

https://blog.youkuaiyun.com/qq_33487044/article/details/86565536?ops_request_misc=%7B%22request%5Fid%22%3A%22158200180319726869063373%22%2C%22scm%22%3A%2220140713.130056874..%22%7D&request_id=158200180319726869063373&biz_id=0&utm_source=distribute.pc_search_result.none-task 博客地址

2020-02-18

空空如也

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

TA关注的人

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