- 博客(363)
- 资源 (117)
- 问答 (1)
- 收藏
- 关注

原创 【RK3576】Android 14 驱动开发实战指南
本文提供RK3576开发板在Android 14系统下的驱动开发资源汇总,包含开发板概述和环境搭建指南。相关技术文章持续更新,可收藏系列博文跟踪最新内容。主要涵盖实战开发指南(附链接)、硬件介绍及开发环境配置教程,适合Android驱动开发者参考使用。
2025-07-19 14:21:51
1343

原创 【开发工具】嵌入式常用调试工具汇总帖
写这篇文章,主要是想将自己以前用过的,发过的调试工具相关的博客进行汇总,方便后续查找。调试工具【调试工具】【sysrq】魔术键(sysRq)的使用【调试工具】【objdump】反汇编工具(objdump)的使用【调试工具】【gdb】编译工具gdb的使用【调试工具】【lockdep】Linux内核死锁检测工具(lockdep)的使用【调试工具】【tcpdump】抓包工具(Tcpdump)的使用【调试工具】【mtest】uboot内存检测工具(mtest)的使用JTAG 通常系统崩溃,无任
2020-12-27 21:29:27
3769
8

原创 【LWIP】LWIP协议|相关知识汇总|LWIP学习笔记
这里作为一个汇总帖把,把以前写过的LWIP相关的博客文章汇总到一起,方便自己这边查找一些资料。LWIP协议【LWIP】LWIP网络通信流程【LWIP】LWIP动态内存管理【LWIP】原始套接字(SOCK_RAW)【LWIP】AF_PACKET套接字分析【LWIP】AF_UNIX socket套接字分析LWIP源码解析【LWIP】pbuf数据包管理【LWIP】netdev_pbuf_alloc函数分析【LWIP】以太网网卡接口部分初始化【LWIP】netif网络接口结构【LWIP】
2020-12-27 19:26:05
2945
1

原创 BSP开发|嵌入式|Linux驱动|笔试面试
写这篇文章的目的,希望以提问的形式,对自己以前的知识进行一个总结,并期待能给即将/已经踏入嵌入式领域的程序员提供一些学习上的帮助~嵌入式,软件,C语言,Linux,驱动,内核,开发,BSP,工程师,底层,后端相关,常见,频繁,常问,经典,项目,招聘,平台,学习,框架,职位,职业,架构,岗位,offer,校招,社招,企业笔试面试,面试笔试,笔试,面试,面经,笔经题目,大全,总结,概括,汇总,整理,集锦,理解,答案,常问问题,经验,分享,最常,归类,大纲
2020-12-01 22:43:00
15868
11

