摘要:本文会给大家介绍下 LiteOS Studio 的调测的几个知识点,包含: 调测配置,监督变量,反汇编代码同步展现,数值进制切换,跨平台编译调测,Qemu 模拟器调测,多核调测,近程设施调测等。
把握一款 IDE 的图形化调测能力的重要性显而易见,是 IT 打工人必备的技能,而把握 LiteOS Studio 的图形化调测能力,是 LiteOS 物联网开发的必备技能。本文会给大家介绍下 LiteOS Studio 的调测的几个知识点,包含: 调测配置,监督变量,反汇编代码同步展现,数值进制切换,跨平台编译调测,Qemu 模拟器调测,多核调测,近程设施调测等。
如果没有表明,本文所演示的工程均为 LiteOS 开源工程,https://gitee.com/LiteOS/LiteOS。
LiteOS Studio 调测配置
HUAWEI LiteOS Studio 调测配置非常简单,对于在 LiteOS Studio 上编译的 STM32 开发板工程,反对一键开启图形化单步调试。除了应用默认调测配置,LiteOS Studio 提供调测配置界面供用户进行定制。关上 LiteOS Studio 工程,点击工程配置界面上的调试器,如下图,反对配置项有调试器、连贯形式、连贯速率、调试器目录、GDB 目录、可执行文件门路、调试模式配置、工程源码是否通过磁盘映射等。抉择的调试器不同,配置项会有差别。
- 调试器配置项
依据理论状况抉择 JLink、OpenOCD 或者 Simulator。抉择什么调测器,取决于开发板反对什么调试器,并装置相应的调试器软件。如果开发板应用 JLink 仿真器,则依据状况装置 JLink 软件,从 https://www.segger.com/downlo… 下载,并按装置向导实现最新版 JLink 的装置;如果开发板板载 St-link 仿真器,倡议应用 https://www.segger.com/downlo… ST-Link Reflash Utility 工具刷成 Jlink,应用 Jlink 仿真器进行调测;如果是 Qemu 仿真工程,调试器须要抉择为 Simulator。
- 连贯形式配置
依据需要抉择 SWD 或 JTAG,连贯速率能够默认或者自行指定
- 调试器目录配置
须要抉择适宜开发板工程的调试器软件目录。
如果调试器抉择了 JLink,须要指定 JLink 的具体装置目录(默认为 C:Program Files (x86)SEGGERJLink),如果与理论装置目录不统一,调试可能失败,端口默认抉择 USB。
如果调试器抉择了 OpenOCD,须要指定 OpenOCD 的具体装置目录。还须要指定 Interface、Target 文件。
如果调试器抉择了 Simulator,须要指定 Qemu 的具体装置目录(默认为 C:Program Filesqemu)。
- GDB 目录配置
GDB 目录配置为穿插编译工具链的 gdb.exe 所在的目录,能够配置默认,或者自行指定。
- 可执行文件门路配置项
实现编译后,可填入 elf 文件所在门路,或点击浏览图标进行手动设置,也能够点击下拉菜单抉择主动匹配的可执行文件。
- 调试模式配置
- 复位调试 会主动重启开发板,并进行在 main 函数
- 附加调试 不重启开发板,附加到以后程序过程
配置好后点击确认按钮进行保留,会依据用户指定的设置主动生成调测配置.vscodelaunch.json。
LiteOS Studio 调测执行
在调试配置结束后,点击绿色三角按钮开始调试。调试时,须要把握的几个知识点: 蕴含监督变量、反汇编代码同步展现,数值进制切换。
- 监视器监督变量
在调测时,在 Watch 监视器查看变量是十分有用的个性,也反对查看结构化的变量,比方监督 g_taskCBArray 变量,及下一个工作 g_taskCBArray+1,如下图:
- 反汇编代码同步展现
对于 LiteOS 开源工程,在调测时,默认开启了同时显示源代码和反汇编代码。如下图
以后函数执行到源代码的第 107 行,在反汇编文件中显示以后的源代码行数、源代码及对应的反汇编代码。调测时,提供了便当,不仅仅关注源代码同时关注反汇编代码。
如果不须要关注反汇编代码,也能够手工敞开该选项, 关上.vscodelaunch.json,设置 showDisassemble 为 false:
“showDisassemble”: false,
- 数值进制切换
在调测过程中,变量的数值可能是 10 进制进行展现的,如果想查看其余进制展现的数值,能够在调测界面的监视器窗口输出变量名称名称 + 进制代码来切换进制查看,如 memStart,x 来查看变量 memStart 的 16 进制。如图:
具体的进制代码如下,能够别离到切换 16 进制、有符号数字、无符号、八进制、二进制、地址值等:
除了应用监视器,还能够在调测控制台的输出窗口,输出 p / 进制代码 变量名来按指定的格局来输入变量数值。
LiteOS Studio 跨平台编译调测
有些开发场景是,在 Linux 环境上开发、编译 LiteOS 工程,然而想应用 LiteOS Studio 在 Windows 环境进行烧录和调测。对于这种跨平台进行编译调测,LiteOS Studio 是反对的。咱们在 Linux 上编译胜利:
磁盘映射 Linux 目录 /home/z0037XXXX/OSS_LiteOS/Huawei_LiteOS 到 Windows 目录 Z:OSS_LiteOSHuawei_LiteOS。应用 LiteOS Studio 关上这个工程,设置烧录器、调试器。烧录胜利后,执行调测,如下图,能够看出只显示反汇编文件,看不到源代码。
这是因为编译的目录和工程源码目录不对应导致的,对于这种状况,调测设置里配置下磁盘映射信息即可:
设置结束磁盘映射,保留,从新调测,即可失常显示源代码:
LiteOS Studio Qemu 模拟器调测
对于 LiteOS 仿真工程,具体的信息请参考《基于 LiteOS Studio 零老本学习 LiteOS 物联网操作系统》,地址为
https://bbs.huaweicloud.com/b…。
LiteOS Studio 多核调测
对于有些带有多个核的开发板,比方有 Application 核、Protocol 核、Security 核的 NB IoT 开发板,LiteOS Studio 也是反对同时调测多个核的。NB IoT 工程曾经实现相应的适配,装置相应的扩大即可。
LiteOS Studio 近程设施调测
对于 Jlink 调测设施,LiteOS Studio 也反对近程调测这些设施。在两台电脑上,开发板连贯在其中一台开发板上,LiteOS Studio 装置在另外一台电脑上,两台电脑均须要装置 JLink 软件,放弃最新且版本统一。
- 启动 JLink 近程服务器
在连贯开发板的电脑上,在 JLink 装置目录下,手动启动 JLinkRemoteServer.exe 应用程序,进行如下设置,即可期待用户连入:
- 应用 HUAWEI LiteOS Studio 近程烧录
在无开发板、装置 LiteOS Studio 的电脑上,等编译生成烧录文件后,关上工程配置 -> 烧录器, 抉择 JLink 烧录形式,抉择端口为 IP,并填入近程 JLink 地址,近程 JLink 地址填写近程服务器 IPv4 地址:
烧录器界面配置实现后点击确认按钮,再点击工具栏上的烧录按钮即可执行近程烧录工作。
- 应用 HUAWEI LiteOS Studio 近程调试
同上,关上工程配置 -> 调试器, 抉择 JLink 调试形式,抉择端口为 IP,并填入近程 JLink 地址,近程 JLink 地址填写近程服务器 IPv4 地址。
实现配置并确认后,点击调试按钮执行近程调试工作。调测过程、步骤和开发板在本地统一。
把握了这些调测的技巧,如果你的开发板反对调测,就试试 LiteOS Studio 吧。也欢送大家分享应用 LiteOS Studio 调测的心得,有任何问题、倡议,都能够留言给咱们 https://gitee.com/LiteOS/Lite…。谢谢。
本文分享自华为云社区《LiteOS Studio 图形化调测能力,物联网打工人必备》,原文作者:zhushy。
点击关注,第一工夫理解华为云陈腐技术~