<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[LinuxRos]]></title><description><![CDATA[和大家一起聊聊Linux驱动、应用开发、嵌入式软件、AI与机器人相关干货，希望能给大家带来一点点帮助与启发]]></description><link>https://blog.youkuaiyun.com/LinuxRos</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; LinuxRos]]></copyright><item><title><![CDATA[LVGL嵌入式GUI零基础入门：从上手Demo到MVP架构工程实战]]></title><link>https://blog.youkuaiyun.com/LinuxRos/article/details/161980607</link><guid>https://blog.youkuaiyun.com/LinuxRos/article/details/161980607</guid><author>LinuxRos</author><pubDate>Sun, 14 Jun 2026 16:23:00 +0800</pubDate><description><![CDATA[LVGL是嵌入式领域最流行的开源轻量GUI库，最低64KB Flash、16KB RAM就能跑起来，C语言开发，支持按钮、图表、动画等丰富控件。本文从零教你跑通第一个Demo，再过渡到MVP分层架构，最后搞定图片资源的工程化处理，完整走通全流程]]></description><category></category></item><item><title><![CDATA[Linux驱动调试七大杀器，从printk到KASAN全打通]]></title><link>https://blog.youkuaiyun.com/LinuxRos/article/details/161935829</link><guid>https://blog.youkuaiyun.com/LinuxRos/article/details/161935829</guid><author>LinuxRos</author><pubDate>Fri, 12 Jun 2026 21:43:17 +0800</pubDate><description><![CDATA[Linux驱动调试只会加printk？那是入门水平。本文从内核日志、虚拟文件系统、硬件寄存器直读、Oops崩溃定位、内存越界检测到驱动交互调试，七大工具逐层递进，覆盖90%驱动调试场景，看完直接上手]]></description><category></category></item><item><title><![CDATA[从 MCU 到 Linux：机器人嵌入式OTA升级原理解密]]></title><link>https://blog.youkuaiyun.com/LinuxRos/article/details/161460252</link><guid>https://blog.youkuaiyun.com/LinuxRos/article/details/161460252</guid><author>LinuxRos</author><pubDate>Wed, 27 May 2026 18:45:48 +0800</pubDate><description><![CDATA[OTA升级不是"下载一个bin文件往里写"这么简单。本文聚焦两种主流方案——MCU的双Bank架构与Linux的A/B分区，讲清楚升级过程中"断电不失手，变砖可回滚"的核心机制]]></description><category></category></item><item><title><![CDATA[端侧AI部署干货｜主流框架+芯片适配一文吃透，看完直接上手]]></title><link>https://blog.youkuaiyun.com/LinuxRos/article/details/160264249</link><guid>https://blog.youkuaiyun.com/LinuxRos/article/details/160264249</guid><author>LinuxRos</author><pubDate>Sat, 18 Apr 2026 05:42:25 +0800</pubDate><description><![CDATA[本文系统介绍了端侧AI部署技术，涵盖主流推理框架对比、芯片平台适配及模型优化方法。重点分析了TensorRT、OpenVINO等框架特性，提供代码示例说明部署流程。端侧AI部署面临算力受限、内存紧张等挑战，需根据目标平台选择合适框架：NVIDIA GPU优选TensorRT，Intel平台推荐OpenVINO，移动端适用TFLite/NCNN。文章还详细解析了TensorRT的图层融合、量化优化等核心技术，以及OpenVINO的组件架构。通过模型量化压缩和框架适配，可实现在嵌入式设备上的高效推理，满足机器人]]></description><category></category></item><item><title><![CDATA[LVGL嵌入式GUI入门：从基础Demo到MVP架构实战]]></title><link>https://blog.youkuaiyun.com/LinuxRos/article/details/159996546</link><guid>https://blog.youkuaiyun.com/LinuxRos/article/details/159996546</guid><author>LinuxRos</author><pubDate>Mon, 13 Apr 2026 08:02:01 +0800</pubDate><description><![CDATA[本文介绍了LVGL嵌入式图形库的基础使用和优化方案。主要内容包括：1）LVGL核心概念和基础Demo实现；2）原生开发的痛点分析，如代码耦合度高、维护困难等；3）提出MVP分层架构解决方案，详细说明视图层、模型层和调度层的分工；4）介绍帧动画实现方法，包括图片资源工程化处理和自动转换脚本。通过LVGL+MVP架构+资源自动化处理的组合方案，可有效解决嵌入式GUI开发中的代码混乱问题，提升项目的可维护性和开发效率。]]></description><category></category></item><item><title><![CDATA[驱动安全加固与漏洞防护：打造安全可靠的内核驱动]]></title><link>https://blog.youkuaiyun.com/LinuxRos/article/details/159966706</link><guid>https://blog.youkuaiyun.com/LinuxRos/article/details/159966706</guid><author>LinuxRos</author><pubDate>Sun, 12 Apr 2026 09:10:38 +0800</pubDate><description><![CDATA[输入验证 → 边界检查 → 权限控制 → 安全API → 漏洞防护驱动安全是系统安全的第一道防线，内核驱动漏洞可能导致整个系统被攻陷。驱动安全 = 深度防御 + 持续审计输入验证：access_ok、边界检查、溢出检查权限控制：capable、文件权限、SELinux安全API竞态防护DMA安全：IOMMU、DMA池、地址验证漏洞防护：stack protector、static keys、硬化配置安全驱动是系统安全的基石！]]></description><category></category></item><item><title><![CDATA[内核模块高级特性：从入门到精通]]></title><link>https://blog.youkuaiyun.com/LinuxRos/article/details/159966691</link><guid>https://blog.youkuaiyun.com/LinuxRos/article/details/159966691</guid><author>LinuxRos</author><pubDate>Sun, 12 Apr 2026 09:10:09 +0800</pubDate><description><![CDATA[模块参数 → 符号导出 → 版本控制 → 模块依赖 → 运行时管理内核模块的高级特性让驱动开发更加灵活、强大和可维护。内核模块高级特性 = 灵活 + 强大 + 可维护模块参数：支持int、bool、charp、array、自定义类型符号导出版本控制：MODULE_VERSION、LINUX_VERSION_CODE条件编译模块依赖运行时管理：try_module_get()、module_put()、引用计数高级特性：MODULE_ALIAS、初始化优先级、错误处理。]]></description><category></category></item><item><title><![CDATA[驱动性能优化技巧：让你的驱动飞起来]]></title><link>https://blog.youkuaiyun.com/LinuxRos/article/details/159966685</link><guid>https://blog.youkuaiyun.com/LinuxRos/article/details/159966685</guid><author>LinuxRos</author><pubDate>Sat, 11 Apr 2026 08:14:10 +0800</pubDate><description><![CDATA[减少锁竞争 → 优化数据传输 → 降低系统调用 → 合理使用缓存驱动性能优化是嵌入式和服务器开发的必修课，目标是降低延迟、提高吞吐量。驱动性能优化 = 找准瓶颈 + 针对性优化锁优化：细粒度锁、RCU、per-cpu、读写锁数据传输：DMA、零拷贝、批量传输中断处理：threaded irq、NAPI、workqueue/tasklet选择内存管理系统调用：减少调用次数、mmap、sysfs性能分析：ftrace、perf、/proc文件系统没有最快，只有更快！持续优化，持续进步！]]></description><category></category></item><item><title><![CDATA[V4L2摄像头驱动开发：从零开始视频采集]]></title><link>https://blog.youkuaiyun.com/LinuxRos/article/details/159966667</link><guid>https://blog.youkuaiyun.com/LinuxRos/article/details/159966667</guid><author>LinuxRos</author><pubDate>Sat, 11 Apr 2026 08:13:39 +0800</pubDate><description><![CDATA[视频设备 → V4L2框架 → 缓冲区管理 → DMA传输 → 用户空间V4L2（Video for Linux 2）是Linux视频设备的标准框架，专为摄像头、电视卡、视频采集卡等设备设计。V4L2驱动 = 视频设备的标准框架核心结构缓冲区管理：videobuf2管理DMA缓冲区两种模式关键ioctl掌握V4L2，就能开发各类视频设备！]]></description><category></category></item><item><title><![CDATA[内核调试技术全攻略：从printk到KGDB]]></title><link>https://blog.youkuaiyun.com/LinuxRos/article/details/159966615</link><guid>https://blog.youkuaiyun.com/LinuxRos/article/details/159966615</guid><author>LinuxRos</author><pubDate>Fri, 10 Apr 2026 08:29:57 +0800</pubDate><description><![CDATA[printk（日志） → 动态调试 → ftrace（跟踪） → kprobes（探针） → KGDB（调试器）内核调试是驱动开发中定位问题、分析性能的核心技能。内核调试 = 定位问题的关键能力printk：最简单、最常用的调试手段动态调试：生产环境可控的调试输出ftrace：函数调用跟踪、性能分析kprobes：动态插入探针、深度调试KGDB：源码级调试、复杂问题定位掌握多种调试技术，才能高效解决内核问题！]]></description><category></category></item><item><title><![CDATA[杂项设备与虚拟设备：简化驱动开发的神器]]></title><link>https://blog.youkuaiyun.com/LinuxRos/article/details/159966638</link><guid>https://blog.youkuaiyun.com/LinuxRos/article/details/159966638</guid><author>LinuxRos</author><pubDate>Fri, 10 Apr 2026 08:29:21 +0800</pubDate><description><![CDATA[misc设备(简化字符设备) + 虚拟设备(无硬件依赖) = 快速原型开发杂项设备简化了字符设备的注册流程，虚拟设备则无需真实硬件支持。│ 杂项设备特点 ││ 1. 主设备号固定为10，自动分配次设备号 ││ 2. 简化注册流程，无需手动创建cdev ││ 3. 自动创建设备节点 ││ 4. 适合简单字符设备 │杂项设备 = 简化字符设备开发的利器核心优势：自动分配设备号、自动创建节点适用场景：简单字符设备、虚拟设备虚拟设备：无需真实硬件，适合测试和原型开发掌握杂项设备，快速实现驱动原型。]]></description><category></category></item><item><title><![CDATA[输入子系统开发实战：键盘鼠标触摸屏]]></title><link>https://blog.youkuaiyun.com/LinuxRos/article/details/159966625</link><guid>https://blog.youkuaiyun.com/LinuxRos/article/details/159966625</guid><author>LinuxRos</author><pubDate>Thu, 09 Apr 2026 08:18:19 +0800</pubDate><description><![CDATA[input_dev(设备) → Input核心层 → input_handler(事件处理) → 用户空间(/dev/input/eventX)输入子系统统一管理键盘、鼠标、触摸屏、游戏手柄等输入设备。输入子系统 = 统一的输入设备管理框架核心结构事件类型：EV_KEY(按键)、EV_REL(相对)、EV_ABS(绝对)上报流程用户接口掌握输入子系统，就能开发各类输入设备驱动！]]></description><category></category></item><item><title><![CDATA[内核定时器与延迟工作：时间管理的艺术]]></title><link>https://blog.youkuaiyun.com/LinuxRos/article/details/159966604</link><guid>https://blog.youkuaiyun.com/LinuxRos/article/details/159966604</guid><author>LinuxRos</author><pubDate>Thu, 09 Apr 2026 08:17:39 +0800</pubDate><description><![CDATA[timer_list（低精度） / hrtimer（高精度） / delayed_work（延迟工作）内核定时器是驱动开发中实现周期性任务、超时处理、延迟执行的核心机制。// 过期时间（jiffies）// 回调函数u32 flags;u8 is_rel;u8 is_soft;u8 is_hard;HRTIMER_MODE_ABS = 0x00, // 绝对时间HRTIMER_MODE_REL = 0x01, // 相对时间。]]></description><category></category></item><item><title><![CDATA[I2C子系统与驱动开发：从协议到实战]]></title><link>https://blog.youkuaiyun.com/LinuxRos/article/details/159966564</link><guid>https://blog.youkuaiyun.com/LinuxRos/article/details/159966564</guid><author>LinuxRos</author><pubDate>Wed, 08 Apr 2026 22:24:14 +0800</pubDate><description><![CDATA[i2c_adapter(控制器) ← I2C核心层 → i2c_client(设备) ← i2c_driver(驱动)I2C子系统采用分层架构，将控制器驱动与设备驱动分离，实现高度复用。I2C子系统 = 分层架构的典范核心概念：adapter（控制器）、client（设备）、driver（驱动）传输方式：i2c_transfer（原始）、SMBus（简化）设备树：通过reg属性指定I2C地址调试工具掌握I2C子系统，就掌握了总线类驱动的开发模式！]]></description><category></category></item><item><title><![CDATA[中断处理与并发控制：Linux驱动开发的核心难题破解]]></title><link>https://blog.youkuaiyun.com/LinuxRos/article/details/159884735</link><guid>https://blog.youkuaiyun.com/LinuxRos/article/details/159884735</guid><author>LinuxRos</author><pubDate>Wed, 08 Apr 2026 07:34:43 +0800</pubDate><description><![CDATA[硬件中断 → 中断控制器 → CPU响应 → 中断处理程序 → 唤醒进程/处理数据

