9 years ago.

Multiply defined symbols in nRF51822 library

I've been trying to get the BLE_Thermometer program to run on a RedBear BLE Nano, and I'm running into problems with multiply defined symbols. First I tried this program: https://developer.mbed.org/blog/entry/Bluetooth-LE-example-on-mbed/

and got: Error: Symbol RTC1_IRQHandler multiply defined (by us_ticker.o and app_timer.cpp.RBLAB_BLENANO.o).

Then I tried this program: https://developer.mbed.org/teams/Bluetooth-Low-Energy/code/BLE_Thermometer/

and got: Error: Symbol GPIOTE_IRQHandler multiply defined (by app_gpiote.c.RBLAB_BLENANO.o and gpio_irq_api.c.RBLAB_BLENANO.o).

I've had a look in mbed_src and the symbols are indeed multiply defined. What can I do to get round this?

1 Answer

9 years ago.

This has been fixed with https://github.com/mbedmicro/nRF51822/commit/411da25577c001d1857f749b81e9fe1d47c67ee6 Once the new mbed SDK is released, I'll bring in this change to the nRF51822 library in mbed.org, and you can then update your program to use the latest libraries.

Accepted Answer

Ok, thanks. Do you know when the new SDK will be released?

posted by Tim Barry 28 Apr 2015

I've updated to the latest revisions of mbed_src and nRF51822 and the multiple define problem is solved. Now the problem is the following two errors:

Error: Argument of type "Gap::addr_type_t" is incompatible with parameter of type "const Gap::ConnectionParams_t *" in "nRF51822/btle/btle.cpp", Line: 130, Col: 60

Error: Too many arguments in function call in "nRF51822/btle/btle.cpp", Line: 130, Col: 108

Edit: My bad! I hadn't updated BLE_API. All works fine now! Thanks for your help.

posted by Tim Barry 30 Apr 2015