北京合众恒跃科技有限公司
直播中

EPTmachine

8年用户 1030经验值
擅长:可编程逻辑 嵌入式技术 存储技术 接口/总线/驱动 控制/MCU
私信 关注

【HZ-RK3568开发板免费体验】3、开启Linux Kernel RT功能

Preempt-RT是一种针对实时性能进行了优化的Linux内核。与普通的Linux内核相比,Preempt-RT具有以下优势:

  1. 实时性能: Preempt-RT提供了更可靠和更精确的实时性能。它采用了一些实时调度策略和机制,使得任务能够按照严格的时间要求执行,从而适用于需要高度可预测性和低延迟的应用场景,如工业自动化、机器人控制等。
  2. 硬实时能力: Preempt-RT具有硬实时能力,即能够确保任务在规定的时间内完成,而不会受到其他任务或中断的干扰。这对于需要严格的时间限制的应用非常重要,如航空航天、医疗设备等领域。
  3. 任务调度: Preempt-RT使用了更加高效和优化的任务调度算法,如基于优先级的实时调度算法,以确保高优先级任务能够及时响应并完成,而低优先级任务不会影响到实时任务的执行。
  4. 中断处理: Preempt-RT针对中断处理进行了优化,使得中断的响应时间更短,能够更快地响应外部事件。
  5. 内核定时器: Preempt-RT提供了更精确和可配置的内核定时器,使得可以实现微秒级的定时精度,适用于对时间要求极高的应用场景。
  6. 实时扩展: Preempt-RT提供了一些实时扩展机制,使得用户能够方便地对内核进行定制和扩展,以满足特定应用的需求。总的来说,Preempt-RT在实时性能、可靠性和精度方面比普通的Linux内核更加优秀,因此在对实时性能要求较高的应用场景中被广泛使用。瑞芯微提供配套SDK的Preempt-RT补丁。

1、Linux PREEMPT_RT补丁

Linux Kernel应用补丁的指令格式如下

patch -p1 < path/to/patch-x.y.z

Rockchip SDK中的doc/Real-Time-Performance目录下有相关的实时内核补丁。

patch_5.10.png

HZ_RK3568使用的内核版本为5.10.18,将文件夹中的Kernel-5.10下的补丁应用到内核配置中。

cd /path/to/kernel-5.10/

patch -p1 < ../docs/Patches/Real-Time-Performace/PREEMPT_RT/kernel-5.10/0001-patch-5.10.180-rt89.patch-on-rockchip-base-cae91899b.patch

patch -p1 < ../docs/Patches/Real-Time-Performace/PREEMPT_RT/kernel-5.10/0002-patch-5.10.180-rt89.patch-fix-runtime-error-on-rockc.patch

patch -p1 < ../docs/Patches/Real-Time-Performace/PREEMPT_RT/kernel-5.10/0003-arm64-configs-optimize-latency-for-PREEMPT_RT.patch
export CROSS_COMPILE=../prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-

make ARCH=arm64 rockchip_linux_defconfig rockchip_rt.config

make -C /path/to/SDK/kernel/ -j9 CROSS_COMPILE=/path/to/SDK/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu- ARCH=arm64 rockchip_linux_defconfig rk3576.config rockchip_linux_docker.config rockchip_rt.config

make -C /home/hzhy/HZHY/RK3568/HZ-EVM-RK3568-5.10-KERNEL-SDK/kernel/ -j9 CROSS_COMPILE=/home/hzhy/HZHY/RK3568/HZ-EVM-RK3568-5.10-KERNEL-SDK/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu- ARCH=arm64 HZ-RK3568_MV01.img

编译完成后,将更新的镜像使用RKdevTool烧录到开发板即可。使用uname -a指令可以查看内核已添加RT功能。

root@rk3568:/# uname -a
Linux rk3568 5.10.160HZ_EVB_RK3568_Kernel-5.10_v1.0.0_20240410-rt89 #2 SMP PREEMPT_RT Tue Jul 22 13:24:17 CST 2025 aarch64 GNU/Linux

linux_kernel_rt_info.png

更多回帖

发帖
×
20
完善资料,
赚取积分