物联网工作者必备 : LiteOS Studio图形调试能力

首页 » 物联网 » 物联网工作者必备 : LiteOS Studio图形调试能力

本文将为大家介绍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目录、可执行文件路径、调试模式配置、项目源代码是否磁盘映射。选择的调试器不同,配置项也会不同。

物联网工作者必备 : LiteOS Studio图形调试能力

  • 调试器配置项

根据实际情况选择JLink、OpenOCD或者Simulator。选择什么调测器,取决于开发板支持什么调试器,并安装相应的调试器软件。如果开发板使用JLink仿真器, 则根据情况安装JLink软件, 从 https://www.segger.com/downloads/jlink/ 下载,并按安装向导完成最新版JLink的安装;如果开发板板载St-link仿真器,建议使用 https://www.segger.com/downloads/jlink#STLink_Reflash ST-Link Reflash Utility工具刷成Jlink,使用Jlink仿真器进行调测; 如果是Qemu仿真工程,调试器需要选择为Simulator。

  • 连接方式配置

根据需求选择SWD或JTAG, 连接速率可以默认或者自行指定

  • 调试器目录配置

选择适合开发板项目的调试器软件目录。

如果调试器选择JLink,则需要指定JLink的具体安装目录(默认为C:Program Files (x86)SEGGERJLink)。如果与实际安装目录不一致,调试可能会失败,默认端口是USB。
如果调试器选择OpenOCD,则需要指定OpenOCD的具体安装目录。您还需要指定接口和目标文件。

如果调试器选择模拟器,需要指定Qemu的具体安装目录(默认为C:Program Filesqemu)。

  • GDB目录配置

GDB目录配置为交叉编译工具链的gdb.exe所在的目录,可以配置默认,或者自行指定。

  • 可执行文件路径配置项

编译完成后,可以填写elf文件所在的路径,也可以点击浏览图标手动设置,或者点击下拉菜单选择自动匹配的可执行文件。

  • 调试模式配置
    • 复位调试 会自动重启开发板,并停止在main函数
    • 附加调试 不重启开发板,附加到当前程序进程

配置好后点击确认按钮进行保存,会根据用户指定的设置自动生成调测配置.vscodelaunch.json。

LiteOS Studio调测执行

调试配置后,单击绿色三角形按钮开始调试。调试时需要掌握几个知识点:包括监控变量、反汇编代码同步显示、数值小数切换。

  • 监视器监视变量

调试时,在Watch monitor中查看变量是一个非常有用的功能。它还支持查看结构化变量,比如监视G _ taskbarray变量和下一个任务G _ taskbarray+1。,如下图:

物联网工作者必备 : LiteOS Studio图形调试能力

  • 反汇编代码同步展示

对于LiteOS开源项目,调试时默认开启同时显示源代码和反汇编代码。如下图
当前函数执行到源代码的第107行,反汇编文件中显示当前源代码行数、源代码和对应的反汇编代码。计时提供了便利,不仅关注源代码还关注反汇编代码。

物联网工作者必备 : LiteOS Studio图形调试能力

如果不需要关注反汇编代码,也可以手工关闭该选项,打开.vscodelaunch.json,设置showDisassemble为false:

"showDisassemble": false,
  • 数值进制切换

在调试过程中,变量值可能以十进制显示。如果想查看十进制的其他显示值,可以在调试界面的监视器窗口输入变量名+十进制代码切换十进制视图,如memstart和x查看变量memStart的十六进制。如图所示:

物联网工作者必备 : LiteOS Studio图形调试能力

详细的进制代码如下,可以分别到切换16进制、有符号数字、无符号、八进制、二进制、地址值等:

物联网工作者必备 : LiteOS Studio图形调试能力

除了使用监视器,还可以在调测控制台的输入窗口,输入p/进制代码 变量名来按指定的格式来输出变量数值。

物联网工作者必备 : LiteOS Studio图形调试能力

LiteOS Studio跨平台编译调测

有些开发场景是,在Linux环境上开发、编译LiteOS工程,但是想使用LiteOS Studio在Windows环境进行烧录和调测。对于这种跨平台进行编译调测,LiteOS Studio是支持的。我们在Linux上编译成功:

物联网工作者必备 : LiteOS Studio图形调试能力

磁盘映射Linux目录/home/z0037XXXX/OSS_LiteOS/Huawei_LiteOS到Windows目录Z:OSS_LiteOSHuawei_LiteOS。使用LiteOS Studio打开这个工程,设置烧录器、调试器。烧录成功后,执行调测,如下图,可以看出只显示反汇编文件,看不到源代码。

物联网工作者必备 : LiteOS Studio图形调试能力

这是由于编译的目录和工程源码目录不对应导致的,对于这种情况,调测设置里配置下磁盘映射信息即可:

物联网工作者必备 : LiteOS Studio图形调试能力

设置磁盘映射,保存,重新调试后,可以正常显示源代码:

物联网工作者必备 : LiteOS Studio图形调试能力

LiteOS Studio Qemu模拟器调测

关于LiteOS仿真工程,详细的信息请参考 《基于LiteOS Studio零成本学习LiteOS物联网操作系统》,地址为
https://bbs.huaweicloud.com/blogs/222197 。

LiteOS Studio多核调测

对于一些多核的开发板,比如有应用核、协议核、安全核的NB物联网开发板,LiteOS Studio也支持多核同时调试。物联网项目的相应适配已经完成,可以安装相应的扩展了。

LiteOS Studio远程设备调测

对于Jlink调试设备,LiteOS Studio也支持这些设备的远程调试。在两台电脑上,开发板连接到其中一个开发板,LiteOS Studio安装在另一台电脑上。两台电脑都需要安装JLink软件,保持最新版本和同一版本。

  • 启动JLink远程服务器
    在连接到开发板的计算机上,在JLink安装目录中,手动启动JLinkRemoteServer.exe应用程序,并进行以下设置,以等待用户连接:

物联网工作者必备 : LiteOS Studio图形调试能力

物联网工作者必备 : LiteOS Studio图形调试能力

  • 使用HUAWEI LiteOS Studio远程烧录
    在没有安装开发板和LiteOS Studio的电脑上,编译生成烧录文件后,打开项目配置->编程设备,选择JLink烧录模式,选择端口为IP,填写远程JLink地址,远程JLink地址填写远程服务器的IPv4地址:

物联网工作者必备 : LiteOS Studio图形调试能力

烧录器界面配置完成后点击确认按钮,再点击工具栏上的烧录按钮即可执行远程烧录任务。

  • 使用HUAWEI LiteOS Studio远程调试
    同上,打开工程配置->调试器,选择JLink调试方式,选择端口为IP,并填入远程JLink地址,远程JLink地址填写远程服务器IPv4地址。

物联网工作者必备 : LiteOS Studio图形调试能力

配置和确认后,单击debug按钮执行远程调试任务。调试过程、步骤和开发板本地一致。

掌握这些调试技巧。如果你的开发板支持调试,试试LiteOS Studio。也欢迎大家分享用LiteOS Studio调试的经验。如果您有任何问题或建议,可以给我们留言。

https://gitee.com/LiteOS/LiteOS_Studio/issues 。谢谢。

本文章来源于互联网,如有侵权,请联系删除!