【瑞芯微平台实时Linux方案系列】第二篇 - 瑞芯微芯片PREEMPT_RT补丁集成与内核移植

一、简介:为什么是PREEMPT_RT + 瑞芯微?

  • 市场背景

    • 边缘视觉(缺陷检测、人脸识别)要求帧到帧延迟≤30ms,抖动<5ms;

    • 工业机器人对伺服环≤1ms,传统Linux调度无法满足。

  • 芯片选型: 瑞芯微RK3568/RK3588提供4×A55/A76+G52 GPU,国产化率>95%,成本比x86低40%,但官方SDK仅提供通用内核。

  • 方案价值: 通过集成PREEMPT_RT实现全抢占式调度,将Linux中断延迟从ms级降到μs级,为后续实时视觉算法、EtherCAT主站打下地基。 掌握本篇移植流程=拿到国产化“硬实时”入场券。


二、核心概念:5个关键词先搞懂

关键词一句话说明本文出现场景
PREEMPT_RT将Linux变成“硬实时”的补丁集,支持全抢占源码级集成
ARM64 GICv3瑞芯微中断控制器,需关闭LPI以降延迟内核config
defconfig瑞芯微默认配置,含大量安卓模块裁剪对象
module_init()驱动入口,RT补丁后可能sleep报错兼容性修复
cyclictest测试调度延迟工具,帧到帧抖动标尺验收标准

三、环境准备:10分钟搭好移植机

1. 硬件

  • RK3568/RK3588 开发板(≥4GB LPDDR4)

  • USB-TypeC 串口线(1500000波特率)

  • 32GB SD-Card(Class-10以上)

2. 软件

组件版本获取地址
官方SDKRK Linux v5.10-rkr3瑞芯微GitHub
RT补丁patch-5.10-rt72.patch.xzkernel.org/projects/rt
交叉工具链gcc-linaro-11.3-2022.06-x86_64_aarch64-linux-gnuLinaro
主机OSUbuntu 20.04 x86_64安装依赖包见下

一键安装依赖:

sudo apt update sudo apt install -y build-essential libncurses5-dev \ bison flex libssl-dev bc xz-utils curl

3. 创建工作目录

mkdir -p ~/rk-rt && cd ~/rk-rt export RT_DIR=$PWD

四、应用场景(300字示例)

边缘视觉缺陷检测工位
RK3568+USB3.0工业相机,采集1920×1080@60fps图像,通过GigE视觉协议送入OpenCV实时处理。产线速度1m/s,要求单帧检测+IO剔除信号总延迟≤25ms,传统Linux调度抖动高达18ms,导致漏检率0.3%。采用PREEMPT_RT后,中断响应<80μs,用户态任务调度抖动<400μs,配合用户态帧缓存机制,总延迟稳定在20ms以内,漏检率降至0.05%,达到客户SIL 2安全指标,同时保留Linux丰富生态,缩短算法迭代周期40%。


五、实际案例与步骤:从源码到boot.img

5.1 下载并打补丁(可复制)

# 1. 获取官方内核 cd $RT_DIR git clone https://github.com/rockchip-linux/kernel -b v5.10-rkr3 rockchip-5.10 cd rockchip-5.10 # 2. 下载RT补丁 wget https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/patch-5.10-rt72.patch.xz xzcat patch-5.10-rt72.patch.xz | patch -p1 --dry-run > ../dry.log # 确认无冲突后再正式打 xzcat patch-5.10-rt72.patch.xz | patch -p1

5.2 生成并裁剪defconfig

# 使用瑞芯微默认配置 make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig # 开启RT核心功能 ./scripts/config --enable CONFIG_PREEMPT_RT ./scripts/config --disable CONFIG_LPI_CPUIF # GICv3 LPI增加延迟 ./scripts/config --disable CONFIG_ANDROID # 关闭安卓模块 ./scripts/config --disable CONFIG_DEBUG_PREEMPT # 关闭DEBUG减小开销

5.3 禁用高延迟模块(menuconfig可视化)

