libopencm3子模块异常:包含路径报错与PlatformIO udev规则问题
VS Code找不到libopencm3/gpio.h的解决办法
- 先确认子模块代码是否拉取完整:在项目根目录执行命令
git submodule update --init --recursive,有时候仅声明子模块但未实际拉取代码,会导致头文件找不到。 - 手动配置VS Code的头文件搜索路径:
按Ctrl+Shift+P打开命令面板,选择C/C++: Edit Configurations (JSON),在includePath数组中添加一行"${workspaceFolder}/libopencm3/include"(根据你项目中libopencm3的实际路径调整),保存后重启VS Code即可——VS Code不会自动读取Makefile的路径配置,需要手动指定头文件位置。 - 验证Makefile有效性:如果执行
make能正常编译,说明Makefile的路径配置没问题,只是VS Code的语法检查工具没识别到路径,上面的配置就能解决波浪线报错。
PlatformIO提示udev规则过期&Ubuntu USB-C权限问题解决
- 重新安装最新udev规则:
- 删除旧规则文件:
sudo rm /etc/udev/rules.d/99-platformio-udev.rules - 下载最新规则:
sudo wget https://raw.githubusercontent.com/platformio/platformio-core/master/platformio/assets/system/99-platformio-udev.rules -O /etc/udev/rules.d/99-platformio-udev.rules - 重载udev规则:
sudo udevadm control --reload-rules && sudo udevadm trigger
- 删除旧规则文件:
- 添加用户权限组:执行
sudo usermod -a -G dialout,plugdev $USER,然后注销并重新登录,确保权限生效。 - 排查硬件连接:换一个USB-C端口尝试,部分端口可能存在识别或供电问题,也可以检查设备是否处于BOOT烧录模式。
内容的提问来源于stack exchange,提问作者plz_answer
相关产品推荐
相关产品推荐

