0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DevEco Device Tool为开发者主要提供了八大特性

OpenAtom OpenHarmony 来源:OpenAtom OpenHarmony 作者:OpenAtom OpenHarmony 2022-06-14 11:48 次阅读

DevEco Device Tool 为设备开发者提供一站式的开发环境和资源获取通道,实现了从芯片模板工程创建、到开发资源挑选定制,再到快速编码、轻小型系统调试调优、烧录环节的全流程覆盖,帮助开发者实现 OpenAtom OpenHarmony(以下简称“OpenHarmony”)智能硬件设备的高效开发。自2020 年 9 月发布了第一个版本 V1.0.0,到 2022 年 3 月底发布了 V3.0 Release 版本,历经 10 次迭代升级,DevEco Device Tool 为开发者主要提供了以下八大特性。

一、一体化安装导航

设备开发过程中依赖的软件比较多,而且不同的软件还存在多种版本,这在一定程度上加大了搭建开发环境的难度,导致部分开发者由于环境安装遇到的问题被劝退。

DevEco Device Tool 为开发者提供一体化安装导航功能,自动对依赖的软件进行检测,并针对缺失的软件提供推荐的软件版本。开发者只根据提示进行勾选,即可自动下载和安装软件,提高用户的安装体验和便利性。

比如,图 1 表示安装器检测到 Python 环境缺失,开发者可通过勾选完成 Python 的自动下载安装。

c7c4c470-eb19-11ec-ba43-dac502259ad0.png

图1 安装提示

二、支持多种类型的开发板和芯片

DevEco Device Tool 目前支持基于华为海思芯片的 Hi3516DV300、Hi3518EV300、Hi3861V100、BearPi-HM Nano 开发板,以及基于三方厂商芯片的 Imx6ull、Rtl8720、Xr872、Neptune 等,总计 24 款开发板。未来,DevEco Device Tool 还将增加对更多开发板的全面支持。

如图 2 所示,在 DevEco Device Tool 工具界面,选择“QUICK ACCESS > 主界面 > 开发板”,即可查看 DevEco Device Tool 目前支持的所有开发板和芯片。

c81af4d0-eb19-11ec-ba43-dac502259ad0.png

图2 当前支持的开发板

三、集成设备开发样例

为帮助提升开发效率,DevEco Device Tool 集成了 OpenHarmony 社区的设备开发样例,让开发者无需从零开始敲代码,可快速上手。开发者在创建工程时根据需要选择开发样例,即可一键快速拉取源码。

具体使用方法:

1.在 DevEco Device Tool 工具界面,选择“QUICK ACCESS > DevEco Home > Home”,然后点击 Create Project 进入创建工程的向导界面。

2.输入工程名称,在 Bundle 下拉栏中选择需要的设备开发样例。Device Tool 会根据所选的开发样例自动填写 MCU 和开发板信息

3.点击 Finish,DevEco Device Tool 自动拉取开发样例完成工程创建。

c826e83a-eb19-11ec-ba43-dac502259ad0.gif

图3 选择开发样例

目前已集成了 47 个不同产品的样例,后续会有越来越多的样例逐渐上架,形成标准的资源中心。开发者也可以将自己的样例上传到 OpenHarmony 社区参与样例共建哦!

样例共建链接:

https://gitee.com/openharmony-sig/knowledge/blob/master/docs/co-construct_demos/README_zh.md

四、多人共享的远程开发模式

在开发过程中,开发者可能都遇到过开发环境不够用、与同事争抢同一套开发环境的窘迫场景。DevEco Device Tool 提供多人共享开发的功能,支持一个团队共用一台服务器。只需搭建一台公共的 Linux 服务器,团队成员即可从自己的 Windows 机器远程登录 Linux 服务器,进行共享开发。既节省了时间,也降低了成本。

具体使用方法:

点击 VSCode 左侧的c86e0df0-eb19-11ec-ba43-dac502259ad0.jpg图标,进入远程资源管理器界面,添加远程服务器(即 Linux 服务器)。添加成功后,管理员登录远程服务器通过 sudo 命令进行初始配置后,团队成员即可通过 Remote SSH 登录远程服务器,进行共享开发了。

