DevEco Device Tool迎来了2.1 Beta1,新版本有很多亮点。在上次“DevEco Device Tool 2.1 Beta1 的Hi3861在Windows平台的编译体验 ”(https://harmonyos.51cto.com/posts/4027)中,我们已经体验了HI3861在Windows平台的编译亮点及工具链管理功能的亮点,这次,来体验一下HI3861开发板在Windows平台的可视化分析这个亮点。润和的HiSpark_Wifi_IoT开发板和小熊派的BEARPI HM_Nano开发板使用的都是海思的Hi3861V100芯片,手头有小熊派的BEARPI HM_Nano开发板,就用它来做体验。

开发者在Hi3861开发板上开发应用程序时,需关注内存的分配和使用情况。DevEco Device Tool 2.1 Beta1新增了可视化分析功能——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)另外,小熊派板载指示灯是GPIO
2,只需将“applications\sample\wifi-iot\app\iothardware\led_example.c”的#define
LED_TEST_GPIO改为2,同时将LED_INTERVAL_TIME_US
由3000000改为6000000,闪烁频率改为为1.2秒一次,更适合人眼观察。

3.上述几处修改完成后,保存。直接在Windows下编译,烧录。重启开发板,板载蓝色指示灯开始闪烁。打开串口,大量信息不断涌现,有时间,内存,任务等信息。

准备工作完成后,就可以畅快淋漓地体验DevEco Device Tool 2.1 Beta1可视化分析的亮点。

在主页Deveco Home点击侧边栏的“Profiling”,Profiling页面点击“Live
capture”,弹出开发板的串口设置选项,无需改动选择默认值就行,继续点击“Capture”,就进入可视化分许页面。注意开发板的串口不能被占用,不然无法进行可视化分析。

Heap:实时统计应用堆内存当前的使用情况和历史峰值情况,横坐标是时间信息,精确到毫秒,每150毫秒数据更新一次。(peak usage :86172      usage : 70988)

Stack:统计应用内各任务的内存使用情况,可以通过任务内存的峰值比例(Peak%)查看具体任务的内存使用情况,以便更合理的分配每个任务的内存大小。LED灯控制的LedTask 任务内存使用比例为72.7%。点击各个任务左边的加号,就可以展示单独任务的可视化。

OS Objects:统计系统资源的使用情况,如定时器(timers)、任务(tasks)、队列(queues)等数量

All in one:统计Heap和Stack的使用情况,实时动态刷新。

同时,Profiling还支持导出当前时间段的统计数据,文件格式为”Excel”和”Json”两种格式,导出后,可以继续用其它方式查看和精确分析。

源程序和导出Excel文件下载

作者:鸿联

想了解更多内容,请访问51CTO和华为合作共建的鸿蒙社区:https://harmonyos.51cto.com