make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- menuconfig # 路径: # -> Kernel Features # -> Preemption Model (Fully Preemptible (Real-Time)) # -> Device Drivers # -> Graphics support # -> Rockchip Video Decoder (disable) # -> Kernel hacking # -> printk time stamp (disable) 减少printk抖动

保存为.config

5.4 编译内核与模块

make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j$(nproc) Image dtbs modules # 输出:arch/arm64/boot/Image

5.5 打包boot.img(RK专用)

# 使用瑞芯微mkimage sudo cp arch/arm64/boot/Image kernel.img sudo cp arch/arm64/boot/dts/rockchip/rk3568-evb.dtb rk3568.dtb # 创建resource.img(含dtb与logo) python3 $SDK_DIR/tools/mkimage/mk-resource.sh rk3568.dtb logo.bmp resource.img # 合成boot.img python3 $SDK_DIR/tools/mkimage/mk-bootimg.py \ --kernel kernel.img \ --resource resource.img \ -o boot.img

5.6 安装到SD卡并验证实时性

# 假设SD为/dev/sdb sudo umount /dev/sdb* sudo dd if=boot.img of=/dev/sdb1 bs=1M sudo make modules_install ARCH=arm64 INSTALL_MOD_PATH=/media/$USER/rootfs/

插入开发板上电,串口登录:

# 检查RT是否开启 dmesg | grep "PREEMPT_RT" # 预期:PREEMPT_RT 5.10.71-rt72

运行cyclictest:

# 运行1分钟,优先级80 cyclictest -p80 -i100 -d60s -n

结果示例:

T: 0 ( 1234) P:80 I:100 C: 600000 Min: 8 Act: 18 Avg: 21 Max: 38

Max=38μs,远低于非RT的2-3ms,移植成功。


六、常见问题与解答

问题现象解决
打补丁失败hunk FAILED确认官方SDK与补丁版本差,手动合入冲突文件
启动卡在Starting kernel未打包resource.img确保dtb已放入resource.img
cyclictest Max>200μsCPU节能导致内核cmdline加nohz_full=1-3 intel_pstate=disable
USB相机掉帧中断亲和性差将对应IRQ绑定到big核:echo 2 > /proc/irq/xx/smp_affinity
驱动编译报错“might sleep”RT下调度API限制使用rt_mutex代替普通mutex,避免在atomic上下文sleep

七、实践建议与最佳实践

  1. 版本锁定
    把RT补丁、defconfig、交叉链哈希写入《软件配置清单》,任何升级走MR。

  2. CI自动化
    GitLab Runner每夜自动跑cyclictest,Max>100μs即报警。

  3. 分区裁剪
    关闭CIFS/BT/NFC等非产线模块,内核体积减30%,编译时间减半。

  4. IRQ亲和性
    视觉帧中断绑定big核,控制环任务放little核,减少上下文切换抖动。

  5. 预留JTAG
    生产板保留SWD接口,便于后期故障注入与SIL认证调试。

  6. 文档同步
    用PlantUML画“启动流程+中断路径”图,随代码提交,auditor点赞。


八、总结:一张脑图带走全部要点

瑞芯微+PREEMPT_RT移植 ├─ 下载:官方SDK + RT补丁 ├─ 配置:开启PREEMPT_RT,裁剪非实时模块 ├─ 编译:Image dtbs modules → boot.img ├─ 验证:cyclictest Max<50μs ├─ 优化:IRQ亲和、锁拆分、CI门禁 └─ 认证:文档矩阵 + 故障注入 → SIL 2

实时性不是“跑得快”,而是“跑得准”。
完成本篇移植后,你的瑞芯微平台已具备硬实时基础,可放心叠加OpenCV、EtherCAT、ROS 2等实时应用。下一步,请把cyclictest结果贴进Git,开启你的国产化边缘视觉/工业控制产品之旅!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1223636.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

骑行,说说各职业骑友的可爱特点。

骑友不问职业&#xff0c;但每个职业骑友都有各自的特点&#xff0c;这也是一个骑行的风景线。我们车队里什么人都有。程序员、老师、开小超市的、搞装修的。白天大家在各忙各的&#xff0c;晚上或周末聚在一起&#xff0c;就只有一个身份&#xff0c;骑车的。职业会悄悄改变你…

