相关文章推荐
文雅的沙发  ·  Anylogic学习------------ ...·  2 年前    · 
飞翔的枕头  ·  【转载】SQL SERVER ...·  2 年前    · 

I am trying to build the micro-ecc library following the procedure detailed in the BLE LE Secure Connections multirole example . I am using SDK v11.

I have cloned the micro-ecc project and saved to the required 'external' SDK folder.

When I run the Makefile located in ..\..\..\nRF5_SDK_11.0.0_89a8197\external\micro-ecc\nrf51_armgcc\armgcc I get the following error.

$ gnumake
rm -rf _build
echo makefile
makefile
mkdir _build
Compiling file: uECC.c
process_begin: CreateProcess(NULL, "C:/Program Files/GNU Tools ARM Embedded/4.9 2015q1/bin/arm-none-eabi-gcc" -DuECC_ENABLE_VLI_API -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 -DuECC_SUPPORTS_secp256r1=1 -DuECC_SQUARE_FUNC=1 -DuECC_SUPPORT_COMPRESSED_POINT=0 -DuECC_OPTIMIZATION_LEVEL=3 -mcpu=cortex-m0 -mthumb -mabi=aapcs --std=gnu99 -Wall -Werror -O2 -g3 -mfloat-abi=soft -ffunction-sections -fdata-sections -fno-strict-aliasing -fno-builtin --short-enums -c -o _build/uECC.o C:/Users/david.andresky/Downloads/nRF5_SDK_11.0.0_89a8197/external/micro-ecc/micro-ecc/uECC.c, ...) failed.
make (e=2): The system cannot find the file specified.
gnumake: *** [_build/uECC.o] Error 2

The cloned project did not contain a _build folder but one is created when I run this Makefile. However, the uECC.o file is not created resulting in the error.

Would appreciate insight into necessary Makefile changes to get this to run.

This error ( The system cannot find the file specified ) typically indicate that the executable does not exist. Do you have ARM GCC version 4.9 2015q1 installed in the expected location ( C:/Program Files/GNU Tools ARM Embedded/4.9 2015q1/bin )? If you have a different version or have installed in a different location, then you need to set the correct path in <SDK>\components\toolchain\gcc\Makefile.windows .

(by the way, once the Makefile.windows is correctly configured, the simplest way to clone and build the micro-gcc library is to simply double click on <SDK>external\micro-ecc\build_all.bat . this will check out the source code and build all variants in one go.)

Hi, thanks for quick reply. I have version 5.4 and it is located in:

C:\Program Files (x86)\GNU Tools ARM Embedded\5.4 2016q3\bin

I changed the Makefile.windows file to reference the newer GNU tools but still had a problem. What I found was that the install directory (Program Files (x86)) was an issue for my git bash shell. Apparently Unix doesn't like "(".

To make a long story short, I ...

  • copied the GNU Tools to C:\Program Files
  • commented out the ifeq statement in Makefile.windows and forced PROGFILES := C:/Program Files (though this still didn't resolve the issue)
  • So then I added a statement to my .bashrc file to insert the Program Files path at the beginning of my PATH variable to force it to look in that location.
  • Now I can build the library. Not a very elegant solution but works for now.