c87f5f38-eb19-11ec-ba43-dac502259ad0.gif

图4 多人共享开发

五、自动检测和补全编译工具链

在日常开发中,你是否遇到过因工具缺失导致编译失败?然后到处查找工具,找到后又要学习怎么安装,安装后还需要配置工具链,操作繁琐,费时费力。

DevEco Device Tool 贴心地为开发者集成了丰富多样的编译工具链。导入工程时,DevEco Device Tool 自动检测工程所依赖的工具是否完备。如果存在工具缺失,可一键下载和安装所有缺失的工具,且自动完成工具链配置,大幅度减少编译复杂度,提高工作效率。

具体使用方法:

1.导入工程后,在 DevEco Device Tool 工具界面,选择“QUICK ACCESS > DevEco Home > Projects”,然后点击 “Settings”进入工程配置界面。

2.在工程配置界面,点击“toolchain”页签下的“Details”,详细查看缺失了哪些工具。

3.在工程配置界面,点击“toolchain”页签下的“Setup”,一键下载和安装所有缺失的工具。

c8db9820-eb19-11ec-ba43-dac502259ad0.gif

图5 自动检测和补全编译工具链

六、源码级调试能力

在开发过程中,调试能力尤为重要,一个好用的调试功能能够帮助开发者事半功倍地完成开发任务。

DevEco Device Tool 提供自研调试插件,为开发者提供源码级调试能力。调试界面如下图所示:

c911330e-eb19-11ec-ba43-dac502259ad0.png

图6 调试界面

提供的源码级调试能力包括:

●支持 Launch 和 Attach 两种方式启动调试。

●支持的调试操作有:单步调试、方法进入、方法退出、Continue、Restart(复位调试)、Reset device(复位设备)、停止调试。

●支持设置断点,包括源码断点、数据断点、函数断点和汇编源码断点。

●支持查看和修改局部变量(Local)、全局变量(Global)、静态变量(Static)和通用寄存器(Registers),还支持将关心的变量添加到“监视”任务栏,随时查看变量值变化。

●支持在调试过程中同时查看当前执行的源代码和对应的汇编代码,且支持对汇编代码设置断点和单步调试。

●支持调试过程中查看调用栈。

●支持根据地址查看内存。

七、性能分析能力

在轻量设备开发过程中,时常会面临 CPU 紧张、内存不足、内存溢出等问题,因此开发者在开发过程中需要时刻关注 CPU 和内存等的使用情况。

为帮助开发者提升性能,DevEco Device Tool 提供以下性能分析能力:

1. Profiling可视化分析

DevEco Device Tool 提供 Profiling 可视化分析功能,通过可视化的界面展示开发板上运行的应用所占系统资源和内存资源的信息,帮助开发者查看和分析开发板上各任务堆内存和栈内存的使用情况。

可查看的可视化数据曲线包括 Heap(堆内存)、Stack(栈内存)、OS Objects(系统资源)和 All in one(实时的内存占用情况)的使用情况。

● Heap:实时统计应用堆内存当前的使用情况和历史峰值情况。

● Stack:统计应用内各任务的内存使用情况,可以通过任务内存的峰值比例(Peak%)查看具体任务的内存使用情况,以便更合理的分配每个任务的内存大小。

c97396ac-eb19-11ec-ba43-dac502259ad0.png

图7 Stack(栈内存)

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

c97fcecc-eb19-11ec-ba43-dac502259ad0.png

图8 OS Objects(系统资源)

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

c9cb861e-eb19-11ec-ba43-dac502259ad0.gif

图9 All in one

2. 栈分析和镜像分析

DevEco Device Tool 通过集成栈分析工具(Stack Analysis)和镜像分析工具(Image Analysis),用于开发过程中的内存不足、内存溢出等问题进行分析,帮助开发者更加精准的分析、定位问题。

栈分析工具是基于静态二进制分析手段,提供任务栈开销估算值和函数调用关系图示,为栈内存使用、分析、优化、问题定位等开发场景提供较为准确的静态内存分析数据参考。镜像分析工具对工程构建出的elf文件进行内存占用分析,支持开发者快速评估内存段、符号表使用情况。