原创 【PCIe】非常适合初学的pcie博客(PCIe知识整理)
非常适合初学的pcie博客:PCIE扫盲(第一阶段):http://blog.chinaaet.com/justlxy/p/5100053251PCIe简介:http://blog.chinaaet.com/justlxy/p/5100053066 这一章主要介绍PCIe的由来,在2001年的时候被提出,命名“PCI-Express”,主要优势就是传输速率高,另外还有传输距...
2018-07-30 10:55:16
22012
9
原创 【RK3576】【Android14】如何在Android14下单独编译kernel-6.1?
Android14采用预置Clang工具链(如clang-r487747c)编译Linux内核(如kernel-6.1),主要基于三大优势:1)统一构建环境,便于Google掌控Android生态;2)Clang具备编译高效、内存友好、错误提示清晰等特性;3)支持主动优化,如安全强化(CFI)和现代C/C++标准。编译时需配置LLVM=1启用Clang编译器,LLVM_IAS=1使用集成汇编器,ARCH=arm64指定ARM64架构。这种选择确保跨设备构建的一致性、安全性和性能优化。
2025-09-14 13:51:34
228
原创 【开发环境】【git】通过repo构建代码仓库
本文介绍了如何将庞大的Android AOSP源码拆分为多个Git子仓库,使用Repo工具进行高效管理。具体步骤包括:1)创建独立的GitHub仓库(如kernel-6.1、prebuilts等);2)建立Manifest仓库并配置default.xml定义项目关联;3)通过repo init和repo sync命令按需同步特定模块代码。这种方法可显著减少存储空间占用(从完整SDK的150G+缩减为所需模块大小),实现灵活定制Android系统的开发需求,同时保持代码版本控制和协作能力。
2025-09-14 07:23:56
652
原创 【RK3576】【Android14】如何在Android kernel-6.1 的版本中添加一个ko驱动并编译出来?
《RK3576 Android14驱动开发实战指南》介绍了将模块添加到内核源码树的标准方法。首先在内核源码的drivers/misc/目录下创建模块目录,编写包含init/exit函数的简单模块代码。然后配置Makefile和Kconfig文件,修改上层Makefile添加模块路径,并在Kconfig中添加新的配置选项。最后通过menuconfig启用该模块配置,完成模块的集成编译。该方法适用于RK3576平台Android14系统的驱动开发,提供了标准的内核模块开发流程。
2025-09-04 18:43:54
375
原创 【RK3576】【Android14】PMIC电源管理
RK3576搭载RK806高性能PMIC,支持regulator、GPIO和PWRKEY功能。硬件接口包括PWRON开机、RESETB复位、INT中断等关键引脚。驱动开发通过DTS配置实现,涵盖I2C总线、中断设置、电压/温度保护阈值及多路电源轨管理。关键配置包括CPU/GPU/NPU电源的电压范围、启停时序等,并支持休眠状态电源控制。该方案为RK3576平台提供完整的电源管理解决方案,适用于Android14系统开发。
2025-09-01 16:58:41
471
原创 【开发环境】【git】在github上搭建一个代码仓库
本文介绍了GitHub代码管理工具的使用方法,包括创建代码仓库、获取git路径和克隆仓库等基础操作。主要内容有:1)GitHub账号注册和仓库创建;2)通过git clone命令下载代码仓库;3)查看提交记录的基本操作。文章提供了完整的命令行操作示例,适合GitHub新手快速掌握代码管理的基本流程。这些方法也适用于其他代码管理工具如repo和svn的使用参考。
2025-08-30 15:21:00
140
原创 【RK3576】【Android14】Android平台跟文件系统
摘要: 本文介绍了Android14驱动开发中根文件系统的组成与启动流程,重点讲解了如何通过init.rc文件添加自定义启动脚本。开发者可在device目录下创建initrun.sh脚本,并在init.rk3576.rc中配置onboot触发器或服务定义,最后通过修改BoardConfig.mk将文件打包到系统中。文中还提供了日志记录、权限设置等实用技巧,适用于RK3576平台的驱动开发实战。
2025-08-23 10:36:55
774
原创 【RK3576】【Android14】Android平台源代码各目录的作用
本文介绍了RK3576平台Android14系统源代码的目录结构及功能说明。主要内容包括:art目录(Android运行时实现)、bionic(C/C++库)、frameworks(Android框架层代码)、kernel(Linux内核源码)等核心目录,以及RK3576特有的rockdev、rkbin等Rockchip专用目录。这些目录共同构成了Android14系统的完整代码架构,为RK3576平台的驱动开发和系统定制提供了基础支持。开发者可据此快速定位相关代码位置,进行系统开发与调试工作。
2025-08-21 20:24:23
391
原创 【RK3576】【Android14】Android平台源代码各目录的作用
本文介绍了RK3576平台Android14系统源代码的目录结构及功能说明。主要内容包括:art目录(Android运行时实现)、bionic(C/C++库)、frameworks(Android框架层代码)、kernel(Linux内核源码)等核心目录,以及RK3576特有的rockdev、rkbin等Rockchip专用目录。这些目录共同构成了Android14系统的完整代码架构,为RK3576平台的驱动开发和系统定制提供了基础支持。开发者可据此快速定位相关代码位置,进行系统开发与调试工作。
2025-08-21 11:12:28
411
原创 【内核配置】CONFIG_DEBUG_USER 配置项原理分析
本文分析了应用APP运行时未显示堆栈信息的问题。通过对比测试发现,不同设备对空指针错误的处理方式存在差异:有的仅输出"Segmentation fault",有的则显示完整堆栈信息。经排查发现这是由于内核配置项CONFIG_DEBUG_USER的设置不同所致。该选项控制用户空间程序出错时是否打印详细调试信息,包括寄存器状态和堆栈跟踪等。文章建议开发环境应启用该选项以便调试,而生产环境可禁用以提高性能。
2025-08-09 21:26:00
291
原创 【RK3576】【Android14】Uboot下fastboot命令支持
本文详细介绍了RK3576芯片在Android14系统下的fastboot驱动开发指南,重点解析了常用fastboot命令及使用场景。通过具体示例展示了如何获取设备完整信息、烧写bootloader密钥、执行认证解锁等操作流程,为开发者提供了完整的RK3576平台fastboot开发参考。
2025-08-05 21:56:11
982
原创 【RK3576】【Android14】MIC开发调试
摘要:本文介绍了RK3576平台Android14系统下的PDM麦克风驱动开发。PDM接口支持8个麦克风阵列,16-24位宽,8-48kHz采样率。硬件连接需将麦克风直接接入SoC的PDM控制器,每个麦克风需独立的DATA线。DTS配置包括PDM控制器基础设置、引脚复用模式、空闲状态定义及虚拟编解码器绑定。关键配置涉及时钟源、DMA通道、中断处理和声卡设备定义,为开发者提供了完整的驱动实现方案。
2025-07-22 20:15:47
1288
原创 【RK3576】【Android14】ADB工具说明与使用
Android14驱动开发:ADB工具使用指南 ADB是Android开发的核心工具,支持设备管理、应用安装、文件传输等操作。本文介绍了ADB的工作原理(三层架构通过USB/Wi-Fi通信)和完整的连接使用流程,包括: 设备端需开启USB调试模式 PC端配置ADB工具路径 常用命令分类说明(应用管理、文件传输等) 典型问题解决方案(设备未识别、权限错误等) 特别适用于RK3576平台的Android14驱动开发场景,提供从基础连接到高级调试的全套实践指南。
2025-07-20 17:16:00
1057
原创 【RK3576】【Android14】显示屏、触摸屏&MIPI开发调试
【RK3576 Android14驱动开发实战指南】摘要:介绍了基于RK3576芯片的Android14显示驱动开发流程,重点解析了MIPI-DSI显示系统的硬件接口配置。内容包括:1)显示数据流路径(VP1→DSI→MIPIPHY→面板);2)DTS设备树配置详解,涉及DSI控制器核心参数、显示路由、面板时序(1080x1920@132MHz)及初始化序列;3)关键参数说明,如4通道数据线配置、RGB888像素格式、同步信号极性等。该指南为开发者提供了完整的显示驱动实现方案。
2025-07-20 15:10:46
1119
原创 【RK3576】【Android14】GPIO管脚复用
摘要:本文介绍了RK3576芯片在Android14系统下硬件管脚复用驱动的开发方法。主要内容包括:1)通过设备树(DTS)和pinctrl子系统配置管脚功能;2)详细说明UART5接口的TX/RX引脚配置示例;3)讲解电气属性设置(上拉/下拉、驱动强度等);4)提供项目级pinctrl的定制方案,通过宏定义实现不同项目的配置隔离。开发中需结合芯片手册确定复用编号,注意驱动强度和电气特性设置,并采用项目宏隔离避免配置冲突。
2025-07-20 03:47:35
1097
原创 【RK3576】【Android14】USB开发调试
本文介绍了RK3576芯片的Android14驱动开发,重点讲解了USB3.0控制器的配置方法。文章包含两个USB3.0控制器的DTS配置代码,详细说明了寄存器地址、时钟、中断、电源管理等参数设置。同时提供了在Android开发板上实现USB虚拟串口通信(CDC/ACM)的具体方法,包括内核配置选项和连接检测步骤。通过该指南,开发者可以快速实现RK3576开发板之间的USB直接通信功能。
2025-07-19 19:21:38
1142
原创 【RK3576】【Android14】UART开发调试
《RK3576 Android14驱动开发指南:调试串口配置详解》 本文详细介绍了RK3576平台在Android14系统下的驱动开发配置方法,重点讲解了调试串口的DTS配置过程。文章还提供了查看DTS配置的方法,并展示了其他串口的配置示例,为RK3576平台的Android驱动开发提供了实用参考。
2025-07-19 18:17:07
280
原创 【RK3576】【Android14】Android平台编译配置项(defconfig、dts)
本文介绍了Android14系统在RK3576平台上的驱动开发环境配置方法。主要内容包括:1)使用source build/envsetup.sh初始化构建环境;2)通过lunch rk3576_u-userdebug命令选择目标设备配置;3)解析了lunch命令的工作原理,包括设备配置检索、环境变量设置等过程;该指南为开发者提供了RK3576平台Android14驱动开发的完整环境搭建流程。
2025-07-19 18:10:46
631
原创 【RK3576】【Android14】摄像头&MIPI开发调试
摘要:本文介绍了RK3576芯片在Android14系统下的摄像头驱动开发,重点解析其硬件接口特性与驱动架构。芯片支持MIPI DPHY/CPHY输入,提供灵活的4Lane/2Lane配置。驱动开发基于Linux Kernel 6.1,核心组件包括:DTS配置文件、MIPI DPHY驱动(phy-rockchip-mipi-rx.c)、ISP驱动(rkisp1)、CMOS图像传感器驱动(ov13850.c)、VCM驱动(vm149c.c)以及RK1608协处理器驱动(spi/rk1608系列)。整个驱动架构
2025-07-19 17:06:56
578
原创 【RK3576】【Android14】调试方法
摘要:本文介绍了RK3576芯片Android14驱动开发的串口调试方法。具体步骤包括:将开发板的UART Debug口连接至PC,在设备管理器中获取COM端口号;使用串口工具选择对应端口号,设置波特率为1.5M(RK3576默认支持该速率),关闭流控后即可建立连接。成功连接后,串口调试界面将显示系统打印信息。该系列文章将持续更新RK3576驱动开发相关内容。
2025-07-19 16:11:01
482
原创 【RK3576】【Android14】固件烧录
【摘要】本文介绍了RK3576 Android14驱动开发中的烧录准备工作。SDK提供了Windows烧录工具包,包含DriverAssitant_v5.13驱动程序和RKDevTool_v3.30烧录工具。开发者需将这两个工具从SDK路径拷贝至Windows系统,先安装驱动程序,再运行烧录工具进行后续操作。该指南为RK3576平台Android14驱动开发提供了基础环境配置指引。
2025-07-19 15:45:07
562
原创 【RK3576】【Android14】SDK源码编译
【摘要】本文介绍了RK3576开发板在Android14系统下的驱动开发环境搭建与编译方法。同时提供了常见编译报错处理方案。文章属于RK3576 Android14驱动开发实战指南系列,将持续更新相关内容。
2025-07-19 14:50:49
364
原创 【RK3576】【Android14】开发环境搭建
本文介绍了在VMware虚拟机环境下配置Android开发环境的完整流程。主要内容包括:1) 虚拟机安装建议(Ubuntu20.04+、500G存储);2) 环境搭建步骤,包括Samba服务器配置、SSH服务安装及必要依赖包安装(需注意Ubuntu18.04需单独更新lz4工具);3) SDK源码下载方法,详细说明了通过瑞芯微技术窗口获取SDK压缩包后的解压和同步操作流程。文章提供了从虚拟机配置到开发环境搭建的完整指导,特别针对Rockchip平台Android14开发环境的配置需求给出了具体解决方案。
2025-07-18 22:49:00
1225
原创 【PCIe总线】-- inbound、outbound配置
RC和EP,以及EP和EP能够互相通信之前,需要一系列的配置,即配置inbound、outbound。本文介绍了,EP如何访问RC、RC如何访问EP、EP如何访问EP直接的配置关系
2025-06-08 15:40:54
1010
原创 Sensor相关BSP实现
sensor模块核心功能图像采集通过像素阵列捕捉光学图像信号处理模数转换(10-bit ADC)、降噪(CDS)、增益调节(PGA)智能优化自动黑电平校准/抗闪烁/过曝修复输出控制支持DVP和MIPI CSI-2双接口输出RAW数据sensor在嵌入式设备中的作用图像采集➠ 将光学信号转化为数字图像(核心价值)信号处理➠ 通过自动校准适应光照变化(如ABLC抗暗光干扰)硬件兼容➠ 双接口兼容不同处理器(MCU用DVP,SoC用MIPI)
2025-06-07 15:23:17
521
原创 【C语言】字符串和格式化输入/输出
字符常量‘x’和字符串常量“x”不同。区别一‘x’代表基本类型(char),而“x”代表派生类型(char数组);区别二是“x”实际由两个字符组成‘x’和‘\0’(占两个字符)。
2024-08-24 14:06:52
595
原创 【开发工具】【kmemleak】内存泄漏检测工具(kmemleak)的使用
检测对象是memblock_alloc、kmalloc、vmalloc、kmem_cache_alloc等函数分配的内存块,该内存块由struct kmemleak_object来描述(简称为object)。kmemleak的实现原理非常简单,通过暴力扫描内存(假定内存中存放的都是指针,以ARM64为例,每次扫描8个字节),如果找不到指向起始地址或者内存块任何位置的指针,则分配的内存块被认为是孤立的。虽然kmemleak的扫描算法存在漏报和误报的可能,但是并不影响我们的使用。因此需要将值设置的大一些。
2024-03-14 18:34:02
2341
原创 嵌入式BSP内存统计
项目开发的可行性评估中,常涉及到内存的使用评估,这对项目DDR大小的选型及成本控制至关重要,本文主要是梳理了内存当前BSP内存统计方案,找到内存统计过程中的关键参数,以便后续项目评估过程中提供更精确的BSP内存使用情况。
2023-12-11 21:17:52
847
原创 嵌入式开发DDR的选择
当前DDR主要有DDR、DDR2、DDR3、DDR4、DDR5等不同的内存标准。本文主要是对比不同标准的DDR,了解其差异性以及优劣势,以便在以后在以后做DDR选型的时候做一定的参考。
2023-11-28 21:24:25
3129
原创 linux 下打印堆栈信息 jstack pstack gstack 有啥区别?分别的使用场景是啥?
注意:pstack和gstack都是通过读取进程的内存信息来获取堆栈信息的,所以只能用于分析正在运行的进程。而jstack可以通过进程ID或Java进程的启动命令来获取堆栈信息,所以可以用于分析正在运行的Java进程,也可以用于分析Java进程的崩溃日志。jstack:jstack是Java虚拟机自带的工具,用于打印Java进程的堆栈信息。它可以显示进程的函数调用栈,包括函数名和地址。jstack、pstack和gstack是在Linux系统下用于打印堆栈信息的工具,它们的使用场景和功能略有不同。
2023-11-21 20:12:35
1796
strace-4.11源代码下载
2022-02-08
mtd-utils.tar.bz2
2021-11-24
hdparm-9.60.tar.gz
2021-08-18
Source Insight 4.0.0085-4.0.0086.zip
2021-08-13
iperf-2.0.9-win64.rar
2021-02-21
stream_5.10.tar.gz
2021-02-24
ARM 串口中断问题 一直进串口中断出不来
2016-08-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人