orangepi 5plus 升级rknpu 0.9.8 驱动版本

下载0.9.8驱动文件

https://github.com/airockchip/rknn-llm/blob/main/rknpu-driver/rknpu_driver_0.9.8_20241009.tar.bz2

下载orangepi keneral

https://github.com/orangepi-xunlong/linux-orangepi/blob/orange-pi-6.1-rk35xx

执行sudo ./build.sh 会遇到如下错误

[ error ] ERROR in function compile_kernel [ ./build.sh:305 -> scripts/main.sh:638 -> scripts/main.sh:541 -> scripts/compilation.sh:506 -> scripts/general.sh:0 ]
[ error ] Kernel was not built [ @host ]
[ o.k. ] Process terminated

查看output/debug/下的 日志文件

drivers/net/wireless/rtl8189es/os_dep/linux/ioctl_cfg80211.c:4146:20: 警告: ‘nl80211_tx_power_setting_str’ defined but not used [-Wunused-function]
drivers/net/wireless/rtl8189es/os_dep/linux/ioctl_cfg80211.c:4146:20: 警告: 'nl80211_tx_power_setting_str' 已定义但未使用 [-Wunused-function]
4146 | static const char nl80211_tx_power_setting_str(int type)
4146 | 4146 static const char nl80211_tx_power_setting_str(int类型)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/rtl8192eu/hal/hal_hci/hal_usb.c: 在函数‘usb_init_recv_priv’中:
drivers/net/wireless/rtl8192eu/hal/hal_hci/hal_usb.c:28:22: 警告: cast between incompatible function types from ‘void (
)(void )’ to ‘void ()(long unsigned int)’ [-Wcast-function-type]
drivers/net/wireless/rtl8192eu/hal/hal_hci/hal_usb.c:28:22: 警告:在不兼容的函数类型之间进行转换,从 'void ()(void )' 到 'void ( )(long unsigned int)' [-Wcast -功能类型]
28 | (void()(unsigned long))usb_recv_tasklet,
28 | 28 (void()(无符号长整型))usb_recv_tasklet,
| ^
drivers/net/wireless/rtl8192eu/hal/rtl8192e/usb/rtl8192eu_xmit.c: 在函数‘rtl8192eu_init_xmit_priv’中:
drivers/net/wireless/rtl8192eu/hal/rtl8192e/usb/rtl8192eu_xmit.c:28:22: 警告: cast between incompatible function types from ‘void (
)(void )’ to ‘void ()(long unsigned int)’ [-Wcast-function-type]
drivers/net/wireless/rtl8192eu/hal/rtl8192e/usb/rtl8192eu_xmit.c:28:22: 警告:在不兼容的函数类型之间进行转换,从 'void ()(void )' 到 'void ( )(long unsigned int)' [ -Wcast-函数类型]
28 | (void(*)(unsigned long))rtl8192eu_xmit_tasklet,
28 | 28 (void(*)(无符号长整型))rtl8192eu_xmit_tasklet,
| ^
drivers/rknpu/rknpu_devfreq.c:237:25: 错误: ‘rockchip_opp_set_low_length’未声明(不在函数内)
237 | .set_soc_info = rockchip_opp_set_low_length,
237 | 237 .set_soc_info = rockchip_opp_set_low_length,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
make[3]: *** [scripts/Makefile.build:250:drivers/rknpu/rknpu_devfreq.o] 错误 1
make[2]: *** [scripts/Makefile.build:500:drivers/rknpu] 错误 2
make[2]: *** 正在等待未完成的任务....
make[1]: *** [scripts/Makefile.build:500:drivers] 错误 2
make: *** [Makefile:2013:.] 错误 2

解决:

rknpu_devfreq.c:

static const struct rockchip_opp_data rk3576_npu_opp_data = {
    .set_read_margin = rk3576_npu_set_read_margin,
//     .set_soc_info = rockchip_opp_set_low_length, 未定义, 需要删除
#if KERNEL_VERSION(6, 1, 0) <= LINUX_VERSION_CODE
    .config_regulators = npu_opp_config_regulators,
    .config_clks = npu_opp_config_clks,
#endif
};

参考 RK系列升级内核中的RKNPU驱动_rknpu2驱动最新版本-优快云博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值