[暂时解决] wsl2 下 esp-idf 的 monitor 问题

streleizia
Posts: 4
Joined: Sat Apr 23, 2022 1:07 pm

[暂时解决] wsl2 下 esp-idf 的 monitor 问题

Postby streleizia » Sat Apr 23, 2022 1:21 pm

在wsl2中安装的idf,使用vscode 扩展,功能一切正常,但是在 monitor 时会报下列错误
xtensa-esp32-elf-addr2line -pfiaC -e build/main.elf 0x403ce000: [WinError 2] ?????????????????????????????????
芯片是 esp32c3 vscode扩展和 idf.py 中的 target 均配置正确 但是好像调用了 esp32 的addr2line工具,不想重新安装idf了,求解,ballball大佬们
Last edited by streleizia on Fri Apr 29, 2022 1:51 am, edited 1 time in total.

streleizia
Posts: 4
Joined: Sat Apr 23, 2022 1:07 pm

Re: esp-idf 的 monitor 问题

Postby streleizia » Wed Apr 27, 2022 3:10 am

[win error] 后面的 ????是 "系统找不到文件" 因为vscode的终端是UTF-8编码的,看了 github 上的doc说目前对在wsl2下的monitor功能支持不是很好,就是说因为wsl2无法访问宿主机的串口 所以 monitor.py 是运行在宿主机(即windows)的python解释器里的,但monitor.py 又要使用wsl2 里的 addr2line 工具,很明显的问题就是在 win python 环境下试图 运行 Linux 平台的 addrtoline 工具? 我尝试修改了 output_helper.py 中的lookup_pc_address 函数,将 cmd = ['%saddr2line' % toolchain_prefix, '-pfiaC', '-e', elf_file, pc_addr] 修改为
cmd = ['wsl','~/.espressif/tools/riscv32-esp-elf/esp-2021r2-patch3-8.4.0/riscv32-esp-elf/bin/'+'%saddr2line' % 'riscv32-esp-elf-', '-pfiaC', '-e', elf_file, pc_addr] 因为我 windows 上的python是32位的,不能直接用wsl.exe(64bit)所以改成了 cmd = ['C:/Windows/Sysnative/wsl.exe','~/.espressif/tools/riscv32-esp-elf/esp-2021r2-patch3-8.4.0/riscv32-esp-elf/bin/'+'%saddr2line' % 'riscv32-esp-elf-', '-pfiaC', '-e', elf_file, pc_addr] 经过修改后再调用 vscode扩展中的 monitor 功能不会报错了,但似乎功能还是不太正常,而且我对 addr2line 的功能也不是很了解,目前就这样了,起码不报红字了,强迫症一本满足

Who is online

Users browsing this forum: No registered users and 64 guests