我一直在Windows 10上安装ARM工具链,用于开发Nordic nRF51,并遵循他们教程中的说明 https://devzone.nordicsemi.com/tutorials/7
当我第一次运行make时,出现构建错误。
详细说明: 我在目录中安装了工具链 C:\ Program Files(x86)\ GNU Tools ARM Embedded \ 5.3 2016q1
Coreutils安装在目录中 C:\ Program Files(x86)\ GnuWin32
Nordict SDK工具链安装在目录中 C:\ Program Files(x86)\ Nordic Semiconductor \ NRF5_SDK
我在用户路径环境中添加了以下内容: C:\ Program Files(x86)\ GNU Tools ARM Embedded \ 5.3 2016q1; C:\ Program Files(x86)\ GnuWin32 \ bin
目录C中的:\ Program Files(x86)\ Nordic Semiconductor \ NRF5_SDK \ components \ toolchain \ gcc windows.makefile更改为:
GNU_INSTALL_ROOT := $(PROGFILES)/GNU Tools ARM Embedded/5.3 2016q1/
GNU_VERSION := 5.3
GNU_PREFIX := arm-none-eabi
我已经检查过make和gcc是从命令行找到的。
遵循目录中的教程说明: C:\ Program Files(x86)\ Nordic Semiconductor \ NRF5_SDK \ examples \ peripheral \ blinky \ pca20006 \ blank \ armgcc 打开一个cmd窗口(作为用户)并运行make。
mkdir _build
Access is denied.
make: *** [_build] Error 1
错误提示无法创建_build目录。
因此,从管理员的新cmd窗口再次尝试:
mkdir _build
make: *** No rule to make target `_build/Program', needed by `nrf51822_xxaa'. Stop.
make -d的输出摘要(在管理窗口中):
Reading makefile `makefile'...
Reading makefile `../../../../../../components/toolchain/gcc/Makefile.windows' (search path) (no ~ expansion)...
No implicit rule found for `_build/Program'.
Finished prerequisites of target file `_build/Program'.
Must remake target `_build/Program'.
make: *** No rule to make target `_build/Program', needed by `nrf51822_xxaa'. Stop.
似乎make无法找到makefile.windows(正确吗?),所以我通过将目标复制到cmd并使用as来检查路径:
cd ../../../../../../components/toolchain/gcc/
这已更改为正确的目录。所以我相信目标路径是正确的。
问题: 为什么管理员需要运行make,为什么它没有正确的权限来创建_build目录?
在管理窗口中运行make时失败了什么?
提前感谢。
答案 0 :(得分:0)
看起来我可能已经解决了这个问题。
卸载所有工具并重新安装到用户目录(而非Program Files)中,并确保目录路径中没有空格。
Make now构建二进制文件。似乎Nordic已经发布了无法按照描述安装的工具集......