鬼谷八荒MOD开发入门:用Qt5快速构建游戏属性编辑器(附完整项目源码)

核心内容摘要

GPEN部署案例:达摩院人脸修复模型一键部署与快速调用指南
OFA图文蕴含模型实战教程:构建图文匹配效果评估Dashboard

GLM-4-9B-Chat-1M多语言模型:手把手教你搭建智能对话系统

简介为什么是PREEMPT_RT 瑞芯微市场背景边缘视觉缺陷检测、人脸识别要求帧到帧延迟≤30ms抖动5ms工业机器人对伺服环≤1ms传统Linux调度无法满足。

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

方案价值 通过集成PREEMPT_RT实现全抢占式调度将Linux中断延迟从ms级降到μs级为后续实时视觉算法、EtherCAT主站打下地基。

掌握本篇移植流程拿到国产化“硬实时”入场券。

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

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

硬件RK3568/RK3588 开发板≥4GB LPDDR4USB-TypeC 串口线1500000波特率32GB SD-CardClass-10以上

软件组件版本获取地址官方SDKRK Linux v

10-rkr3瑞芯微GitHubRT补丁patch-

10-rt

patch.xzkernel.org/projects/rt交叉工具链gcc-linaro-

1

3-

2

06-x86_64_aarch64-linux-gnuLinaro主机OSUbuntu

2

04 x86_64安装依赖包见下一键安装依赖sudo apt update sudo apt install -y build-essential libncurses5-dev \ bison flex libssl-dev bc xz-utils curl

创建工作目录mkdir -p ~/rk-rt cd ~/rk-rt export RT_DIR$PWD

应用场景300字示例边缘视觉缺陷检测工位RK3568USB

0工业相机采集1920×108060fps图像通过GigE视觉协议送入OpenCV实时处理。

产线速度1m/s要求单帧检测IO剔除信号总延迟≤25ms传统Linux调度抖动高达18ms导致漏检率

3%。

采用PREEMPT_RT后中断响应80μs用户态任务调度抖动400μs配合用户态帧缓存机制总延迟稳定在20ms以内漏检率降至

05%达到客户SIL 2安全指标同时保留Linux丰富生态缩短算法迭代周期40%。

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

1 下载并打补丁可复制#

获取官方内核 cd $RT_DIR git clone https://github.com/rockchip-linux/kernel -b v

10-rkr3 rockchip-

10 cd rockchip-

10 #

下载RT补丁 wget https://www.kernel.org/pub/linux/kernel/projects/rt/

10/patch-

10-rt

patch.xz xzcat patch-

10-rt

patch.xz | patch -p1 --dry-run ../dry.log # 确认无冲突后再正式打 xzcat patch-

10-rt

patch.xz | patch -p

1

2 生成并裁剪defconfig# 使用瑞芯微默认配置 make ARCHarm64 CROSS_COMPILEaarch64-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减小开销

3 禁用高延迟模块menuconfig可视化make ARCHarm64 CROSS_COMPILEaarch64-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。

4 编译内核与模块make ARCHarm64 CROSS_COMPILEaarch64-linux-gnu- -j$(nproc) Image dtbs modules # 输出arch/arm64/boot/Image

5 打包boot.imgRK专用# 使用瑞芯微mkimage sudo cp arch/arm64/boot/Image kernel.img sudo cp arch/arm64/boot/dts/rockchip/rk3568-evb.dtb rk

dtb # 创建resource.img含dtb与logo python3 $SDK_DIR/tools/mkimage/mk-resource.sh rk

dtb logo.bmp resource.img # 合成boot.img python3 $SDK_DIR/tools/mkimage/mk-bootimg.py \ --kernel kernel.img \ --resource resource.img \ -o boot.img

6 安装到SD卡并验证实时性# 假设SD为/dev/sdb sudo umount /dev/sdb* sudo dd ifboot.img of/dev/sdb1 bs1M sudo make modules_install ARCHarm64 INSTALL_MOD_PATH/media/$USER/rootfs/插入开发板上电串口登录# 检查RT是否开启 dmesg | grep PREEMPT_RT # 预期PREEMPT_RT

5.

1

71-rt72运行cyclictest# 运行1分钟优先级80 cyclictest -p80 -i100 -d60s -n结果示例T: 0 (

P:80 I:100 C: 600000 Min: 8 Act: 18 Avg: 21 Max: 38Max38μs远低于非RT的

ms移植成功。

六、

常见问题与解答问题现象解决打补丁失败hunk FAILED确认官方SDK与补丁版本差手动合入冲突文件启动卡在Starting kernel未打包resource.img确保dtb已放入resource.imgcyclictest Max200μsCPU节能导致内核cmdline加nohz_full

intel_pstatedisableUSB相机掉帧中断亲和性差将对应IRQ绑定到big核echo 2 /proc/irq/xx/smp_affinity驱动编译报错“might sleep”RT下调度API限制使用rt_mutex代替普通mutex避免在atomic上下文sleep

实践建议与最佳实践版本锁定把RT补丁、defconfig、交叉链哈希写入《软件配置清单》任何升级走MR。

CI自动化GitLab Runner每夜自动跑cyclictestMax100μs即报警。

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

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

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

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

八、

总结一张脑图带走全部要点瑞芯微PREEMPT_RT移植 ├─ 下载官方SDK RT补丁 ├─ 配置开启PREEMPT_RT裁剪非实时模块 ├─ 编译Image dtbs modules → boot.img ├─ 验证cyclictest Max50μs ├─ 优化IRQ亲和、锁拆分、CI门禁 └─ 认证文档矩阵 故障注入 → SIL 2实时性不是“跑得快”而是“跑得准”。

完成本篇移植后你的瑞芯微平台已具备硬实时基础可放心叠加OpenCV、EtherCAT、ROS 2等实时应用。

下一步请把cyclictest结果贴进Git开启你的国产化边缘视觉/工业控制产品之旅

暴躁老姐的csgo心得图片高清-暴躁老姐的csgo心得图片高清应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123