中断机制解决了CPU与外设速度不匹配的问题，让外设能主动"通知"CPU处理任务，而不是CPU一直轮询等待]]></description><category></category></item><item><title><![CDATA[终极零拷贝方案：V4L2 + GPU + DRM + DMA-BUF]]></title><link>https://blog.youkuaiyun.com/LinuxRos/article/details/159859415</link><guid>https://blog.youkuaiyun.com/LinuxRos/article/details/159859415</guid><author>LinuxRos</author><pubDate>Tue, 07 Apr 2026 08:00:00 +0800</pubDate><description><![CDATA[摄像头 → 共享内存 → GPU/显示器
全程 无CPU拷贝、无内存复制，所有硬件共用同一块物理内存，CPU 占用≈0，延迟＜10ms。]]></description><category></category></item><item><title><![CDATA[Linux Platform驱动框架：设备与驱动分离的优雅设计]]></title><link>https://blog.youkuaiyun.com/LinuxRos/article/details/159885071</link><guid>https://blog.youkuaiyun.com/LinuxRos/article/details/159885071</guid><author>LinuxRos</author><pubDate>Tue, 07 Apr 2026 04:42:33 +0800</pubDate><description><![CDATA[Linux Platform框架实现了设备与驱动的解耦，通过platform_device描述硬件资源，platform_driver实现设备操作，由Platform总线负责匹配绑定]]></description><category></category></item><item><title><![CDATA[Linux GPIO驱动开发实战：从传统接口到新式gpiod]]></title><link>https://blog.youkuaiyun.com/LinuxRos/article/details/159885150</link><guid>https://blog.youkuaiyun.com/LinuxRos/article/details/159885150</guid><author>LinuxRos</author><pubDate>Tue, 07 Apr 2026 04:41:39 +0800</pubDate><description><![CDATA[Linux GPIO子系统采用分层架构设计，从用户空间接口到硬件控制器形成完整链路
gpiod接口已成为现代Linux驱动开发的标准实践，特别是在结合设备树使用时能充分发挥其设计优势]]></description><category></category></item><item><title><![CDATA[Linux设备树开发实战：从硬件描述到驱动匹配的完整链路]]></title><link>https://blog.youkuaiyun.com/LinuxRos/article/details/159884645</link><guid>https://blog.youkuaiyun.com/LinuxRos/article/details/159884645</guid><author>LinuxRos</author><pubDate>Mon, 06 Apr 2026 12:14:08 +0800</pubDate><description><![CDATA[DTS源文件→编译为DTB→内核解析→驱动匹配→硬件初始化]]></description><category></category></item><item><title><![CDATA[嵌入式linux 面试题]]></title><link>https://blog.youkuaiyun.com/LinuxRos/article/details/121218400</link><guid>https://blog.youkuaiyun.com/LinuxRos/article/details/121218400</guid><author>LinuxRos</author><pubDate>Mon, 08 Nov 2021 22:58:28 +0800</pubDate><description><![CDATA[嵌入式linux开机启动流程
上电–&gt;固化boot–&gt;uboot–&gt;kernel–&gt;file system–&gt;app
uboot一般不使用mmu
uboot cmdline–&gt;kernel
新版本kernel 设备树，代替platform文件
linux特殊进程
idle进程(PID = 0), init进程(PID = 1)和kthreadd(PID = 2)

idle进程由系统自动创建, 运行在内核态

idle进程其pid=0，其前身是系统创建的第一个进程，也是唯]]></description><category></category></item></channel></rss>