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

nrf-ble-bcast mesh compilation issues

Hi,

I want to run BLE mesh network example on my Dev board to understand it better. I am running it on SDK v8.1 and using ble_app_proximity example S130.

Following below link: github.com/.../integrating_w_SD_apps.adoc

I am using following keil project in SDK v8.1 ble_peripheral\ble_app_proximity\pca10028\s130\arm5_no_packs

I also added project files to rbc_mesh to proximity example and set up include paths in keil. But when i compile It can not find file spi_slave.h and bootloader_info.h

Compilation Errors: ......\rbc_mesh\src\dfu_util.c(34): error: #5: cannot open source input file "bootloader_info.h": No such file or directory

......\rbc_mesh\src\serial_handler_spi.c(31): error: #5: cannot open source input file "spi_slave.h": No such file or directory

Also, as It asks to edit timeslot_handler.c, but I can not find any file like that.

Can somebody please help me ????

  • You don't need the dfu_util.c anymore so just remove this.

    The spi_slave files can be found under nRF51_SDK_8.1.0\components\drivers_nrf\spi_slave.

    It should ask you to edit timeslot.c and not timeslot_handler.c (which do not exist anymore). I've asked to update the guide.

  • Thank you Ole.

    I tried to follow what you asked me too.. I removed dfu_utils.c and added spi_salve from drivers_nrf

    Before editing timeslot.c I just tried to compile this and got following linking errors.

    Using Compiler 'V5.06 update 1 (build 61)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin' Rebuild target 'nrf51422_xxac_s130' . linking...

    ._build\nrf51422_xxac_s130.axf: Error: L6200E: Symbol UART0_IRQHandler multiply defined (by serial_handler_uart.o and app_uart_fifo.o).

    ._build\nrf51422_xxac_s130.axf: Error: L6200E: Symbol GPIOTE_IRQHandler multiply defined (by serial_handler_spi.o and nrf_drv_gpiote.o).

    ._build\nrf51422_xxac_s130.axf: Error: L6200E: Symbol serial_handler_command_get multiply defined (by serial_handler_uart.o and serial_handler_spi.o).

    ._build\nrf51422_xxac_s130.axf: Error: L6200E: Symbol serial_handler_credit_available multiply defined (by serial_handler_uart.o and serial_handler_spi.o).

    ._build\nrf51422_xxac_s130.axf: Error: L6200E: Symbol serial_handler_event_send multiply defined (by serial_handler_uart.o and serial_handler_spi.o).

    ._build\nrf51422_xxac_s130.axf: Error: L6200E: Symbol serial_handler_init multiply defined (by serial_handler_uart.o and serial_handler_spi.o).

    ._build\nrf51422_xxac_s130.axf: Error: L6200E: Symbol serial_wait_for_completion multiply defined (by serial_handler_uart.o and serial_handler_spi.o).

    Not enough information to list image symbols.

    Not enough information to list the image map.

    Finished: 2 information, 0 warning and 7 error messages.

    "._build\nrf51422_xxac_s130.axf" - 7 Error(s), 1 Warning(s).

    Target not created.

    Build Time Elapsed: 00:00:16

  • It seems like you already use app_uart, which would create a conflict on the serial usage. Unless you need the mesh serial, try to remove any of the mesh serial files. This includes serial_handler_uart, serial_handler_spi, mesh_aci. Also remove the spi_driver file from the SDK, if you remove these.

  • Thank you. It did compiled successfully after trying as you said.

    But How can I test this thing and understand its working ? I want to see the real time data or working example ?

Related