一、采集/设置系统信息的工具集
获取开发板 SOM 状态工具
LINUX\] hrut_somstatus 是用来获取当前开发板SOM状态的工具,包含温度、 cpu频率、bpu状态。
用法:
```css
hrut_somstatus [-n count] [-d second]
```
**获取开发板boardid工具**
\[LINUX\] hrut_boardid 是用来获取当前开发板 boardid 的工具。
用法:
```Plain
hrut_boardid
```
**获取芯片 unique id 的工具**
\[LINUX\] hrut_socuid 是用来获取当前芯片unique id的工具。
用法:
```markdown
hrut_socuid
```
**设置开发板IP地址工具**
\[LINUX\] hrut_ipfull 是用来设置开发板 IP 地址的工具,支持设置、获取、清空三个功能,重启后生效,在系统起来后会自动配置上。
用法:
```bash
#设置 IP 地址
hrut_ipfull s IP MASK GATEWAY
#获取 IP 地址
hrut_ipfull g
#空 IP 地址
hrut_ipfull c
```
举例:
```ruby
#设置 IP 地址,以 eth0 为例
root@hobot:~# hrut_ipfull s eth0 192.168.0.100 255.255.255.0 192.168.0.1
root@hobot:~#
#获取 IP 地址,以 eth0 为例
root@hobot:~# hrut_ipfull g eth0
ip=192.168.0.100
mask=255.255.255.0
gw=192.168.0.1
#清空 IP 地址,以 eth0 为例
root@hobot:~# hrut_ipfull c eth0
clear all ip related setting.
```
## 二、设置开发板 MAC 地址工具
\[LINUX\] hrut_mac 是用来设置开发板 mac 地址的工具,支持设置、获取、清空三个功能,重启后生效,在系统起来后会自动配置上。
用法:
```bash
#设置 mac 地址
hrut_mac s xx:xx:xx:xx:xx:xx
#获取 mac 地址
hrut_mac g
#清空 mac 地址
hrut_mac c
```
举例:
```Plain
#设置mac地址,以eth0为例
root@hobot:~# hrut_mac s eth0 11:22:33:44:55:66
root@hobot:~#
#获取mac地址,以eth0为例
root@hobot:~# hrut_mac g eth0
11:22:33:44:55:66
#清空mac地址,以eth0为例
root@hobot:~# hrut_mac c eth0
```
## 三、BPU 使用率测试工具
### 3.1 工具位置以及所包含文件
从项目接口同学处获取功耗包 power_consumption_benchmark_tool.7z。
功耗包解压至板端/map/benchmark_tool 目录下,其中 BPU 工具存放在/map/benchmark_tool/bpu 目录,具体目录结构如下:
```yaml
root@hobot:/map/benchmark_tool/bpu# ls -al
total 64232
drwxr-xr-x 3 root root 4096 Sep 5 2024 .
drwx------ 10 root root 4096 Jan 27 2024 ...
-rwxr-xr-x 1 root root 1660560 Aug 9 2024 bpu_os_test
-rwxr-xr-x 1 root root 212992 Aug 9 2024 input_1.bin
-rwxr-xr-x 1 root root 106496 Aug 9 2024 input_2.bin
drwxr-xr-x 2 root root 4096 Aug 9 2024 lib
-rwxr-xr-x 1 root root 3022 Sep 5 2024 run.sh
-rwxr-xr-x 1 root root 63766544 Aug 9 2024 yolov3.hbm
```
用法:
```Plain
sh run.sh -r
```
举例:
```Plain
# 设置bpu占用率为90
root@hobot:/map/benchmark_tool/bpu# sh run.sh -r 90
```
注:-r 数值为预设的 BPU 占用率,范围是 5-100,超过此范围会报输入错误。可以通过 hrut_somstatus 命令查看实际的 BPU 占用率。(实际使用过程中,出现与设置阈值±5%的抖动为正常现象)
```yaml
root@hobot:/map/benchmark/bpu# sh run.sh -r 100
#启动新的 ssh 终端查看对应 group 的占用值
root@hobot:~# hrut_somstatus
=====================1=====================
temperature-->
pvt_cmn_pvtc1_t1 : 36.893 ©
pvt_cmn_pvtc1_t2 : 36.342 ©
pvt_mcu_pvtc1_t1 : 39.283 ©
pvt_mcu_pvtc1_t2 : 39.099 ©
pvt_bpu_pvtc1_t1 : 39.834 ©
voltage-->
FAKE : 100.0 (mV)
VDDQ_DDR2 : 492.0 (mV)
VDD_MCU : 742.0 (mV)
...
MCU_PVTC1_V15 : 0.0 (mV)
MCU_PVTC1_V16 : 0.0 (mV)
cpu frequency-->
min cur max
policy0: 1500000000 2000000000 2000000000
policy4: 1500000000 2000000000 2000000000
bpu status information---->
ratio
bpu0: 99
... _power_consumption_benchmark_tools:
```
## 四、功耗测试工具
### 4.1 工具概述
本工具可同时跑 CPU、BPU、VDSP、Codec 和 GPU 的负载加压用例,并实时记录各负载、芯片结温和 DDR 带宽等信息,用于功耗测试。
从项目接口同学处获取功耗包 power_consumption_benchmark_tool.7z。
功耗包需手动解压到板端,解压后的目录结构如下:
```arduino
.
├── bpu
├── codec
├── cpu
├── gpu
├── mdma
├── monitor
├── run.sh
└── vdsp
```
注:
1. 该软件包运行后,因实时记录各负载、芯片结温和 DDR 带宽等信息到文件中,需要较大空间,因此建议拷贝到有充足空间的目录下,如/map。
2. Release 包中不包含 GPU 的功耗测试工具(glmark2),需通过"apt install glmark2-es2-drm"命令进行安装。
### 4.2 运行
将软件包通过 scp 命令传至板端的/map,假设板端网络已通,且 ip 为 board_ip:
```ruby
user.name@compile-server:~/work/J6$ scp power_consumption_benchmark_tool.7z root@board_ip:/map
```
release 版本上,需要提前安装 7z 工具,用以解压软件包,安装命令为:
```sql
sudo apt-get update
sudo apt install p7zip-full
```
板端解压至/map/benchmark_tool 目录下:
```Plain
root@hobot:/map# mkdir benchmark_tool
root@hobot:/map# 7z x power_consumption_benchmark_tool.7z -o/map/benchmark_tool/
```
执行如下命令,默认同时跑 CPU、BPU、VDSP、Codec 和 GPU 的负载加压用例:
```Plain
root@hobot:/map/benchmark_tool# bash run.sh
```
### 4.3 BPU 配置
#### 运行说明
BPU 加压程序使用上述的 :ref:`BPU 使用率测试工具 `,默认启动后会一直跑,除非终止程序,运行命令如下:
```Plain
root@hobot:/map/benchmark_tool/bpu# bash run.sh -r 100
```
BPU 负载可通过指定-r 参数来调节,参数范围是\[5, 100\]。
1. 并行跑多个用例时,默认负载是 100%,可通过修改/map/benchmark_tool 目录下的 run.sh 进行调节。
示例:设置 BPU 负载为 80%。
```Plain
cd ${SCRIPT_DIR}/bpu && bash run.sh -r 80
```
2. BPU 负载用例时,直接执行 BPU 目录下的 run.sh,加上-r 参数进行调节。
示例:设置 BPU 负载为 100%。
```Plain
root@hobot:/map/benchmark_tool/bpu# bash run.sh -r 100
```
#### 负载查看
运行 bpu 加压程序后,可在/map/benchmark_tool/monitor/output/bpu_load 文件中查看 BPU 的实时负载,每秒记录一次:
```ruby
root@hobot:/map/benchmark_tool/monitor/output# cat bpu_load
Tue Jun 4 19:04:13 CST 2024: bpu load: 0
Tue Jun 4 19:04:14 CST 2024: bpu load: 0
Tue Jun 4 19:04:15 CST 2024: bpu load: 0
Tue Jun 4 19:04:16 CST 2024: bpu load: 69
Tue Jun 4 19:04:17 CST 2024: bpu load: 97
Tue Jun 4 19:04:18 CST 2024: bpu load: 99
Tue Jun 4 19:04:19 CST 2024: bpu load: 99
Tue Jun 4 19:04:20 CST 2024: bpu load: 98
```
### 4.4 CPU 配置
#### 运行说明
CPU 加压程序默认启动后会一直跑,除非终止程序,运行命令如下:
```Plain
root@hobot:/map/benchmark_tool/cpu# bash run.sh
```
并行跑多个用例时,默认跑满所有 CPU 核的 100%负载。
可通过指定 cpu 的 run.sh 参数来调节 CPU 负载。
**用法:**
```Plain
bash run.sh