DevEco Device Tool 2.1 Beta1在Hi3861开发板上可视化分析的体验的更多相关文章

  1. DevEco Device Tool 2.1 Beta1 的Hi3861在Windows平台的编译体验

    DevEco Device Tool迎来了2.1 Beta1,其中的亮点之一是:支持Hi3861开发板的源码在Windows平台编译.带着浓厚的兴趣,第一时间做了一次体验. 首先在官网下载" ...

  2. Harmony OS 开发避坑指南——DevEco Device Tool 安装配置

    Harmony OS 开发指南--DevEco Device Tool 安装配置 本文介绍如何在Windows主机上安装DevEco Device Tool工具. 坑点总结: 国内部分网络环境下,安装 ...

  3. DevEco Device Tool 3.0 Release 新版本发布,支持多人共享开发

    DevEco Device Tool 是面向智能设备开发者提供的一站式集成开发环境,支持 HarmonyOS Connect 的组件按需定制,支持代码编辑.编译.烧录和调试.性能监测等功能,支持 C/ ...

  4. RK30SDK开发板驱动分析(一):platform device 的概念与注册

    做过51单片机或者ARM开发的人都知道,单片机内部都有自己的“片内外设”,比如UART,比如I2C,比如SPI等等... 写单片机程序的时候,比如对于UART的驱动,我们都是在程序中直接写一套函数,来 ...

  5. 解决微信开发工具上trace无法检测到设备,一直停留在“正在搜索设备...”或者trace panel,choose device老出现device not found

    性能 Trace 工具 微信 Andoid 6.5.10 开始,我们提供了 Trace 导出工具,开发者可以在开发者工具 Trace Panel 中使用该功能. 使用方法 PC 上需要先安装 adb  ...

  6. 【资源下载】Linux下的Hi3861一站式鸿蒙开发烧录(附工具)

    下载附件 2021春节前夕,华为发布了 HUAWEI DevEco Device Tool 2.0 Beta1,整体提供了异常强大的功能.得知消息后,我在第一时间带着无比兴奋的心情下载尝鲜,但结果却是 ...

  7. 乘风破浪,遇见华为鸿蒙智能终端系统(HarmonyOS 2),打造面向全场景的分布式操作系统

    什么是鸿蒙智能终端系统(HarmonyOS 2) HarmonyOS 是新一代的智能终端操作系统,为不同设备的智能化.互联与协同提供了统一的语言.带来简洁,流畅,连续,安全可靠的全场景交互体验. ht ...

  8. 痞子衡嵌入式:恩智浦MCU安全加密启动一站式工具NXP-MCUBootUtility用户指南

    NXP MCU Boot Utility English | 中文 1 软件概览 1.1 介绍 NXP-MCUBootUtility是一个专为NXP MCU安全加密启动而设计的工具,其特性与NXP M ...

  9. 【开发实录】在鸿蒙开发板上使用websocket(移植自librws库)

    librws: Tiny, cross platform websocket client C library 相关代码可在下面下载,也可进入librws: 将librws移植到鸿蒙Hi_3861开发 ...

随机推荐

  1. Flutter,Weex,React Native比较

  2. 【odoo14】第二十一章、性能优化

    通过odoo框架,我们可以开发大型且复杂的应用.良好的性能是实现这一目标的基础.本章,我们将探讨如何提高应用性能.同时,我们也会讲解找出影响性能的因素. 本章包含以下内容: 记录集的预读取模式 将数据 ...

  3. Shuffle Card HDU - 6707

    题目链接:https://vjudge.net/problem/HDU-6707 题意:给你一个数组a[ ](a[1]=1,a[2]=2.....a[n]=n),然后m次操作,每次把那个数拿到最前面去 ...

  4. OpenCV图像处理中“投影技术”的使用

           本文区分"问题引出"."概念抽象"."算法实现"三个部分由表及里具体讲解OpenCV图像处理中"投影技术" ...

  5. 文件查找工具 find 详解(附:生产示例)

    1. 文件查找:在文件系统上查找符合条件的文件 命令 解释 which 查看可执行文件的位置,只能寻找执行文件,并在PATH变量里面寻找 whereis 查看文件的位置:只能查二进制文件,说明文档,源 ...

  6. 神奇的魔方阵--(MagicSquare)(1)

    本篇文章只对奇数阶以及偶数阶中阶数n = 4K的魔方阵进行讨论.下面就让我们进入正题: 1 :魔方阵的相关信息:(百度百科) https://baike.baidu.com/item/%E9%AD%9 ...

  7. 下拉框动态显示options遇到的问题

    百度后发现,目前资源比较多的就是layui和bootstrap这两种框架了,我是用的bootstrap-select,不知道为啥使用layui的formselect,引入css和js文件后,在sele ...

  8. B1029/A1048 旧键盘损坏了,在输入一段文字时坏了的键不可以正常使用,现给出应输入的一段文字,和实际输出的文字,找出坏掉的键。

    #include<cstdio> #include<cstring> const int maxn = 1000; bool HashTable[maxn] = { false ...

  9. Spring(四)Spring JdbcTemplate&声明式事务

    JdbcTemplate基本使用 01-JdbcTemplate基本使用-概述(了解) JdbcTemplate是spring框架中提供的一个对象,是对原始繁琐的Jdbc API对象的简单封装.spr ...

  10. FastAPI项目实战:"异步"接口测试"平台"

    apiAutoTestWeb 是什么? apiAutoTest接口自动化测试工具的可视化版本,将原本对用例的操作转移到Web页面之上 用什么实现? 接口自动化测试:大体上测试逻辑将采用apiAutoT ...