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

Commissioning Joiner support for product line nrf52811

Hi, my question is about the commissioning of the thread protocol. Not so long ago I created an ish on the github of the thread project, but with software errors I was offered to write in the devzone
link to this issue: github.com/.../6222

I am trying to implement Openthread for a device on an Nrf52811 controller. I was warned about the lack of 192 kb of memory and the lack of an accelerator module. Nevertheless, the protocol does not take up much space, even a little is left for its software. And the acceleration can be transferred to the program.

I collected a thread as follows according to the instructions from their github
make -f examples / Makefile-nrf52811 JOINER = 1

Why did I start building from source? this is due to the fact that I do not find the otJoinerStart() function in the api thread, I decided to build and compile from resources. As a result of building and slipping libraries, I get errors when compiling GCC

What I've done

Compiled the libraries of the thread downloaded through the git and slipped them into the directory of the SDK Nordic
./openthread/output/nrf52811/lib (folder openthread from github) -> (to) ./external/openthread/lib/nrf52811/gcc (folder SDK Nordic v.4.0)

/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: <PATH_TO_NORDICSDK>/v4.0/external/openthread/lib/nrf52811/gcc/libopenthread-nrf52811-sdk.a(libopenthread_nrf52811_sdk_a-alarm.o): in function nrf_rtc_event_pending': <PATH_TO_OPENTHREAD>/openthread/examples/../third_party/NordicSemiconductor/nrfx/hal/nrf_rtc.h:352: multiple definition of RTC1_IRQHandler'; _build/nrf52811_xxaa/drv_rtc.c.o:<PATH_TO_NORDICSDK>/v4.0/components/libraries/timer/drv_rtc.c:349: first defined here
/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: _build/nrf52811_xxaa/main.c.o: in function joiner_timer_handler': <PATH_TO_OPENTHREAD>/Other/magnetic/pca10056/blank/armgcc/../../../main.c:370: undefined reference to otJoinerStart'
/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: _build/nrf52811_xxaa/thread_utils.c.o: in function platform_init': <PATH_TO_NORDICSDK>/v4.0/components/thread/utils/thread_utils.c:129: undefined reference to otHeapSetCAllocFree'
/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: <PATH_TO_NORDICSDK>/v4.0/external/openthread/lib/nrf52811/gcc/libopenthread-nrf52811-sdk.a(libopenthread_nrf52811_sdk_a-system.o): in function otSysDeinit': <PATH_TO_OPENTHREAD>/openthread/examples/../examples/platforms/nrf528xx/src/system.c:122: undefined reference to nrf5TransportDeinit'
/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: <PATH_TO_NORDICSDK>/v4.0/external/openthread/lib/nrf52811/gcc/libopenthread-nrf52811-sdk.a(libopenthread_nrf52811_sdk_a-system.o): in function otSysInit': <PATH_TO_OPENTHREAD>/openthread/examples/../examples/platforms/nrf528xx/src/system.c:101: undefined reference to nrf5TransportInit'
/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: <PATH_TO_NORDICSDK>/v4.0/external/openthread/lib/nrf52811/gcc/libopenthread-nrf52811-sdk.a(libopenthread_nrf52811_sdk_a-system.o): in function otSysProcessDrivers': <PATH_TO_OPENTHREAD>/openthread/examples/../examples/platforms/nrf528xx/src/system.c:142: undefined reference to nrf5TransportProcess'
/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: <PATH_TO_NORDICSDK>/v4.0/external/openthread/lib/nrf52811/gcc/libopenthread-nrf52811-sdk.a(libopenthread_nrf52811_sdk_a-flash_nosd.o): in function nrf5FlashPageErase': <PATH_TO_OPENTHREAD>/openthread/examples/../examples/platforms/nrf528xx/src/flash_nosd.c:36: undefined reference to nrfx_nvmc_page_erase'
/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: <PATH_TO_NORDICSDK>/v4.0/external/openthread/lib/nrf52811/gcc/libopenthread-nrf52811-sdk.a(libopenthread_nrf52811_sdk_a-flash_nosd.o): in function nrf5FlashWrite': <PATH_TO_OPENTHREAD>/openthread/examples/../examples/platforms/nrf528xx/src/flash_nosd.c:48: undefined reference to nrfx_nvmc_bytes_write'
collect2: error: ld returned 1 exit status

Related