AliOS Things开发:让你的开发板支持AliOS Studio调试

AliOS Things开发:让你的开发板支持AliOS Studio调试

给AliOS Things一颗STAR(前往GitHub关注我们)


目录

简介

AliOS-Things 2.1版本之后,AliOS Studio提供了一套简单易懂的接口可以让开发者很容易适配开发板支持调试功能。可以支持大部分的调试接口:

  • ST-Link
  • JLink
  • CMSIS-DAP

AliOS Studio调试效果如下图所示:

AliOS Things开发:让你的开发板支持AliOS Studio调试

AliOS Studio调试机制

AliOS Studio主要的功能就是执行aos debug指令,aos debug然后再在后台运行gdb server,然后使用vscode-cpptools的调试能力(gdb client)来实现调试。AliOS Studio调试机制框架图如下图所示:

AliOS Things开发:让你的开发板支持AliOS Studio调试

本文将详细介绍一下如何让AliOS Studio支持你的开发板调试。

准备工作

pca10040开发板是由Nordic出品的一款搭载nRF52832的开发板,板载调试接口为jlink接口,可以通过jlink接口实现image下载,调试程序。
本示例使用pca10040开发板作为示例,实现在AliOS Studio中按F5即可开始调试pca10040的应用程序,支持windows、linux以及macOS。

准备工作

编写配置文件

aos debug命令会调用debug的配置文件来启动gdb server,我们需要编写这个配置文件来达到启动gdb server的目的,aos debug目前已经支持的开发板配置文件可以参考这里,同时,开发者也可以贡献自己适配好的json配置文件到AliOS-Things中。

debug配置文件说明

pca10040开发板的debug配置文件如下:

{
    "cmd": [
        {
            "Linux64": "JLinkGDBServerCLExe", 
            "OSX": "JLinkGDBServerCLExe", 
            "Win32": "JLinkGDBServerCL.exe"
        }, 
        "-if", 
        "swd", 
        "-device", 
        "nRF52840_xxAA", 
        "-port", 
        "4242"
    ], 
    "port": 4242, 
    "prompt": "Please INSTALL Jlink Software Package, and ADD JLink to PATH environment, check: www.github.com/alibaba/AliOS-Things/wiki/debug", 
}

配置文件参数说明

参数 说明 默认
cmd 运行的指令,指令中支持针对不同PC系统运行不用的命令:Linux64OSXWin32,支持多个参数
port gdb server监听的端口,,统一为4242 4242
prompt 当aos debug执行失败的时候,会显示prompt,用来提示用户出错原因

启动调试

编写好配置文件之后,进入AliOS Studio,按F5即可启动调试。

其他

下载JLink并配置环境变量

JLink软件包下载地址。请分别下载对应开发环境的软件包。

windows环境配置

windows环境下,需要把JLink的bin目录添加到Path环境变量,JLink 默认的bin目录为:C:\Program Files (x86)\SEGGER\JLink_V640,具体如何配置Path环境变量请参考:How to add a folder to Path environment variable

请注意JLink默认的bin目录中的JLink_V640,会根据不同的jlink版本会有所不同。设置完Path环境变量需要重启cmd、bash、vscode等,最好重启电脑。

windows环境下的JLink Commander名称为:JLink.exe。

linux/macOS环境配置

按照正常的安装流程安装即可,linux/macOS环境下的JLink Commander名称为:JLinkExe。

参考文档

上一篇:Java面试题中高级,centosdocker安装ss


下一篇:使用 yum 在 CentOS 7 上安装 MySQL 5.7