This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Installing micro-ecc issue

Hi,

I am following below step for Installing micro_ecc_lib_nrf52.lib.

  1. Install version 4.9-2015-q3-update of the GCC compiler toolchain for ARM. You can use ARM's Launchpad to find the toolchain for your operating system. - DONE

  2. Make sure that make is installed (see, for example, MinGW, GNU Make, or Xcode). - I have no idea how i can install this and use it. I would like if any one can explain in detail. I am using windows 10 -64bit.

  3. Clone the micro-ecc GitHub repository into InstallFolder\external\micro-ecc\micro-ecc. - DONE

I am getting following error during make command. D:\nRF5_SDK\external\micro-ecc\nrf52_keil\armgcc>make 'make' is not recognized as an internal or external command, operable program or batch file.

Parents
  • Hi dc,

    For your case, you need to install MinGW.

    Click below URL and download it.

    sourceforge.net/.../download
    

    I recommend you to install msys as well after installed MinGW in order to use Unix bash shell.

    image description

    after installed msys, open the bash shell script which it located in “C:\MinGW\msys\1.0\msys.bat”

    for uECC download and installation, you should unzip the uECC source code under micro-ecc folder as below.

    1. Download uECC source code from git (github.com/.../micro-ecc)
    2. Unzip micro-ecc code at “nRF5_SDK\external\micro-ecc\”
    3. Change folder name to “micro-ecc” ex) \external\micro-ecc\micro-ecc
    4. Then move to "nRF5_SDK\external\micro-ecc\nrf52_keil\armgcc" on Msys
    5. execute Make command image description

    Thanks,

    Eugene

  • After installing ARM's 6 2017-q2-update gcc I thought I'd finally licked getting the micro-ecc library built.  Man was I wrong! But rather than go through the whole mess, I'd been getting the below error. I particularly enoyed the part where it said No error on running the archiver but changed its mind.

    make: Entering directory `C:/nRF5_SDK_15.0.0_a53641a/external/micro-ecc/nrf52hf_
    iar/armgcc'
    Creating library:
    C:/Program Files (x86)/GNU Tools ARM Embedded/6 2017-q2-update/bin/arm-none-eabi
    -ar: No error
    make: *** [micro_ecc_lib] Error 1
    make: Leaving directory `C:/nRF5_SDK_15.0.0_a53641a/external/micro-ecc/nrf52hf_i
    ar/armgcc'
    

    The solution turned out to be explicitly running mingw's make from micro-ecc/nrf52hf_iar/armgcc with

    cd micro-ecc\nrf52hf_iar\armgcc
    \mingw\bin\mingw32-make
    

    This incantation results in a nice micro_ecc_lib_nrf52.a archive to play with.

    Unfortunately the uECC.c.o object included in the archive throws an IAR error

    Error[Lt009]: Inconsistent wchar_t size, uECC.c.o(micro_ecc_lib_nrf52.a) has wchar_t size 16 bits

    app_error_weak.o and 90 other objects, some of them in dl7M_tlf.a and 11 other libraries have wchar_t size 32 bits

    but at least it's no longer a silly problem associated with an old 'make' from 2002

    (I realize that you're not in this situation and have it working but thought this might save someone else 3/4 of a day getting past micro-ecc. It's a shame the library uses gcc asm ops and a GPL license)

Reply
  • After installing ARM's 6 2017-q2-update gcc I thought I'd finally licked getting the micro-ecc library built.  Man was I wrong! But rather than go through the whole mess, I'd been getting the below error. I particularly enoyed the part where it said No error on running the archiver but changed its mind.

    make: Entering directory `C:/nRF5_SDK_15.0.0_a53641a/external/micro-ecc/nrf52hf_
    iar/armgcc'
    Creating library:
    C:/Program Files (x86)/GNU Tools ARM Embedded/6 2017-q2-update/bin/arm-none-eabi
    -ar: No error
    make: *** [micro_ecc_lib] Error 1
    make: Leaving directory `C:/nRF5_SDK_15.0.0_a53641a/external/micro-ecc/nrf52hf_i
    ar/armgcc'
    

    The solution turned out to be explicitly running mingw's make from micro-ecc/nrf52hf_iar/armgcc with

    cd micro-ecc\nrf52hf_iar\armgcc
    \mingw\bin\mingw32-make
    

    This incantation results in a nice micro_ecc_lib_nrf52.a archive to play with.

    Unfortunately the uECC.c.o object included in the archive throws an IAR error

    Error[Lt009]: Inconsistent wchar_t size, uECC.c.o(micro_ecc_lib_nrf52.a) has wchar_t size 16 bits

    app_error_weak.o and 90 other objects, some of them in dl7M_tlf.a and 11 other libraries have wchar_t size 32 bits

    but at least it's no longer a silly problem associated with an old 'make' from 2002

    (I realize that you're not in this situation and have it working but thought this might save someone else 3/4 of a day getting past micro-ecc. It's a shame the library uses gcc asm ops and a GPL license)

Children
Related