ca1cf896-eb19-11ec-ba43-dac502259ad0.gif

图10 栈分析和镜像分析

(目前 DevEco Device Tool 只支持只支持 Hi3861V100 开发板的栈分析和镜像分析功能。)

3. Trace分析

DevEco Device Tool 提供 Trace 分析功能,可以实时跟踪应用在开发板上运行时的 CPU 的用率、内存占用、运行的任务或事件。开发者可以在任意时刻开始或停止记录 Trace,并以图形化形式展示事件、内存、CPU、运行轨迹等信息。开发者可以根据采集的跟踪数据查看导致内存或 CPU 异常的事件或进程,从而进行源代码的优化。

ca30e3d8-eb19-11ec-ba43-dac502259ad0.gif

图11 Trace分析

(目前DevEco Device Tool只支持Hi3516DV300和Hi3518EV300的Trace分析功能。)

4. Perf分析

DevEco Device Tool 提供 Perf 分析功能,可以通过对开发板源码进行事件采样,获取 CPU 硬件事件、高精度周期事件、OS 软件事件,生成 Perf 文件。Perf 分析器对输出的 perf 文件进行热点函数和热点路径分析。基于 Perf 分析,可以进行算法优化、代码优化,以提高执行速度、减少内存占用。

ca985a7c-eb19-11ec-ba43-dac502259ad0.png

图12 Perf分析

(目前DevEco Device Tool只支持Hi3516DV300和Hi3518EV300的Perf分析功能。)

八、应用兼容性测试

为了保证合作伙伴的设备和应用在 OpenHarmony 上能稳定地运行,同时提供一致性的接口和业务体验,合作伙伴的设备和应用在正式发布之前,需要进行一系列兼容性测试。

DevEco Device Tool提供基于 Hi3516DV300 开发板的应用兼容性测试功能。开发者可以在 Linux 系统上一站式完成开发和应用兼容性测试,无需将编译生成文件拷贝到 Windows 工作台,即可通过命令行进行测试。

具体使用方法:点击 Acts Test 进入配置页,在配置一系列参数后保存后,通过 PROJECT TASKS 中的 Test 按钮,执行对应的模块按钮后,会自动进行应用兼容性测试并将测试结果显示到浏览器中。

caa70b62-eb19-11ec-ba43-dac502259ad0.gif

图13 应用兼容性测试

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开发板
    +关注

    关注

    25

    文章

    5050

    浏览量

    97482
  • python
    +关注

    关注

    56

    文章

    4797

    浏览量

    84690
  • 开发者
    +关注

    关注

    1

    文章

    575

    浏览量

    17013

原文标题:DevEco Device Tool 助力OpenHarmony设备开发

