0

我一直在 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 时失败是什么?

提前致谢。

4

1 回答 1

0

看起来我可能已经解决了这个问题。

卸载所有工具并重新安装到用户目录(不是 Program Files),并确保目录路径中没有空格。

Make 现在构建一个二进制文件。似乎 Nordic 发布了无法按描述安装的工具集...

于 2016-06-10T22:14:39.360 回答