Lora-net / LoRaMac-node

Reference implementation and documentation of a LoRa network node.
Other
1.87k stars 1.09k forks source link

Issue in Cmake and Build process #504

Closed manii120 closed 6 years ago

manii120 commented 6 years ago

Hi friends,

Currently i am facing an issue related to LoRaWAN code make and build process. \ What am i doing right now is, I downloaded Cmake, GCC-arm , and minGW exe files and gave their path in system variables setting accordingly. But when i try to make and build LoRa code it shows an error something like this- image I tried several times with different solutions provided on internet but still unable to solve this issue. Kindly help me please if any further info needed please let me know.

Thanks

mluis1 commented 6 years ago

The setup of these tools on Windows is quite tricky. It is a lot easier for Linux or MacOS

But, if you carefully follow the provided instructions on Development Environement document you should be able to have a working environment.

That said. Could you please provide the full cmake command that you are issuing?

My understanding is that the -DTOOLCHAIN_PREFIX and -DCMAKE_TOOLCHAIN_FILE parameters are most certainly missing.

For instance to build the ClassA example for NucleoL073 platform using SX1262DVK1CAS mbed shield the following commands should be issued.

MSYS /c/loramac-node$
MSYS /c/loramac-node$ mkdir build
MSYS /c/loramac-node$ cd build
MSYS /c/loramac-node/build$ cmake -DCMAKE_BUILD_TYPE=Debug \
           -DTOOLCHAIN_PREFIX="/c/Program Files (x86)/GNU Tools ARM Embedded/7 2017-q4-major" \
           -DCMAKE_TOOLCHAIN_FILE="../cmake/toolchain-arm-none-eabi.cmake" \
           -DAPPLICATION="LoRaMac" \
           -DCLASS="classA" \
           -DCLASSB_ENABLED="OFF" \
           -DACTIVE_REGION="LORAMAC_REGION_EU868" \
           -DREGION_EU868="ON" \
           -DREGION_US915="OFF" \
           -DREGION_CN779="OFF" \
           -DREGION_EU433="OFF" \
           -DREGION_AU915="OFF" \
           -DREGION_AS923="OFF" \
           -DREGION_CN470="OFF" \
           -DREGION_KR920="OFF" \
           -DREGION_IN865="OFF" \
           -DREGION_RU864="OFF" \
           -DBOARD="NucleoL073" \
           -DMBED_RADIO_SHIELD="SX1262DVK1CAS"  ..

-- The C compiler identification is GNU 7.2.1
-- The CXX compiler identification is GNU 7.2.1
-- Check for working C compiler: /c/Program Files (x86)/GNU Tools ARM Embedded/7 2017-q4-major/bin/arm-none-eabi-gcc
-- Check for working C compiler: /c/Program Files (x86)/GNU Tools ARM Embedded/7 2017-q4-major/bin/arm-none-eabi-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /c/Program Files (x86)/GNU Tools ARM Embedded/7 2017-q4-major/bin/arm-none-eabi-g++
-- Check for working CXX compiler: /c/Program Files (x86)/GNU Tools ARM Embedded/7 2017-q4-major/bin/arm-none-eabi-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
Linker script: /c/loramac-node/src/boards/NucleoL073/cmsis/arm-gcc/stm32l073xx_flash.ld
-- The ASM compiler identification is GNU
-- Found assembler: /c/Program Files (x86)/GNU Tools ARM Embedded/7 2017-q4-major/bin/arm-none-eabi-gcc
-- Configuring done
-- Generating done
-- Build files have been written to: /c/loramac-node/build

MSYS /c/loramac-node/build$ make -j 4

