This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

How to compile Smart Beacon on Linux

Hello all,

I successfully compiled and tested several examples for the nRF51822 Evaluation Kit on my Linux Box using gcc.

To do the same with my Smart Beacon Kit I downloaded nRF51822-BK-FW, which unfortunately seems to be available only for Windows. I tried to install it on a Windows box and then moved the source tree to Linux, but make terminates:

...nrf51_beacon/ble_app_beacon/pca20006/s110/armgcc $ make
makefile:13: ../../../../../../components/toolchain/gcc/Makefile.posix: No such file or directory
make: *** No rule to make target '../../../../../../components/toolchain/gcc/Makefile.posix'.  Stop.

I thought of merging the Smart Beacon source into the SDK from the Evaluation Kit, but the directory layout does not seem to be compatible.

Can anybody give me a hint on how to compile the Smart Beacon software on my Linux?

Kind regards

Stephan

  • Hello all,

    in the meantime I tried different SDK versions. I managed to get ble_app_beacon and ble_app_hrs from SDK 7.2.0 to run on the smart beacon hardware. Connecting my SEGGER J-Link with a Tag-Connect cable works very good.

    I also was able to include the Smart Beacon sourcecode into SDK 7.2.0 and compile it there, but had to remove all the dfu stuff because it did not compile.

    Kind regards

    Stephan

  • Doesn't seem like the makefile included in the armgcc folder for the Smart Beacon Kit firmware has been tested at all. It had several errors.

    I tried to fix the errors, and you can download the fixed makefile here.

    There are still some gcc specific errors in the source code. You need to typecast BEACON_CONFIG_NAME to (uint8_t*) in line 443 in main.c. And you need to put BCS_UUID_BASE in braces in line 448 in ble_bcs.c

    Now it should compile!

  • Thank you for your answer, now it works!

Related