瑞芯微rk3588更新NPU内核驱动

一、参考资料

        截至目前,瑞芯微官方的npu驱动最新为 0.9.8,该压缩包在 rknn-llm 源码下:

        针对驱动的更新说明,在 rkllm 的手册中有步骤说明:

sudo cat /sys/kernel/debug/rknpu/version

查看开发板的npu版本,如果低于 0.9.8,可以继续更新。瑞芯微的新版刚出一周,目前香橙派官网还没有更新,还是0.9.6,自己先尝尝鲜。

二、更新源码

1、覆盖源码        

        将压缩包解压后,进入文件夹 drivers,进入 rknpu 文件夹,得到驱动源码:

将当前文件夹内的所有文件,复制到源码下 drivers/rknpu 中,覆盖原始文件。

如果担心有问题,可以先备份原始版本。

2、文件修改

        由于我使用的内核版本为 5.10,针对目前版本,源码还需要修改,手册中也有提到。如果使用6.1的内核可能不需要修改,还没试过。

打开源码目录下 include/linux/mm.h 文件,添加以下代码:

static inline void vm_flags_set(struct vm_area_struct *vma, vm_flags_t flags)
{
    vma->vm_flags |= flags;
}
static inline void vm_flags_clear(struct vm_area_struct *vma, vm_flags_t flags)
{
     vma->vm_flags &= ~flags;
}

位置影响不大,只需要能够访问即可。

此时执行编译,我这里报错,提示移植后的 rknpu_devfreq.c 文件内无法识别函数:

.set_soc_info = rockchip_opp_set_low_length,

这条语句出现在源码237行,属于rk3576的结构体,于是我直接注释,再次执行编译。

没有报错,并且更新内核后能够正常运行:

更新成功。

评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

plmm烟酒僧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值