Scanning dependencies of target peripherals
Scanning dependencies of target NucleoL073
Scanning dependencies of target radio
Scanning dependencies of target system
[  1%] Building C object src/radio/CMakeFiles/radio.dir/sx126x/radio.c.obj
[  2%] Building C object src/peripherals/CMakeFiles/peripherals.dir/gpio-ioe.c.obj
[  3%] Building C object src/system/CMakeFiles/system.dir/adc.c.obj
[  5%] Building C object src/radio/CMakeFiles/radio.dir/sx126x/sx126x.c.obj
[  6%] Building C object src/system/CMakeFiles/system.dir/delay.c.obj
[  7%] Building C object src/peripherals/CMakeFiles/peripherals.dir/mag3110.c.obj
[  8%] Building C object src/system/CMakeFiles/system.dir/eeprom.c.obj
[  8%] Built target radio
[ 10%] Building C object src/boards/NucleoL073/CMakeFiles/NucleoL073.dir/board.c.obj
[ 11%] Building C object src/peripherals/CMakeFiles/peripherals.dir/mma8451.c.obj
Scanning dependencies of target mac
[ 12%] Building C object src/mac/CMakeFiles/mac.dir/LoRaMac.c.obj
[ 13%] Building C object src/system/CMakeFiles/system.dir/fifo.c.obj
[ 15%] Building C object src/peripherals/CMakeFiles/peripherals.dir/mpl3115.c.obj
[ 16%] Building C object src/boards/NucleoL073/CMakeFiles/NucleoL073.dir/delay-board.c.obj
[ 17%] Building C object src/mac/CMakeFiles/mac.dir/LoRaMacAdr.c.obj
[ 18%] Building C object src/system/CMakeFiles/system.dir/gpio.c.obj
[ 20%] Building C object src/peripherals/CMakeFiles/peripherals.dir/pam7q.c.obj
[ 21%] Building C object src/boards/NucleoL073/CMakeFiles/NucleoL073.dir/eeprom-board.c.obj
[ 22%] Building C object src/mac/CMakeFiles/mac.dir/LoRaMacClassB.c.obj
[ 24%] Building C object src/system/CMakeFiles/system.dir/gps.c.obj
[ 25%] Building C object src/peripherals/CMakeFiles/peripherals.dir/sx1509.c.obj
[ 26%] Building C object src/boards/NucleoL073/CMakeFiles/NucleoL073.dir/gpio-board.c.obj
[ 27%] Building C object src/mac/CMakeFiles/mac.dir/LoRaMacCommands.c.obj
[ 29%] Building C object src/system/CMakeFiles/system.dir/i2c.c.obj
[ 30%] Building C object src/peripherals/CMakeFiles/peripherals.dir/sx9500.c.obj
[ 31%] Building C object src/boards/NucleoL073/CMakeFiles/NucleoL073.dir/lpm-board.c.obj
[ 32%] Building C object src/mac/CMakeFiles/mac.dir/LoRaMacConfirmQueue.c.obj
[ 34%] Building C object src/system/CMakeFiles/system.dir/nvmm.c.obj
[ 35%] Building C object src/peripherals/CMakeFiles/peripherals.dir/soft-se/aes.c.obj
[ 36%] Building C object src/boards/NucleoL073/CMakeFiles/NucleoL073.dir/rtc-board.c.obj
[ 37%] Building C object src/mac/CMakeFiles/mac.dir/LoRaMacCrypto.c.obj
[ 39%] Building C object src/system/CMakeFiles/system.dir/systime.c.obj
[ 40%] Building C object src/peripherals/CMakeFiles/peripherals.dir/soft-se/cmac.c.obj
[ 41%] Building C object src/boards/NucleoL073/CMakeFiles/NucleoL073.dir/spi-board.c.obj
[ 43%] Building C object src/mac/CMakeFiles/mac.dir/LoRaMacFCntHandler.c.obj
[ 44%] Building C object src/system/CMakeFiles/system.dir/timer.c.obj
[ 45%] Building C object src/peripherals/CMakeFiles/peripherals.dir/soft-se/soft-se.c.obj
[ 46%] Building C object src/boards/NucleoL073/CMakeFiles/NucleoL073.dir/uart-board.c.obj
[ 48%] Building C object src/mac/CMakeFiles/mac.dir/LoRaMacParser.c.obj
[ 49%] Building C object src/system/CMakeFiles/system.dir/uart.c.obj
[ 49%] Built target peripherals
[ 50%] Building C object src/mac/CMakeFiles/mac.dir/LoRaMacSerializer.c.obj
[ 51%] Building C object src/boards/NucleoL073/CMakeFiles/NucleoL073.dir/__/mcu/stm32/sysIrqHandlers.c.obj
[ 51%] Built target system
[ 53%] Building C object src/mac/CMakeFiles/mac.dir/region/Region.c.obj
[ 54%] Building C object src/boards/NucleoL073/CMakeFiles/NucleoL073.dir/__/mcu/utilities.c.obj
[ 55%] Building C object src/mac/CMakeFiles/mac.dir/region/RegionAS923.c.obj
[ 56%] Building ASM object src/boards/NucleoL073/CMakeFiles/NucleoL073.dir/cmsis/arm-gcc/startup_stm32l073xx.s.obj
[ 58%] Building C object src/mac/CMakeFiles/mac.dir/region/RegionAU915.c.obj
[ 59%] Building C object src/boards/NucleoL073/CMakeFiles/NucleoL073.dir/cmsis/system_stm32l0xx.c.obj
[ 60%] Building C object src/mac/CMakeFiles/mac.dir/region/RegionCN470.c.obj
[ 62%] Building C object src/boards/NucleoL073/CMakeFiles/NucleoL073.dir/__/mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal.c.obj
[ 63%] Building C object src/mac/CMakeFiles/mac.dir/region/RegionCN779.c.obj
[ 64%] Building C object src/boards/NucleoL073/CMakeFiles/NucleoL073.dir/__/mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_adc.c.obj
[ 65%] Building C object src/mac/CMakeFiles/mac.dir/region/RegionCommon.c.obj
[ 67%] Building C object src/boards/NucleoL073/CMakeFiles/NucleoL073.dir/__/mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_adc_ex.c.obj
[ 68%] Building C object src/mac/CMakeFiles/mac.dir/region/RegionEU433.c.obj
[ 69%] Building C object src/boards/NucleoL073/CMakeFiles/NucleoL073.dir/__/mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_cortex.c.obj
[ 70%] Building C object src/mac/CMakeFiles/mac.dir/region/RegionEU868.c.obj
[ 72%] Building C object src/boards/NucleoL073/CMakeFiles/NucleoL073.dir/__/mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_dma.c.obj
[ 73%] Building C object src/mac/CMakeFiles/mac.dir/region/RegionIN865.c.obj
[ 74%] Building C object src/boards/NucleoL073/CMakeFiles/NucleoL073.dir/__/mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_flash.c.obj
[ 75%] Building C object src/mac/CMakeFiles/mac.dir/region/RegionKR920.c.obj
[ 77%] Building C object src/boards/NucleoL073/CMakeFiles/NucleoL073.dir/__/mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_flash_ex.c.obj
[ 78%] Building C object src/mac/CMakeFiles/mac.dir/region/RegionRU864.c.obj
[ 79%] Building C object src/mac/CMakeFiles/mac.dir/region/RegionUS915.c.obj
[ 81%] Building C object src/boards/NucleoL073/CMakeFiles/NucleoL073.dir/__/mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c.obj
[ 82%] Building C object src/boards/NucleoL073/CMakeFiles/NucleoL073.dir/__/mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c.obj
[ 83%] Building C object src/boards/NucleoL073/CMakeFiles/NucleoL073.dir/__/mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c.obj
[ 83%] Built target mac
[ 84%] Building C object src/boards/NucleoL073/CMakeFiles/NucleoL073.dir/__/mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_pwr.c.obj
[ 86%] Building C object src/boards/NucleoL073/CMakeFiles/NucleoL073.dir/__/mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_pwr_ex.c.obj
[ 87%] Building C object src/boards/NucleoL073/CMakeFiles/NucleoL073.dir/__/mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c.obj
[ 88%] Building C object src/boards/NucleoL073/CMakeFiles/NucleoL073.dir/__/mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc_ex.c.obj
[ 89%] Building C object src/boards/NucleoL073/CMakeFiles/NucleoL073.dir/__/mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c.obj
[ 91%] Building C object src/boards/NucleoL073/CMakeFiles/NucleoL073.dir/__/mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc_ex.c.obj
[ 92%] Building C object src/boards/NucleoL073/CMakeFiles/NucleoL073.dir/__/mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_spi.c.obj
[ 93%] Building C object src/boards/NucleoL073/CMakeFiles/NucleoL073.dir/__/mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c.obj
[ 94%] Building C object src/boards/NucleoL073/CMakeFiles/NucleoL073.dir/__/mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart_ex.c.obj
[ 96%] Building C object src/boards/NucleoL073/CMakeFiles/NucleoL073.dir/sx1262dvk1cas-board.c.obj
[ 96%] Built target NucleoL073
Scanning dependencies of target LoRaMac-classA
[ 97%] Building C object src/apps/LoRaMac/CMakeFiles/LoRaMac-classA.dir/common/NvmCtxMgmt.c.obj
[ 98%] Building C object src/apps/LoRaMac/CMakeFiles/LoRaMac-classA.dir/classA/NucleoL073/main.c.obj
[100%] Linking C executable LoRaMac-classA
   text    data     bss     dec     hex filename
  74536     408    6928   81872   13fd0 LoRaMac-classA
[100%] Built target LoRaMac-classA
Scanning dependencies of target LoRaMac-classA.hex
Scanning dependencies of target LoRaMac-classA.bin
[100%] Built target LoRaMac-classA.hex
[100%] Built target LoRaMac-classA.bin
manii120 commented 6 years ago

Thanks for your reply, and it helped me to configure it properly but when i use make -j 4 command it shows - "no command found or recognized". please help i'm able to get make file in build folder but unable to follow next step.

And above my only mistake is using '\' this slash instead of '/'. but now its working. Thanks to you.

mluis1 commented 6 years ago

Have you installed the make utility?

Please follow the instructions provided on Development Environement document.

In the below document extract at the end you will find the instructions to setup the make utility.

manii120 commented 6 years ago

Yes thank you so much. Finally found an solution by installing gnuwin which is make utility for windows and after giving its path finally now i am able to make my project. Thanks again.