RK3399模組開發資料下載(RK3399PRO_NPU上電啟動)
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 是否有問題
·······················
參考資料:資料轉自一牛網論壇