在树莓派上编译实时内核

1. 目的

咱们知道在控制系统中,定期执行是个很重要的玩意儿,单片机里好搞定,一个定时器就解决了,但是现在的控制器越来越复杂,有些涉及一些复杂运算的内容单片机解决不了了,另外一些很棒的库也很有诱惑力,高性能操作系统作为运算核心还是一个大趋势,但是这些个操作系统基本都没有实时性且很贵,因此搞个带实时操作系统的树莓派还是挺不错的选择。官方的系统没有直接提供实时核心,我们需要自己搞个,放心,不麻烦。

2. 环境

系统:2021-03-04-raspios-buster-armhf
板子:Raspberry Pi 4

3. 具体操作

我们选择比较方便的在板编译内核,这真的很方便啊。
首先安装必备的工具,在终端输入:

sudo apt-get install bc
sudo apt-get install libncurses-dev libssl-dev
sudo apt-get install build-essential kmod cpio flex cpio bison

在https://github.com/raspberrypi/linux中下载linux-rpi-4.19.y-rt,解压出来。
在终端中进入刚解压出来的文件夹,输入:

export KERNEL=kernel7l
make bcm2711_defconfig
make menuconfig

会看到这么一个框:
配置
进入General setup->Preemption Model选择Fully Preemptible Kernel (RT)。

完成后就开始编译了

make -j4 zImage modules dtbs

然后安装

sudo make modules_install

添加相关核心文件进boot

sudo cp arch/arm/boot/dts/*.dtb /boot/
sudo cp arch/arm/boot/dts/overlays/*.dtb* /boot/overlays/
sudo cp arch/arm/boot/dts/overlays/README /boot/overlays/

添加核心

sudo chmod a+x scripts/mkknlimg
sudo scripts/mkknlimg arch/arm/boot/zImage /boot/kernel-rt.img

在/boot/config.txt的最后一行添加kernel=kernel-rt.img
ok,完了,重启pi。
在终端输入

uname -a

看到这个就ok了!
结果

参考资料
https://blog.csdn.net/jueyisan/article/details/101013705
https://zhuanlan.zhihu.com/p/358151393

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值