让Agent画思维导图稳固长期记忆:新框架实现稳定长期学习,准确率提升38%

传统RAG在“长期记忆管理”和“持续学习承载能力”两个层面&#xff0c;正在同时暴露出结构性瓶颈。 思维导图曾被证明可以帮助学习障碍者快速提升成绩&#xff0c;那么当前已经可堪一用的智能体系统如果引入类似工具是否可以帮助改善长期学习记忆能力呢&#xff1f;有研究团队…

【通信原理】无线电台工作原理深度解析:从电磁波到信息传输的完整技术体系

第一章 无线电台的历史演进与现代应用 无线电的发现与应用是人类技术史上最伟大的成就之一。1887年&#xff0c;德国物理学家赫兹首次证实了电磁波的存在&#xff0c;为现代无线通信奠定了理论基础。随后&#xff0c;意大利工程师马可尼在1895年实现了第一次远距离无线电通信&…

NMN启动细胞焕新计划,W+端粒塔研创NMN十二载,带领抗衰进入健康管理2.0时代

今年年货节,年轻人的购物车里不只有食品和潮品,更有各式保健品。当抗衰老从小众需求升级为全民共识,以预防为主的核心诉求催生了庞大的保健市场需求,一场关于健康与爱的消费热潮在年末得到集中释放。这背后,折射出…

法国用工“雷区”遍布?EOR成中企出海“合规导航仪”

法国,这个拥有浪漫之都巴黎的国度,也是全球劳动法最严格的国家之一。面对其严苛的用工规定,许多出海企业望而却步。 法国作为欧洲第二大经济体,拥有庞大的消费市场和成熟的商业环境,吸引了众多科技、制造及跨境电…

医用导管哪家好?宁波益创韦如何在高精度管材赛道脱颖而出

在介入治疗、麻醉呼吸、监护输注等临床场景中,医用导管早已成为基础却关键的组成部分。医院在选择合作供应商时,不再只问“能不能做”,而是越来越关注尺寸精度、材料安全、供应稳定性等综合指标,“医用导管哪家好”…

Logback、Log4j2、SLF4J 、ELK、EFK、Loki 傻傻分不清楚?

前言 今天我想和大家聊聊一个看似基础,却让无数开发者困惑的问题:日志框架这么多,它们到底是什么关系? Logback、Log4j2、SLF4J、ELK、EFK、Loki……这些名词像是一锅粥,很多人用了多年仍分不清彼此。 有些小伙伴…

python lambda匿名函数

一、python lambda匿名函数 1.python使用lambda来创建匿名函数 2.lambda函数是一种小型的&#xff0c;匿名的&#xff0c;内联的函数 3.lambda匿名函数具有任意数量的参数&#xff0c;但是只能有一个expression表达式。 4.lambda匿名函数不需要使用def关键字来定义完整的函数 5…

导师推荐!8个AI论文平台测评,本科生毕业论文全攻略

导师推荐&#xff01;8个AI论文平台测评&#xff0c;本科生毕业论文全攻略 2026年AI论文平台测评&#xff1a;为何需要这份榜单&#xff1f; 随着人工智能技术的不断进步&#xff0c;AI论文平台在学术写作中的应用日益广泛。然而&#xff0c;面对市场上众多选择&#xff0c;如何…

什么是google算法?搞懂底层逻辑才不会被收割

做外贸或者是搞独立站的朋友&#xff0c;大概都有过这种经历&#xff1a;前一天网站流量还在蹭蹭涨&#xff0c;第二天早上起来一开后台&#xff0c;心都凉了半截。数据断崖式下跌&#xff0c;询盘直接归零。这时候你跑去问SEO专家&#xff0c;对方通常会一脸深沉地告诉你&…

汽车行业如何突围?天淳AI+GEO精准获客新策略

