用于四核ARM A53的Linux CONFIG_PREEMPT_RT(新手疑惑)

时间:2018-06-05 18:12:33

标签: linux linux-kernel real-time xilinx preemption

我想激活Linux内核的PREEMPTion功能。要做到这一点,我应该下载匹配我正在使用的内核版本和我编译的正确补丁(如here所述)。我所拥有的内核版本是 Linux版本4.9.0 (只需从命令行输入uname -a并在/proc/version中双重检查。

linux kernel页面(可以为此目的下载补丁的地方)我找不到我正在使用的完全匹配的版本。我应该使用哪一个?

此外,如果您对如何正确地做一些建议,我们将不胜感激!

我的另一个问题是:我是否可以继续使用我开发的相同应用程序,如果可能的话,改进或降低性能?那我正在开发的驱动程序呢?或第三部分设备驱动程序?

更新:

  • 我正在使用配备四核ARM 53的Xilinx Zynq Ultrascale +。使用的主板是Xilinx的zcu102。

  • 内核的源文件来自here,文件系统是Linaro

2 个答案:

答案 0 :(得分:1)

  1. 您可以检查文件夹“较旧”(https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/4.9/older/) - 在那里您可以找到文件patch-4.9-rt1.patch.gz和patches-4.9-rt1.tar.gz
  2. 注意,github.com/Xilinx/linux-xlnx中的当前版本是4.14。您确定,您有正确的源代码吗?

答案 1 :(得分:1)

这是有关如何使用Petalinux 2019.1在ZCU102上安装PREEMPT_RT的信息:

  1. the Xilinx website下载并安装Petalinux 2019.1

  2. the Xilinx website下载

    ZCU102 BSP 2019.1
  3. 创建项目:petalinux-create -t project -s xilinx-zcu102-v2019.1-final.bsp

  4. 将PREEMPT_RT补丁http://cdn.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patch-4.19-rt1.patch.gz解压缩到 project-spec / meta-user / recipes-kernel / linux / linux-xlnx / 目录

  5. 编辑文件 project-spec / meta-user / recipes-kernel / linux / linux-xlnx _%。bbappend 并添加

    SRC_URI_append = " file://patch-4.19-rt1.patch"
    
  6. 确保在项目文件 project-spec / meta-user / conf / layer.conf

    中,元用户层的优先级为7。
  7. 配置项目:petalinux-config

  8. 配置内核以启用全面的抢先支持:petalinux-config -c kernel

  9. 内部版本:petalinux-build

  10. 生成BOOT.BIN文件:petalinux-package --boot --fsbl images/linux/zynq_fsbl.elf --u-boot images/linux/u-boot.elf