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

pc-ble-driver-py talking to ble_sdk_app_connectivity firmware issue

Hi, I tried to use pc-ble-driver-py script to talk to a nRF52840 DK. It works perfectly with the official connectivity app hex file (the one nRF-Connect PC application loads to the board). Because I need to switch serial port pins to match with my current hardware design, I compiled ble_sdk_app_connectivity from SDK15 but didn't work with the python code! I always get error code 13 on PC. 

For the test I've done these modifications on ble_sdk_app_connectivity project:

- Disabling all logging on UART ports 

- Switching the serial port pins for serialization:

#define SER_APP_RX_PIN NRF_GPIO_PIN_MAP(0,8) // UART RX pin number.
#define SER_APP_TX_PIN NRF_GPIO_PIN_MAP(0,6) // UART TX pin number.
#define SER_APP_CTS_PIN NRF_GPIO_PIN_MAP(0,7) // UART Clear To Send pin number.
#define SER_APP_RTS_PIN NRF_GPIO_PIN_MAP(0,5) // UART Request To Send pin number.

- Forcing the code to talk to seial port in 115200 baud

Questions:

1- Is it a correct assumption to say pc-ble-driver-py can talk to ble_sdk_app_connectivity firmware in general? If so, what was my mistake? Can you provide a version of ble_sdk_app_connectivity which works properly with pc-ble-driver-py throw USB cable (JLink UART)?

2- How can I have access to the source code of the official connectivity app firmware (the one nRF-Connect uses to program the boards for BLE connectivity)? 

Thanks

Parents
  • Hi,

    The connectivity firmware used for pc-ble-driver is a slightly modified version of the connectivity firmware from the SDK. You also must use the correct SDK version.

    We provide diffs (patch files) and scripts for automatically downloading the correct SDK version and applying the patches, in order to build the connectivity firmware. You will find all of this in the hex/ folder of pc-ble-driver on GitHub. Make sure to select the correct branch (all release versions are tagged with version number.)

    Regards,
    Terje

  • Thanks to your response, I set up everything for compiling ble_connectivity on SDK 15 . I used below parameters to download and patch files:

    ./bootstrap.sh -l https://developer.nordicsemi.com/nRF5_SDK/nRF5_SDK_v15.x.x/nRF5_SDK_15.0.0_a53641a.zip -d SDK15.0 -p sdk150_add_sd_v3v5_support.patch

    Unfortunately, when I tried to compile any version of ble_connectivity (using armgcc), I received below message at the end:

    /usr/local/gcc-arm-none-eabi-6-2017-q2-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/bin/ld: section .connectivity_version_info LMA [0000000000030000,0000000000030017] overlaps section .text LMA [0000000000023000,00000000000300ef]

     

    Could you please help me fix the problem? 

  • Hi,

    It looks like a mismatch between patch file and underlying SDK.

    What version of pc-ble-driver were you using? Current master seems to use a combination of SDK 15.0 and s132 v5.0, which seems a bit odd. There might be an issue there.

    Can you try with the latest tagged release, pc-ble-driver v3.0.1, which uses SDK 14.2 and s132 v5.0?

    There should also a shell script pc-ble-driver/hex/sd_api_v5/bootstrap_sd_api_v5.sh, which downloads, patches and builds the connectivity. Do you get the same errors when trying that one?

    Regards,
    Terje

  • Thanks to your help, I've managed to compile ble_connectivity project using gcc!

    One more thing:

    It seems the main branch of the patch (master) provides the ble_connectivety code just for pca10028, pca10036, and pca10040. Is there a technical problem on compiling the code for pac10056 (with softdevice S140 V6.1.0)? 

  • Hi,

    We do want to support SoftDevices version 6.1.0, but unfortunately I do not know when that support is ready. From what I understand there has been some technical challenges, but the team has taken the opportunity to do a bigger overhaul. There will be a new release of pc-ble-driver, including s140 v6.1.0 support, as soon as everything is ready and thoroughly tested.

    The version currently used by nRF Connect is v2.3.2. I was just made aware this is actually the latest release, as v3 releases were put on hold. I am very sorry for the misunderstanding!

    There are some short release notes on the releases page on github.

    Regards,
    Terje

  • Is there a target release date?  We need support for GPIO Port 1 on the nRF52840.

    Thanks,

    Bob

Reply Children
No Data
Related