RK3399PRO_NPU上电启动
1.1 电源控制部分概述
可执行文件: usr/bin/npu_powerctrl
rk3399pro:/ # npu_powerctrl
Usage:npu_powerctrl [s] [r] [o] [i] [d]
s npu enter sleep
r wakup npu
o power up or reset npu
i gpio init
d power down
1.2 固件烧写部分
可执行文件:
Usr/bin/upgrade_tool :直接由刘翊编译提交,没有提交源码
Usr/bin/npu_upgrade: 这是一个 shell 脚本,调用 npu_powerctrl 上电, 调用
upgrade_tool 执行烧写
固件位置: npu fw 修改可直接 push 到这个目录,再执行 npu_upgrade 上电烧写
rk3399pro:/ # ./usr/bin/npu-image.sh 升级 NPU 固件
1.3 手动上电烧写启动
npu_upgrade MiniLoaderAll.bin uboot.img trust.img boot.img
npu 启动失败分析:
1.4 npu 启动失败分析:
1. 上电 进 maskrom
Dmesg |grep NPU_POWER 确认上电控制是否正常, 比如相关的 gpio 是否有 request 错误的,状态是否正常
npu_powerctrl o 单独执行上电命令,查看串口 log,是否有识别到设备。
正常情况上电之后可以马上识别到 maskrom 如下:
rk3399pro:/ # npu_powerctrl o
rk3399pro:/ # [9419.717848] usb 11: new highspeed USB device number 64 using
xhcihcd
[ 9419.839635] usb 11: New USB device found, idVendor=2207,
idProduct=180a[ 9419.839720] usb 11: New USB device strings: Mfr=0
无法正常识别:
cat /d/gpio 查看相关的电源 gpio 是否正确
rk3399pro:/ # cat /sys/kernel/debug/clk/clk_wifi_pmu/clk_rate
24000000
rk3399pro:/ # cat /sys/kernel/debug/clk/clk_wifi_pmu/clk_enable_count
1
2 烧写固件
错误的概率比较低,通常是 ddr 或者控制器异常才会有问题,
3 启动
涉及到 npu 的固件是否正常, 或者硬件 ddr 是否有问题
·······················
参考资料:资料转自一牛网论坛