Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Can I easily bootload an nRF52832 using a BeagleBone Green Wireless and its built in bluetooth?

We have a handful of products that utilize nRF52832 IC's for BLE communication.  The bootloader in these devices is based on the one in the SDK, I believe version 11.0.  In any case, the bootloader works with nRF Connect on my Android phone.

We are preparing to ship a BeagleBone Green Wireless (BBGW) based device alongside the BLE devices.  I'm investigating how I can bootload the Nordic parts via BLE.  I am aware of nrfutil and have been able to get it running on the BBGW, but it appears to require a BLE dongle to work.  We're not going to be able to add a dongle to every BBGW we ship, so that isn't an option.

Is there a solution to bootload an nRF52832 using the BBGW's on board Bluetooth IC?

Parents
  • I think I may need to build pc-ble-driver-py to get further with this task, but I'm not able to build it.

    I started out using apt-get to install cmake and (if I remember correctly) boost.  I ran into problems using these that made me think that boost was too old of a version.  I then compiled boost 1.66 from source as well as cmake 3.11 rc1.  I deleted the pc-ble-driver-py directory, recloned the repository, and tried to compile again using the latest cmake and boost version.  The build fails with the following error:

    [ 14%] Building CXX object pc-ble-driver/CMakeFiles/pc_ble_driver_obj_sd_api_v3.dir/src/common/sd_rpc_impl.cpp.o
    In file included from /root/pc-ble-driver-py/pc-ble-driver/src/common/sd_rpc_impl.cpp:43:0:
    /root/pc-ble-driver-py/pc-ble-driver/include/common/internal/transport/uart_boost.h:100:18: error: ‘io_service’ in namespace ‘boost::asio’ does not name a type
    boost::asio::io_service ioService;
    ^
    /root/pc-ble-driver-py/pc-ble-driver/include/common/internal/transport/uart_boost.h:102:18: error: ‘io_service’ in namespace ‘boost::asio’ does not name a type
    boost::asio::io_service::work workNotifier;
    ^
    pc-ble-driver/CMakeFiles/pc_ble_driver_obj_sd_api_v3.dir/build.make:387: recipe for target 'pc-ble-driver/CMakeFiles/pc_ble_driver_obj_sd_api_v3.dir/src/common/sd_rpc_impl.cpp.o' failed
    make[2]: *** [pc-ble-driver/CMakeFiles/pc_ble_driver_obj_sd_api_v3.dir/src/common/sd_rpc_impl.cpp.o] Error 1
    CMakeFiles/Makefile2:311: recipe for target 'pc-ble-driver/CMakeFiles/pc_ble_driver_obj_sd_api_v3.dir/all' failed
    make[1]: *** [pc-ble-driver/CMakeFiles/pc_ble_driver_obj_sd_api_v3.dir/all] Error 2
    Makefile:83: recipe for target 'all' failed
    make: *** [all] Error 2

Reply
  • I think I may need to build pc-ble-driver-py to get further with this task, but I'm not able to build it.

    I started out using apt-get to install cmake and (if I remember correctly) boost.  I ran into problems using these that made me think that boost was too old of a version.  I then compiled boost 1.66 from source as well as cmake 3.11 rc1.  I deleted the pc-ble-driver-py directory, recloned the repository, and tried to compile again using the latest cmake and boost version.  The build fails with the following error:

    [ 14%] Building CXX object pc-ble-driver/CMakeFiles/pc_ble_driver_obj_sd_api_v3.dir/src/common/sd_rpc_impl.cpp.o
    In file included from /root/pc-ble-driver-py/pc-ble-driver/src/common/sd_rpc_impl.cpp:43:0:
    /root/pc-ble-driver-py/pc-ble-driver/include/common/internal/transport/uart_boost.h:100:18: error: ‘io_service’ in namespace ‘boost::asio’ does not name a type
    boost::asio::io_service ioService;
    ^
    /root/pc-ble-driver-py/pc-ble-driver/include/common/internal/transport/uart_boost.h:102:18: error: ‘io_service’ in namespace ‘boost::asio’ does not name a type
    boost::asio::io_service::work workNotifier;
    ^
    pc-ble-driver/CMakeFiles/pc_ble_driver_obj_sd_api_v3.dir/build.make:387: recipe for target 'pc-ble-driver/CMakeFiles/pc_ble_driver_obj_sd_api_v3.dir/src/common/sd_rpc_impl.cpp.o' failed
    make[2]: *** [pc-ble-driver/CMakeFiles/pc_ble_driver_obj_sd_api_v3.dir/src/common/sd_rpc_impl.cpp.o] Error 1
    CMakeFiles/Makefile2:311: recipe for target 'pc-ble-driver/CMakeFiles/pc_ble_driver_obj_sd_api_v3.dir/all' failed
    make[1]: *** [pc-ble-driver/CMakeFiles/pc_ble_driver_obj_sd_api_v3.dir/all] Error 2
    Makefile:83: recipe for target 'all' failed
    make: *** [all] Error 2

Children
Related