README.md
1# Hi3516烧录OH2代码
2 1. 连接串口线, USB和网线。
3 2. 使用HiTool工具加载并烧写OH2代码编译镜像。
4 镜像路径: OH2_TOOL\out\ohos-arm-release\packages\phone\images\Hi3516DV300-emmc.xml
5 3. 在新烧录好的开发板配置网络信息。
6 配置IP: ifconfig eth0 xxx.xxx.xxx.xxx
7 配置子网掩码: ifconfig eth0 xxx.xxx.xxx.xxx netmask 255.255.255.0
8 分配hdcd端口: hdcd -t &
9 查看端口: netstat -nat
10
11# 编译FUZZ测试二进制文件
12 1. 修改OH2_TOOL/developtools/profiler/ohos.build
13 在testlist中添加:"//developtools/profiler/trace_analyzer/test:fuzztest"
14 2. 启动测试shell。
15 cd OH2_TOOL
16 ./test/developertest/start.sh 根据输出提示选择 hi3516DV300对应的数字。
17 3. 编译可执行程序。
18 run -t FUZZ -ss developtools -ts hiprofiler_ts_bytrace_fuzz_test
19 run -t FUZZ -ss developtools -ts hiprofiler_ts_htrace_fuzz_test
20 run -t FUZZ -ss developtools -ts hiprofiler_ts_selector_fuzz_test
21 生成可执行文件路径: OH2_TOOL/out/ohos-arm-release/packages/phone/tests/fuzztest/hiprofiler/ts_fuzz/
22
23# 准备FUZZ测试环境
24 1. 使用hdc工具将上一步生成的可执行程序上传到开发板指定目录。
25 例如: hdc_std file send hiprofiler_ts_htrace_fuzz_test /data/local/tmp/FuzzTest
26 添加执行权限 chmod +x hiprofiler_ts_htrace_fuzz_test
27 2. 上传动态库。
28 代码目录下查询以下动态库, 并上传到开发板/system/lib目录。
29 libsqlite.z.so
30 libcrypto.so
31 libssl.z.so
32 libcrypto.z.so
33 libgrpc.z.so
34
35# 执行FUZZ测试用例
36 cd /data/local/tmp/FuzzTest
37 ./hiprofiler_ts_bytrace_fuzz_test -max_total_time=20
38 ./hiprofiler_ts_htrace_fuzz_test -max_total_time=20
39 ./hiprofiler_ts_selector_fuzz_test -max_total_time=20
40
41# 可能遇到的问题
42 1. 开发板启动失败,重启开发板,进入uboot中配置启动参数。
43 setenv bootargs 'mem=640M console=ttyAMA0,115200 mmz=anonymous,0,0xA8000000,384M clk_ignore_unused androidboot.selinux=permissive skip_initramfs rootdelay=10 init=/init root=/dev/mmcblk0p5 rootfstype=ext4 rw blkdevparts=mmcblk0:1M(boot),15M(kernel),20M(updater),1M(misc),3307M(system),256M(vendor),-(userdata)'
44 setenv bootcmd "mmc read 0x0 0x80000000 0x800 0x4800; bootm 0x80000000";
45 save
46 reset
47 2. 执行测试用例过程中报“cannot merge previous GCDA ”。
48 在开发板上进入OH2_TOOL目录,执行以下命令:
49 find . -name "*.gcda" -print0 | xargs -0 rm
50