汽车行业如何突围&#xff1f;天淳AIGEO精准获客新策略 引言 汽车行业正面临前所未有的挑战。新能源与传统燃油车用户需求分化&#xff0c;客群涵盖年轻上班族、家庭用户、高端商务人士等&#xff0c;偏好差异显著&#xff0c;精准触达难度大。线上线索转化为到店试驾率低&am…

学霸同款2026 AI论文平台TOP8:研究生开题报告神器测评

学霸同款2026 AI论文平台TOP8&#xff1a;研究生开题报告神器测评 2026年学术写作工具测评&#xff1a;为何需要一份精准榜单&#xff1f; 在科研日益精细化的今天&#xff0c;研究生群体对论文写作工具的需求已从基础功能拓展到高效协同、智能辅助和格式规范等多维度。面对市…

VSCode中,通过SFTP插件管理远程服务器文件

在VSCode中&#xff0c;通过SFTP插件管理远程服务器文件可以极大提升开发效率。目前有几款主流插件&#xff0c;它们的功能侧重和操作方式有所不同&#xff0c;你可以根据自己的习惯和项目需求来选择。 下面的表格对比了四款主流的SFTP相关插件&#xff1a;插件名称 (作者/发布…

2025年棕刚玉十大定制品牌口碑排行榜,棕刚玉/碳化硅/黑碳化硅/磨料/金刚砂/铬刚玉/不锈钢灰/精密铸造砂/白刚玉棕刚玉品牌有哪些

在制造业转型升级与精密加工需求日益增长的背景下,棕刚玉作为基础性工业磨料与耐火原料,其定制化服务能力已成为衡量供应商核心竞争力的关键。当前市场,客户需求已从标准品采购转向对粒度、硬度、化学成分乃至配套解…

Windows10聚焦图片保存位置说明

桌面聚焦图片的保存位置:%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Themes\CachedFiles其他类型聚焦图片的保存位置:1、%USERPROFILE%\AppData\Local\Packages\Microsoft.Windows.ContentDeliveryManager_cw…

想要随时随地做账务自动化任务就用青龙面板+cpolar

青龙面板是一款能自动化执行 JavaScript、Python、Shell 等脚本的管理工具&#xff0c;支持 Linux、Windows、macOS 等系统&#xff0c;通过网页端即可轻松管理定时任务&#xff0c;适合程序员、办公族、数据采集爱好者等需要处理重复性任务的人群&#xff0c;其优点在于无需频…

当八股文遇到实践--关于StringBuilder 和String

当八股文遇到实践--关于StringBuilder 和String$(".postTitle2").removeClass("postTitle2").addClass("singleposttitle");1.为什么拼接时使用StringBuilder 不用String ?1.String 是…

在AI语言大模型时代 Cloudera CDP(华为CMP 鲲鹏版)对自有知识的保护

在AI语言大模型时代 Cloudera CDP&#xff08;华为CMP 鲲鹏版&#xff09;对自有知识的保护 博文末尾处有下载方式&#xff1a; 下载地址&#xff1a; https://pan.baidu.com/s/1PDj6dySUNHotNABp7d1a0w?pwd57is 提取码: 57is 查找“Hadoop信创”&#xff0c;输入“CMP”恢…

1 月聚焦:晶抗生物专业度在产品中如何体现?细胞因子检测试剂盒/猪试剂盒/il-1β 试剂盒,晶抗生物公司有哪些

引言:精准检测背后的技术支撑 在生命科学研究与体外检测领域,检测试剂盒的灵敏度、特异性与稳定性直接影响科研成果的可靠性及临床诊断的准确性。作为深耕该领域的高新技术企业,上海晶抗生物工程有限公司(以下简称…

OpenAI不Open!七年功勋老将投奔宿敌,实验室沦为API代工厂

2026开年&#xff0c;OpenAI的「推理之父」Jerry Tworek离职了。顶尖大脑因方向冲突和资源倾斜而出走&#xff0c;从这一刻起&#xff0c;硅谷的「Open」或许只剩下一个名字&#xff0c;而非一家真正的AGI实验室。 1月7日&#xff0c;硅谷迎来又一波震动。入职近七年的技术骨干…