<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[shouchen1的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/shouchen1</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; shouchen1]]></copyright><item><title><![CDATA[【RK3566】修改调试串口波特率]]></title><link>https://blog.youkuaiyun.com/shouchen1/article/details/163729118</link><guid>https://blog.youkuaiyun.com/shouchen1/article/details/163729118</guid><author>shouchen1</author><pubDate>Thu, 13 Aug 2026 16:19:05 +0800</pubDate><description><![CDATA[摘要：本文档详细介绍了RK3566 SDK调试串口波特率从1500000修改为115200的完整适配方案。通过DDR固件、U-Boot和Kernel三个关键环节的配置修改：1）使用ddrbin_tool工具修改DDR固件的波特率参数；2）调整U-Boot配置文件中的波特率设置；3）修改Kernel设备树中fiq-debugger节点的波特率参数。最后需重新编译并烧录固件，使用115200波特率验证串口通信是否正常。该方案适用于RK3566平台在Kinco场景下的串口调试适配需求。]]></description><category></category></item><item><title><![CDATA[【Rk3506】修复xpt7603实时内核下触控失效问题]]></title><link>https://blog.youkuaiyun.com/shouchen1/article/details/163642524</link><guid>https://blog.youkuaiyun.com/shouchen1/article/details/163642524</guid><author>shouchen1</author><pubDate>Mon, 10 Aug 2026 17:40:36 +0800</pubDate><description><![CDATA[针对Linux实时内核下XPT7603触摸屏驱动存在的触控失效问题，提出将中断处理模式从传统工作队列升级为线程化中断(Threaded IRQ)的优化方案。核心修改包括：重构中断处理函数为线程化模式，增加触摸状态检测和采样频率控制；使用request_threaded_irq替换原生接口，配置IRQF_ONESHOT标志确保实时性。该方案解决了原驱动在中断上下文执行受限、调度延迟敏感导致的中断丢失问题，显著提升了高频率界面切换场景下的触控稳定性。]]></description><category></category></item><item><title><![CDATA[EtherCAT的SM同步和DC同步]]></title><link>https://blog.youkuaiyun.com/shouchen1/article/details/162943408</link><guid>https://blog.youkuaiyun.com/shouchen1/article/details/162943408</guid><author>shouchen1</author><pubDate>Thu, 16 Jul 2026 18:18:36 +0800</pubDate><description><![CDATA[摘要： EtherCAT的SM同步和DC同步分别解决数据与时序问题：SM同步确保数据完整不撕裂（锁定总线周期内数据刷新），DC同步对齐全网设备时间（消除硬件延迟差异）。二者必须配合使用——SM管数据冻结与统一提交，DC管硬件同步脉冲，通过SYNC0信号触发STM32中断执行任务。配置时需在SSC工具开启DC支持、绑定SM同步事件，STM32需硬件连接SYNC0中断，TwinCAT主站需校准全局时钟与偏移量，最终实现纳秒级同步精度。双同步缺一不可，是工业高精度控制的基石。]]></description><category></category></item><item><title><![CDATA[【Rk3506】 fstab分区调整及残留问题排查]]></title><link>https://blog.youkuaiyun.com/shouchen1/article/details/162911392</link><guid>https://blog.youkuaiyun.com/shouchen1/article/details/162911392</guid><author>shouchen1</author><pubDate>Wed, 15 Jul 2026 18:24:29 +0800</pubDate><description><![CDATA[文章摘要： 在调整RK3506 Linux6.1的fstab分区配置时，通过在30-fstab.sh脚本开头添加exit 0意图禁用OEM和UserData分区的自动挂载，但发现修改后编译生成的fstab中仍保留这两个分区的挂载条目。经排查发现，问题根源在于增量编译未清除历史产物——旧版fstab文件残留在output目录中被复用。]]></description><category></category></item><item><title><![CDATA[【Rk3506】 U-Boot 通过 bootargs 向Kernel传递参数]]></title><link>https://blog.youkuaiyun.com/shouchen1/article/details/162907920</link><guid>https://blog.youkuaiyun.com/shouchen1/article/details/162907920</guid><author>shouchen1</author><pubDate>Wed, 15 Jul 2026 15:50:45 +0800</pubDate><description><![CDATA[摘要：本文介绍了RK3506平台U-Boot通过bootargs向内核传递动态参数的技术方案。该方案通过在U-Boot晚期初始化阶段读取屏幕时序、LOGO及显示通路参数，打包为自定义参数追加至系统bootargs，实现多硬件版本的自适应适配。内核启动时解析这些参数动态覆写设备树显示节点属性，无需修改DTB源码或单独编译不同设备树。文章详细说明了U-Boot端工程实现，包括文件变更清单、核心代码逻辑（参数打包、bootargs动态追加）以及量产固化参数的初始化方法。该方案利用Linux内核cmdline特性（]]></description><category></category></item><item><title><![CDATA[RK3576+GMSL摄像头底层适配与调试]]></title><link>https://blog.youkuaiyun.com/shouchen1/article/details/162883566</link><guid>https://blog.youkuaiyun.com/shouchen1/article/details/162883566</guid><author>shouchen1</author><pubDate>Tue, 14 Jul 2026 23:42:20 +0800</pubDate><description><![CDATA[本文详细介绍了RK3576芯片适配GMSL摄像头的底层方案。主要内容包括： 硬件架构：通过SerDes芯片将GMSL信号转换为MIPI CSI-2信号输入RK3576 设计规范：电源要求、信号连接和PCB布线要点 软件适配：内核配置、驱动移植和设备树配置 调试流程：从硬件检查到图像采集验证的完整步骤 常见问题：I2C通信、图像异常等问题的排查方案 性能优化：针对不同应用场景的性能调优建议 方案核心在于GMSL到MIPI的信号转换适配，通过软硬件协同设计实现稳定可靠的相机链路。]]></description><category></category></item><item><title><![CDATA[Linux pthread 实时线程开发总结]]></title><link>https://blog.youkuaiyun.com/shouchen1/article/details/162882566</link><guid>https://blog.youkuaiyun.com/shouchen1/article/details/162882566</guid><author>shouchen1</author><pubDate>Tue, 14 Jul 2026 22:05:06 +0800</pubDate><description><![CDATA[摘要：本文总结了Linux pthread实时线程开发的关键实践，重点阐述嵌入式设备中硬件中断与上层业务线程的隔离架构。文章详细解析了pthread线程生命周期管理、实时调度策略选择（优先使用SCHED_FIFO）、系统优先级分层标准，以及核隔离方案（中断独占Core0，业务跑Core1）。同时提供了线程安全退出机制和完整的多业务线程实现模板，包含背光检测、触控采集和LCD刷新三个典型场景的优先级配置和资源管理规范，强调工程实践中属性模板与线程实体的分离原则，确保实时系统的稳定性和低延迟特性。]]></description><category></category></item><item><title><![CDATA[DRM驱动流转流程(RGB)]]></title><link>https://blog.youkuaiyun.com/shouchen1/article/details/162818735</link><guid>https://blog.youkuaiyun.com/shouchen1/article/details/162818735</guid><author>shouchen1</author><pubDate>Sun, 12 Jul 2026 21:59:46 +0800</pubDate><description><![CDATA[本文详细解析了Linux DRM显示子系统中RGB液晶屏的完整驱动流转流程，自上而下分为应用层、DRM框架层、simple-panel驱动层、设备树配置层、SoC控制器层和硬件层。重点剖析了DRM核心四大节点（Plane、CRTC、Encoder、Connector）的协同工作机制，以及显存数据合成、时序生成、信号适配的完整流转过程。针对常见显示异常（撕裂、闪屏、白屏、黑屏）提供了原理分析和排查思路，并详细阐述了亮屏/熄屏的标准执行流程。该文档可作为DRM显示驱动开发、调试及面试的实用技术参考。]]></description><category></category></item><item><title><![CDATA[【RK3506】RGB屏幕与背光调试记录]]></title><link>https://blog.youkuaiyun.com/shouchen1/article/details/162816727</link><guid>https://blog.youkuaiyun.com/shouchen1/article/details/162816727</guid><author>shouchen1</author><pubDate>Sun, 12 Jul 2026 17:43:54 +0800</pubDate><description><![CDATA[本文档详细介绍了基于RK3506 Linux6.1平台的RGB彩屏与PWM背光调试全流程。主要内容包括： 调试概述：提出"先供电、再时序、后显示"的核心调试原则 硬件参数核对：提供1024*600 RGB屏幕的标准时序参数 设备树配置：详细说明显示子系统、Panel屏幕和PWM背光的规范配置 内核配置要点：列出必须开启和需要关闭的关键选项 调试验证方法：提供引脚复用核查、显示日志分析、背光功能验证等实用命令 文档特别强调时序参数必须严格遵循屏幕手册，并提供了完整的设备树配置示例和常见问题排查方法，是RGB屏]]></description><category></category></item><item><title><![CDATA[【rk3506】U-Boot串口时钟未配置，导致串口彻底失效]]></title><link>https://blog.youkuaiyun.com/shouchen1/article/details/162339850</link><guid>https://blog.youkuaiyun.com/shouchen1/article/details/162339850</guid><author>shouchen1</author><pubDate>Sun, 12 Jul 2026 15:46:44 +0800</pubDate><description><![CDATA[摘要： 瑞芯微SoC（如RK3506）串口无输出问题排查：即使设备树中串口状态、引脚配置正确，仍需显式配置时钟源。U-Boot阶段若缺失assigned-clocks、assigned-clock-rates或时钟频率（如clock-frequency = <24000000>），串口时钟会失效导致硬件静默。关键点：时钟配置优先于引脚检查，需确保设备树包含频率和时钟源，示例如下： &uart3 { status = "okay"; clock-frequency = ; pinctrl-0 = ; };]]></description><category></category></item><item><title><![CDATA[【rk3506】分区管理及分区数据读取]]></title><link>https://blog.youkuaiyun.com/shouchen1/article/details/162303091</link><guid>https://blog.youkuaiyun.com/shouchen1/article/details/162303091</guid><author>shouchen1</author><pubDate>Sun, 12 Jul 2026 14:56:55 +0800</pubDate><description><![CDATA[本文介绍了Rockchip RK3506平台的分区管理与调试方法。主要内容包括： 分区表解析：通过parameter-128M.txt文件展示了RK3506的典型分区布局，包括uboot(12KB)、misc(2KB)、logo(10KB)、boot(20KB)、rootfs(128KB)和userdata分区，并提供了分区布局示意图。 参数详解：解释了分区表文件中各参数的含义，如FIRMWARE_VER、MAGIC、TYPE等关键配置项。 misc分区操作：介绍了如何使用mtd工具读取misc分区内容，并]]></description><category></category></item><item><title><![CDATA[【rk3506】更换文件系统类型squashfs-＞ubifs]]></title><link>https://blog.youkuaiyun.com/shouchen1/article/details/162272697</link><guid>https://blog.youkuaiyun.com/shouchen1/article/details/162272697</guid><author>shouchen1</author><pubDate>Sun, 12 Jul 2026 14:49:31 +0800</pubDate><description><![CDATA[本文介绍了将RK3506开发板根文件系统从SquashFS迁移到UBIFS的过程。SquashFS作为只读压缩文件系统适合存储固件，但开发中需要可写文件系统、更好的NAND Flash适配性及动态空间管理。迁移步骤包括：1）修改Buildroot配置，禁用SquashFS并启用UBIFS支持；2）调整内核配置，关闭EXT4和SquashFS，开启UBIFS；3）更新设备树，将rootfstype参数从squashfs改为ubifs。调试过程中需特别注意文件系统格式参数的修改，确保内核命令行参数正确配置。该迁]]></description><category></category></item><item><title><![CDATA[【rk3506】解决cpufreq目录不存在问题]]></title><link>https://blog.youkuaiyun.com/shouchen1/article/details/162572579</link><guid>https://blog.youkuaiyun.com/shouchen1/article/details/162572579</guid><author>shouchen1</author><pubDate>Sun, 12 Jul 2026 14:44:22 +0800</pubDate><description><![CDATA[摘要 在排查RK3506平台CPU频率相关sysfs节点缺失问题时，发现内核已正确配置CPUFreq驱动。进一步调查发现，Rockchip芯片的DVFS功能需要完整的硬件链路支持（PWM调压电路→控制器通道→引脚复用）。核对设备树与原理图后发现，当前硬件设计未接入PWM调压电路，导致内核无法初始化CPUFreq驱动，最终表现为/sys/devices/system/cpu/cpu0/cpufreq目录未生成。根本原因是硬件不支持动态调频调压功能，软件层面的配置无法生效。]]></description><category></category></item><item><title><![CDATA[【rk3506】内核态下rgb液晶显示测试]]></title><link>https://blog.youkuaiyun.com/shouchen1/article/details/162276187</link><guid>https://blog.youkuaiyun.com/shouchen1/article/details/162276187</guid><author>shouchen1</author><pubDate>Sun, 12 Jul 2026 14:22:59 +0800</pubDate><description><![CDATA[本文分享了RK3506平台下基于Buildroot最小系统的纯内核态屏幕显示测试方案。该方案直接操作/dev/fb0帧缓冲显存，无需依赖图形工具，可稳定验证屏幕显示、VOP通路和驱动配置。关键步骤包括：确认VOP驱动状态、计算精确显存大小（1024x600分辨率下为2457600字节）、执行底层写屏命令（如全屏纯色填充）。方案避开了DRM框架的显存抢占问题，解决了传统测试工具在最小系统中失效的痛点，适用于驱动调试、产测校验等场景。文中提供了详细的命令示例和原理说明，并针对常见错误给出了排查方法。]]></description><category></category></item><item><title><![CDATA[RK3506 UBIFS 压测只读故障终极解决 _ UBI 自动坏块替换机制深度调优（Linux6.1）]]></title><link>https://blog.youkuaiyun.com/shouchen1/article/details/162750769</link><guid>https://blog.youkuaiyun.com/shouchen1/article/details/162750769</guid><author>shouchen1</author><pubDate>Fri, 10 Jul 2026 09:31:24 +0800</pubDate><description><![CDATA[文章摘要（149字） RK3506平台UBIFS压测中出现NAND写入失败并永久锁只读问题，经分析发现根因是UBI默认坏块预留不足（34块）低于算法需求（36块），叠加Linux6.1内核断言机制过于严苛。最终通过内核配置优化和启动参数ubi.max_beb=50 ubi.reserved_pebs=40 ubifs.assert=warn组合方案解决：补足运行时容错资源、放宽坏块容忍阈值、降级断言等级，使设备在高压IO下保持稳定，彻底消除永久只读问题。方案适用于小容量NAND设备量产场景。]]></description><category></category></item><item><title><![CDATA[RK3566MTD分区表大小换算与解析]]></title><link>https://blog.youkuaiyun.com/shouchen1/article/details/156981960</link><guid>https://blog.youkuaiyun.com/shouchen1/article/details/156981960</guid><author>shouchen1</author><pubDate>Thu, 15 Jan 2026 11:21:37 +0800</pubDate><description><![CDATA[摘要 本文解析了嵌入式开发中MTD分区表的配置与换算方法，重点介绍了以扇区（512Bytes）为单位的mtdparts参数格式。通过示例配置，详细说明了分区大小的换算规则：扇区数×512=字节大小，字节数÷1024÷1024=MB大小。文中提供了各分区从扇区到MB的完整换算过程表，帮助开发者准确理解存储空间分配，便于项目调试与存储管理。]]></description><category></category></item><item><title><![CDATA[ubuntu执行git svn clone发生中断：APR does not understand this error code: ra serf]]></title><link>https://blog.youkuaiyun.com/shouchen1/article/details/140924922</link><guid>https://blog.youkuaiyun.com/shouchen1/article/details/140924922</guid><author>shouchen1</author><pubDate>Mon, 05 Aug 2024 13:59:35 +0800</pubDate><description><![CDATA[ubuntu执行git svn clone发生中断：APR does not understand this error code: ra serf]]></description><category></category></item><item><title><![CDATA[开发板常规方法直连电脑，导致无法上网]]></title><link>https://blog.youkuaiyun.com/shouchen1/article/details/140621898</link><guid>https://blog.youkuaiyun.com/shouchen1/article/details/140621898</guid><author>shouchen1</author><pubDate>Mon, 22 Jul 2024 23:21:46 +0800</pubDate><description><![CDATA[开发板常规方法直连电脑，导致无法上网]]></description><category></category></item><item><title><![CDATA[正点原子IMX6ULL驱动开发复盘]]></title><link>https://blog.youkuaiyun.com/shouchen1/article/details/136371231</link><guid>https://blog.youkuaiyun.com/shouchen1/article/details/136371231</guid><author>shouchen1</author><pubDate>Thu, 29 Feb 2024 14:50:17 +0800</pubDate><description><![CDATA[正点原子IMX6ULL驱动开发复盘]]></description><category></category></item><item><title><![CDATA[嵌入式面试题集合]]></title><link>https://blog.youkuaiyun.com/shouchen1/article/details/136371023</link><guid>https://blog.youkuaiyun.com/shouchen1/article/details/136371023</guid><author>shouchen1</author><pubDate>Thu, 29 Feb 2024 14:44:23 +0800</pubDate><description><![CDATA[gcc命令使用GNU推出的基于C/C++编译器，可以用来编译C/C++、JAVA等语言的程序。]]></description><category></category></item></channel></rss>