M1 macOS编译树莓派Pico LittleFS时nosys.specs缺失如何解决?
解决RPi Pico编译LittleFS时
nosys.specs缺失的问题 可能的原因及修复步骤
1. 修正CMake配置的工具链继承
pico-sdk示例能正常编译,说明你的ARM工具链本身完整,问题出在LittleFS项目的CMake配置未正确继承pico-sdk的工具链设置:
- 打开项目的
CMakeLists.txt,确保第一行就导入pico-sdk的配置:include($ENV{PICO_SDK_PATH}/external/pico_sdk_import.cmake) - 删除配置中手动指定
CMAKE_TOOLCHAIN_FILE的代码,让pico-sdk自动处理工具链路径。
2. 清理构建缓存后重新编译
构建缓存可能导致配置异常,完全清理后重新生成构建文件:
- 删除项目下的
build目录:rm -rf build - 重新执行构建流程:
mkdir build && cd build cmake .. make
3. 验证工具链与环境变量
确保环境变量PICO_SDK_PATH正确指向pico-sdk根目录,同时检查ARM工具链的完整性:
- 执行以下命令检查工具链中是否存在
nosys.specs:
如果找不到文件,说明工具链不完整,需要重新安装针对RP2040的完整ARM GNU工具链。find $(dirname $(which arm-none-eabi-gcc)) -name "nosys.specs"
4. 确认子模块依赖完整性
如果pico-littlefs是通过子模块引入pico-sdk的,执行以下命令确保依赖拉取完整:
git submodule update --init --recursive
内容的提问来源于stack exchange,提问作者Atores
相关产品推荐
相关产品推荐

