nRF51 SDK - S110 SoftDevice
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Running a serialized application

If you want to use a BLE SoftDevice in applications that cannot be ported to nRF51, for example because they use specific peripherals or need more resources like RAM, flash memory, or CPU speed, you should consider using serialization.

The SDK provides a sample serialization setup consisting of two nRF51 Development boards. One of these boards serves as application board and hosts the actual Bluetooth application. The other board serves as connectivity board and supplies the radio connection. The application board with an nRF51 chip is provided as a reference only. You will need to port the serialized application to the microcontroller in the target system.

Serialization hardware setup

The sample serialization setup supports two physical transport interfaces: UART and SPI. See Figure 1 for an illustration of how to connect two development boards as an application board and a connectivity board supplying a UART connection.

UART_serialization.svg
Figure 1: Serialization UART

Figure 2 illustrates how to connect two development boards as an application board and a connectivity board supplying an SPI connection.

SPI_serialization.svg
Figure 2: Serialization SPI

Serialization software setup

Prepare the connectivity board by performing the following steps:

  1. Connect the board to the computer and make sure that the RESET wire is disconnected.
  2. Program the S110 SoftDevice on the connectivity board. See Running examples that use a SoftDevice for instructions.
  3. In Keil, open the Connectivity Example for the physical transport layer that you want to use:
    Physical transport layer Example name
    UART ble_connectivity_s110_uart_pca10028
    SPI ble_connectivity_s110_spi_pca10028
    HCI (reliable UART) ble_connectivity_s110_hci_pca10028
    If you are not using the Keil Pack Installer, you can find all examples in the following folder: <InstallFolder>\examples\ble_peripheral\ble_connectivity
  4. Compile the application and download the created .hex file to the connectivity board.

The application board does not need a SoftDevice. Prepare the application board by performing the following steps:

  1. Connect the board to the computer and make sure that the RESET wire is disconnected.
  2. Erase the chip on the application board as described in the nRF51 DK User Guide.
  3. In Keil, open one of the following serialized example projects:
    Example Example name Physical transport layers
    Alert Notification Application ble_app_alert_notification_s110_TransportLayer_pca10028 UART, SPI, HCI
    Beacon Transmitter Sample Application ble_app_beacon_s110_TransportLayer_pca10028 UART, SPI, HCI
    Blood Pressure Application ble_app_bps_s110_TransportLayer_pca10028 UART, SPI, HCI
    Cycling Speed and Cadence Application ble_app_cscs_s110_TransportLayer_pca10028 UART, SPI, HCI
    Glucose Application ble_app_gls_s110_TransportLayer_pca10028 SPI
    HID Keyboard Application ble_app_hids_keyboard_s110_TransportLayer_pca10028 UART, SPI, HCI
    HID Mouse Application ble_app_hids_mouse_s110_TransportLayer_pca10028 UART, SPI, HCI
    Heart Rate Application ble_app_hrs_s110_TransportLayer_pca10028 UART, SPI, HCI
    Health Thermometer Application ble_app_hts_s110_TransportLayer_pca10028 UART, SPI, HCI
    Proximity Application ble_app_proximity_s110_TransportLayer_pca10028 UART, SPI, HCI
    Power Profiling Application ble_app_pwr_profiling_s110_TransportLayer_pca10028UART, SPI, HCI
    Running Speed and Cadence Application ble_app_rscs_s110_TransportLayer_pca10028UART, SPI, HCI
    Apple Notification Center Service (ANCS) Client Application ble_app_ancs_s110_TransportLayer_pca10028SPI
    Direct Test Mode ble_dtm_s110_TransportLayer_pca10028 UART, SPI, HCI
    Choose the example project for the same physical transport layer as on the connectivity board.
  4. Compile the application and download the created .hex file to the application board.

See BLE Serialization for further documentation on serialization.