源码调试MicroPython

/ 1评 / 0

有时候想做一个C扩展在MicroPython封装下,之前做扩展都是在单片机普通开发环境做完,再移动到mpy里修改一些对接的地方,我在想,能不能直接开发模块,然后直接在上面调试呢,说干就干.

我用VSC环境配置,之前用CLion总能识别太多目标而且传递参数时候似乎有问题,还不知道为什么.

新建tasks.json这是用于控制编译构建步骤的.

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Build Project",
            "type": "shell",
            "command": "make",
            "args": [
                "-C",
                "ports/rp2",
                "BOARD=RPI_PICO2_W",
                "DEBUG=1",
                "USER_C_MODULES=../../examples/usercmodule"
            ]
        }
    ]
}

之后再新建一个launch.json来调试.

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Cortex-Debug",
            "cwd": "${workspaceRoot}",
            "executable": "${workspaceRoot}/ports/rp2/build-RPI_PICO2_W/firmware.elf",
            "request": "launch",
            "type": "cortex-debug",
            "servertype": "openocd",
            "configFiles": [
                "${workspaceRoot}/openocd.cfg"
            ],
            "gdbPath": "/usr/bin/gdb-multiarch",
            "runToEntryPoint": "main",
            "preLaunchTask": "Build Project"
        }
    ]
}

最后就是调试.

其实就是这么简单,结果搞了一个下午,主要是在Windows下构建时,PICO SDK本身用于其他项目都是正常的,到这里他就蒙了,在MSYS2环境里就出现找不到Windows格式路径,在Windows格式里就找不到MSYS2风格的路径,感觉比较混乱.但是如果你只是干普通的项目,却不会有任何问题.

文件明明就是存在的,无解,pico-example和pico-extras里的各种项目都轮了一遍都是正常的,不管是MSYS2还是直接原生构建.

  1. 22fn说道:

    代码真工整

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注