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