更多信息请访问:与华为官方共建的鸿蒙技术社区https://harmonyos.51cto.comDevEcoDeviceTool迎来2.1Beta1,全新版本有很多亮点。在上一篇《DevEcoDeviceTool2.1Beta1Hi3861Windows平台编译体验》(https://harmonyos.51cto.com/posts/4027)中,我们体验了HI3861在Windows平台的编译亮点和工具链管理的亮点功能,这次我们就来体验一下Windows平台下HI3861开发板可视化分析的重头戏。润和的HiSpark_Wifi_IoT开发板和Bearpi的BEARPIHM_Nano开发板均采用海思的Hi3861V100芯片。如果你有Bearpi的BEARPIHM_Nano开发板,拿来体验一下。开发者在Hi3861开发板上开发应用时需要注意内存的分配和使用。DevEcoDeviceTool2.1Beta1新增可视化分析功能——Profiling可视化分析,通过可视化界面展示开发板上运行的应用所占用的系统资源和内存资源等信息,帮助开发者查看和分析开发板上的任务栈内存和堆栈内存使用情况,以便及时调整各个任务的内存和资源分配策略。先做准备工作:首先创建一个Profiling可视化分析任务。通过在原有应用程序中增加定时查询系统资源信息和内存信息的定时任务,可以实现可视化分析。仍以iothardware应用为例。步骤如下:1、进入系统盘用户目录下的C:\Users\Administrator\.deveco-device-tool\platforms\hisilicon\profiling\src,复制“app_demo_sysinfo.c”两个文件和“app_demo_sysinfo.h”到鸿蒙应用iothardware目录下。2、这两个文件可以定时查询系统资源信息和内存信息。这两个文件需要添加到应用程序中,编译烧录到3861开发板中。(1)在iothardware目录下的编译文件BUILD.gn中添加修改如下内容:sources:添加“app_demo_sysinfo.c”源文件参与编译。include_dirs:添加“app_demo_sysinfo.h”头文件“//applications/sample/wifi-iot/app/iothardware”的相对路径,注意:在include_dirs:“//base/iot_hardware/interfaces/kits/wifiiot_lite”需要改为“//base/iot_hardware/peripheral/interfaces/kits”,否则后续编译会失败,提示“iot_gpio.h”文件不存在。这个bug相信会在后续版本中得到修正。(2)在当前程序“led_example.c”中添加头文件#include"app_demo_sysinfo.h"(3)在入口函数LedExampleEntry中添加对app_demo_heap_task()的调用;(4)照常修改app/BUILD.gn,让iothardware参与编译。(5)另外,BearPi的板载指示灯为GPIO2,只需将"applications\sample\wifi-iot\app\iothardware\led_example.c"中的#defineLED_TEST_GPIO改为2,将LED_INTERVAL_TIME_US由3000000改为2即可6000000,闪烁频率改为1.2秒,更适合人眼观察。3、以上修改完成后,保存。Windows下直接编译烧录。重启开发板,开发板上的蓝色指示灯开始闪烁。打开串口,很多信息不断涌现,包括时间、内存、任务等信息。准备工作完成后,您就可以欣赏DevEcoDeviceTool2.1Beta1可视化解析的亮点了。点击DevecoHome首页侧边栏的“Profiling”,在Profiling页面点击“Livecapture”,会弹出开发板的串口设置选项。您无需更改并选择默认值。继续点击“Capture”进入可视化分析页面。注意开发板的串口不能被占用,否则无法进行可视化分析。Heap:实时统计应用堆内存的当前使用情况和历史峰值。横坐标为时间信息,精确到毫秒,数据每150毫秒更新一次。(peakusage:86172usage:70988)Stack:统计应用中各个任务的内存使用情况,可以通过任务内存的峰值比例(Peak%)查看具体任务的内存使用情况,从而进行内存分配每个任务的大小更合理。LED灯控制的LedTask任务内存使用率为72.7%。单击每个任务左侧的加号以显示单个任务的可视化。OSObjects:统计系统资源的使用情况,如定时器、任务、队列等的数量。Allinone:统计Heap和Stack的使用情况,实时动态刷新。同时,Profiling还支持导出当前时间段的统计数据。文件格式为“Excel”和“Json”。导出后,您可以通过其他方式继续查看和准确分析。更多信息请访问:Harmonyos.51cto.com,与华为官方合作打造的鸿蒙技术社区