文章出处:【微信号:gh_e4f28cfa3159,微信公众号:OpenAtom OpenHarmony】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    HarmonyOS NEXT应用元服务开发Intents Kit(意图框架服务)事件推荐开发者测试

    意图框架向开发者提供真机测试能力,即开发者可连接设备进行调测。开发者完成代码开发之后,功能正式上架应用市场前,可以在HarmonyOS NE
    发表于 11-18 17:39

    DevEco Studio应用与服务体检工具介绍

    当前消费日益关心的安全隐私问题也提供相关检测项,帮助开发者在应用上架前尽早发现安全问题,消费
    的头像 发表于 11-05 11:39 377次阅读
    <b class='flag-5'>DevEco</b> Studio应用与服务体检工具介绍

    DevEco Studio Code Linter的使用指南

    在当今对代码质量和规范性要求日益严格的环境中,开发者亟需强大的代码检查工具来应对挑战。DevEco Studio Code Linter正是这样一款工具,它通过提升代码质量、统一代码风格,并有效检测安全漏洞和潜在bug,
    的头像 发表于 11-05 09:52 228次阅读

    KaihongOS 4.1.2开发者预览版正式上线,诚邀开发者免费试用!

    深开鸿在2024开放原子开源生态大会上正式宣布KaihongOS4.1.2开发者预览版全面上线,并向全球开发者开放免费下载。作为KaihongOS不断创新与发展的重要里程碑,此次预览版开发者
    的头像 发表于 09-28 08:07 342次阅读
    KaihongOS 4.1.2<b class='flag-5'>开发者</b>预览版正式上线,诚邀<b class='flag-5'>开发者</b>免费试用!

    KaihongOS 4.1.2开发者预览版正式上线,诚邀开发者免费试用!

    开发者提供独特的抢先体验机会,涵盖了原生应用开发、分布式能力、原子化服务等核心功能特性,助力开发者
    的头像 发表于 09-26 15:59 458次阅读

    DevEco Device Tool 如何生成静态库供第三方使用

    根据开发需要,先将应用程序打包成静态库供其他组成员使用。使用IED:DevEco Device Tool 。希望相关开发人员
    发表于 05-28 14:27

    鸿蒙原生应用元服务开发-鸿蒙真机运行项目实战与注意事项

    一、解压项目注意项目包不能为中文 二、用数据线将装好DevEco Studio的电脑与设置开发者模式的鸿蒙手机相连接。 三、将项目包托进DevEco Studio 中 注意项目包文件
    发表于 05-24 15:12

    鸿蒙OpenHarmony【轻量系统 烧录】 (基于Hi3861开发板)

    针对Hi3861开发板,除了DevEco Device Tool
    的头像 发表于 05-10 16:59 1136次阅读
    鸿蒙OpenHarmony【轻量系统 烧录】 (基于Hi3861<b class='flag-5'>开发</b>板)

    HarmonyOS开发学习:【DevEco Device Tool 安装配置(问题全解)】

    介绍如何在Windows主机上安装DevEco Device Tool工具。
    的头像 发表于 04-14 11:30 995次阅读
    HarmonyOS<b class='flag-5'>开发</b>学习:【<b class='flag-5'>DevEco</b> <b class='flag-5'>Device</b> <b class='flag-5'>Tool</b> 安装配置(问题全解)】

    亿道信息亮相瑞芯微第开发者大会

    在中国·福州举行的瑞芯微第开发者大会(RKDC 2024)上,亿道信息作为生态合作伙伴,携带一系列基于瑞芯微的加固类终端产品精彩亮相,与瑞芯微共同打造多场景应用,共启数智化未来。此次大会不仅为开发者
    的头像 发表于 03-13 11:23 732次阅读

    瑞芯微第开发者大会在福州盛大召开

    2024年3月7日至8日,备受瞩目的第届瑞芯微电子股份有限公司(简称“瑞芯微”)开发者大会(RKDC!2024)在福州隆重举行。此次大会以“AI芯片 · AI应用 · AIoT”为主题,吸引近3000名业内企业代表、
    的头像 发表于 03-13 11:15 1568次阅读

    亮钻科技受邀亮相第届瑞芯微开发者大会!

    2024年3月7日-8日,瑞芯微第开发者大会在福州喜来登隆重举行。作为国内领先的嵌入式处理器设计企业,高端智能硬件的多个领域提供专业芯片解决方案。
    的头像 发表于 03-11 14:01 710次阅读
    亮钻科技受邀亮相第<b class='flag-5'>八</b>届瑞芯微<b class='flag-5'>开发者</b>大会!

    鸿蒙DevEco Service开发准备与使用

    。 业务介绍 DevEco Service是HarmonyOS开发者云端服务中心,汇聚了丰富的资源和服务;支持在线体验多种开发场景,共建共享开发资源;并
    发表于 02-23 15:40

    DevEco Studio 4.1带来多种调试能力,助力鸿蒙原生应用开发高效调试

    目前,HarmonyOS NEXT星河预览版已经正式面向开发者开放申请,面向鸿蒙原生应用及元服务开发者提供的集成开发环境——DevEco S
    的头像 发表于 02-04 15:35 744次阅读

    软件测试的八大特性有哪些?

    软件测试是软件开发过程中重要的一环,其目的是发现软件中存在的问题,并提供解决方案。因此,软件测试的八大特性对于保证软件的质量和稳定性至关重要。 1、功能性是指软件是否按照需求文档和设计
    发表于 01-02 10:15