| title | AirMCU 的调试方法 |
|---|---|
| order | 1 |
| icon | fa fa-flask |
- 安装 VSCode
- 有一个支持的调试器,可以是 JLink,ST-Link,CMSIS-DAP 等,这里我们使用 DAPLink 作为例子
- 安装 AirMCU 的 SDK
- 安装
PyOCD
在 VSCode 的插件市场中搜索Cortex-Debug,或者在https://marketplace.visualstudio.com/items?itemName=marus25.cortex-debug安装即可。
同样,搜索 Arduino,安装Arduino插件。
安装 PyOCD 比较简单,在拥有 Python 环境的情况下,直接输入
pip install --pre -U git+https://github.com/pyocd/pyOCD.git@develop命令安装最新版的 develop 分支的即可。
不管是新建一个工程还是用之前老的工程都行,这里我们以新建工程为例。
点击F1按钮,输入Arduino: Initialize
这里输入文件名,需要注意的是,这个文件名必须和父目录的名字一样,我们这里就修改为Air001DebugTest.ino。
芯片型号我们以Air001 Dev Chip为例。
建立完成之后,我们随便写一些测试代码,例如:
void setup()
{
Serial.begin(115200);
pinMode(PB0, OUTPUT);
Serial.println("Hello World!");
}
void loop()
{
digitalWrite(PB0, HIGH);
delay(1000);
digitalWrite(PB0, LOW);
delay(1000);
}对于 Arduino Board Configuration,我们选择如下的配置:
切记,Debug symbols and logs 选项中一定要选择有带-g的选项,这样才能生成调试符号。
在自动生成的.vscode/arduino.json文件中,我们需要添加一个属性output,这样才能获得编译出来的文件,一个典型的配置如下:
{
"sketch": "Air001DebugTest.ino",
"configuration": "UploadSpeed=115200,ClockSourceAndFrequency=HSI24M_HCLK48M,LowSpeedClockSource=None,xserial=generic,dbg=enable_sym,opt=osstd,SupplyVoltage=3V3,BootConnection=defaule",
"board": "AirM2M:AirMCU:Air001Dev",
"output": "build"
}然后,我们点击上方的Upload按钮,编译并上传代码。
接下来,我们需要配置调试器,点击F1按钮,输入Debug: Add uration,然后选择Cortex-Debug。
这样,在.vscode文件夹下就会自动生成一个launch.json文件。
- 我们需要修改其中的
serverpath属性为pyocd - 添加一个
armToolchainPath属性,该属性的含义是一个arm-none-eabi-gcc套件的地址,需要注意的是其中需要包含 gbd,我们这里可以直接使用 AirMCU sdk 自带的, - 添加
targetId属性,属性的值为 pyocd 的 target 的 Part Number,我们这里使用Air001。 - 修改
executable属性,属性的值为编译出来的 elf 文件的地址,我们这里使用${workspaceRoot}/build/Air001DebugTest.ino.elf。 - 修改
runToEntryPoint属性,该属性为调试时自动运行到入口点,我们这里设置为setup。
最后,我们点击 vscode 左边的运行与调试图标,或者是直接按F5,就可以开始调试了。
享受调试的乐趣吧!




