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 的自动下载安装。
二、支持多种类型的开发板和芯片
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 目前支持的所有开发板和芯片。
三、集成设备开发样例
为帮助提升开发效率,DevEco Device Tool 集成了 OpenHarmony 社区的设备开发样例,让开发者无需从零开始敲代码,可快速上手。开发者在创建工程时根据需要选择开发样例,即可一键快速拉取源码。
具体使用方法:
- 在 DevEco Device Tool 工具界面,选择“QUICK ACCESS > DevEco Home > Home”,然后点击 Create Project 进入创建工程的向导界面。
- 输入工程名称,在 Bundle 下拉栏中选择需要的设备开发样例。Device Tool 会根据所选的开发样例自动填写 MCU 和开发板信息。
点击 Finish,DevEco Device Tool 自动拉取开发样例完成工程创建。
目前已集成了 47 个不同产品的样例,后续会有越来越多的样例逐渐上架,形成标准的资源中心。开发者也可以将自己的样例上传到 OpenHarmony 社区参与样例共建哦!
样例共建链接:https://gitee.com/openharmony...四、多人共享的远程开发模式
在开发过程中,开发者可能都遇到过开发环境不够用、与同事争抢同一套开发环境的窘迫场景。DevEco Device Tool 提供多人共享开发的功能,支持一个团队共用一台服务器。只需搭建一台公共的 Linux 服务器,团队成员即可从自己的 Windows 机器远程登录 Linux 服务器,进行共享开发。既节省了时间,也降低了成本。
具体使用方法:
点击 VSCode 左侧的图标,进入远程资源管理器界面,添加远程服务器(即 Linux 服务器)。添加成功后,管理员登录远程服务器通过 sudo 命令进行初始配置后,团队成员即可通过 Remote SSH 登录远程服务器,进行共享开发了。
五、自动检测和补全编译工具链
在日常开发中,你是否遇到过因工具缺失导致编译失败?然后到处查找工具,找到后又要学习怎么安装,安装后还需要配置工具链,操作繁琐,费时费力。
DevEco Device Tool 贴心地为开发者集成了丰富多样的编译工具链。导入工程时,DevEco Device Tool 自动检测工程所依赖的工具是否完备。如果存在工具缺失,可一键下载和安装所有缺失的工具,且自动完成工具链配置,大幅度减少编译复杂度,提高工作效率。
具体使用方法:
- 导入工程后,在 DevEco Device Tool 工具界面,选择“QUICK ACCESS > DevEco Home > Projects”,然后点击 “Settings”进入工程配置界面。
- 在工程配置界面,点击“toolchain”页签下的“Details”,详细查看缺失了哪些工具。
在工程配置界面,点击“toolchain”页签下的“Setup”,一键下载和安装所有缺失的工具。
六、源码级调试能力
在开发过程中,调试能力尤为重要,一个好用的调试功能能够帮助开发者事半功倍地完成开发任务。
DevEco Device Tool 提供自研调试插件,为开发者提供源码级调试能力。调试界面如下图所示:
提供的源码级调试能力包括:
● 支持 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%)查看具体任务的内存使用情况,以便更合理的分配每个任务的内存大小。
● OS Objects:统计系统资源的使用情况,如定时器(timers)、任务(tasks)、队列(queues)等数量。
● All in one:统计 Heap 和 Stack 的使用情况,实时动态刷新。
2. 栈分析和镜像分析
DevEco Device Tool 通过集成栈分析工具(Stack Analysis)和镜像分析工具(Image Analysis),用于开发过程中的内存不足、内存溢出等问题进行分析,帮助开发者更加精准的分析、定位问题。
栈分析工具是基于静态二进制分析手段,提供任务栈开销估算值和函数调用关系图示,为栈内存使用、分析、优化、问题定位等开发场景提供较为准确的静态内存分析数据参考。镜像分析工具对工程构建出的elf文件进行内存占用分析,支持开发者快速评估内存段、符号表使用情况。
(目前 DevEco Device Tool 只支持只支持 Hi3861V100 开发板的栈分析和镜像分析功能。)
3. Trace分析
DevEco Device Tool 提供 Trace 分析功能,可以实时跟踪应用在开发板上运行时的 CPU 的用率、内存占用、运行的任务或事件。开发者可以在任意时刻开始或停止记录 Trace,并以图形化形式展示事件、内存、CPU、运行轨迹等信息。开发者可以根据采集的跟踪数据查看导致内存或 CPU 异常的事件或进程,从而进行源代码的优化。
(目前DevEco Device Tool只支持Hi3516DV300和Hi3518EV300的Trace分析功能。)
4. Perf分析
DevEco Device Tool 提供 Perf 分析功能,可以通过对开发板源码进行事件采样,获取 CPU 硬件事件、高精度周期事件、OS 软件事件,生成 Perf 文件。Perf 分析器对输出的 perf 文件进行热点函数和热点路径分析。基于 Perf 分析,可以进行算法优化、代码优化,以提高执行速度、减少内存占用。
(目前DevEco Device Tool只支持Hi3516DV300和Hi3518EV300的Perf分析功能。)
八、应用兼容性测试
为了保证合作伙伴的设备和应用在 OpenHarmony 上能稳定地运行,同时提供一致性的接口和业务体验,合作伙伴的设备和应用在正式发布之前,需要进行一系列兼容性测试。
DevEco Device Tool 提供基于 Hi3516DV300 开发板的应用兼容性测试功能。开发者可以在 Linux 系统上一站式完成开发和应用兼容性测试,无需将编译生成文件拷贝到 Windows 工作台,即可通过命令行进行测试。
具体使用方法:点击 Acts Test 进入配置页,在配置一系列参数后保存后,通过 PROJECT TASKS 中的 Test 按钮,执行对应的模块按钮后,会自动进行应用兼容性测试并将测试结果显示到浏览器中。
想要更多了解和体验DevEco Device Tool
欢迎获取工具和工具使用指南。
https://docs.openharmony.cn/p...