Simple Peripheral OAD On-chip

Table of Contents

Introduction

The simple_peripheral_oad_offchip project demonstrates on-chip OAD functionality with the simple_peripheral application. The application behavior is the same as the stock simple_peripheral project, with the exception that OAD is added.

On-chip OAD employs a dual image architecture. This means that two images share the same BLE-Stack. This project implements the Image B (user space application) application in the OAD on-chip demo. Image B is intended to be the end application image, while Image A is intended to be a lightweight implementation of the OAD profile.

FlashROM configurations use the split image configuration, which is explained here. FlashROM/split image configurations are required by OAD on-chip where two applications must share the same BLE-Stack.

Note: This application implements Image B and links to the oad_target_cc2640r2lp_stack project. Image A is implemented by oad_target_cc2640r2lp_app. Additionally you will have to load the bim_oad_onchip for the device to function properly.

This document seeks to extend the simple_peripheral project documentation that is already in place, and explain how simple_peripheral can be used to demonstrate on-chip OAD. For an advanced discussion of OAD, and an in-depth explanation of this project, please see:

** On-chip OAD Software Developer’s Guide Section**

Hardware Prerequisites

The default Simple Peripheral OAD on-chip configuration uses the LAUNCHXL-CC2640R2. This hardware configuration is shown in the below image:

For custom hardware, see the Running the SDK on Custom Boards section of the TI Bluetooth low energy Software Developer’s Guide.

Software Prerequisites

For information on what versions of Code Composer Studio and IAR Embedded Workbench to use, see the Release Notes located in the docs/blestack folder. For information on how to import this project into your IDE workspace and build/run, please refer to The CC2640R2F Platform section in the Bluetooth low energy Software Developer’s Guide.

Service/Profile Table

This project contains the simple service, which has 5 characteristics.

Note that BLE Scanner may report 128 bit UUIDs, but the project is generating 16 bit UUIDs.

Characterisitic UUID Format Properties Profile Source
1 FFF1 1 Byte Integer Read/Write simple_gatt_profile.c
2 FFF2 1 Byte Integer Read simple_gatt_profile.c
3 FFF3 1 Byte Integer Write simple_gatt_profile.c
4 FFF4 1 Byte Integer Notify simple_gatt_profile.c
5 FFF5 5 Byte Integer Read simple_gatt_profile.c

Additionally this project contains the OAD Reset service, which has 1 characteristic.

See ** OAD Reset Service Description in Software Developer’s Guide** for more information on the OAD service

Usage

This application uses the UART peripheral to provide an interface for the application. The UART is only used for display messages.

This document will use PuTTY to serve as the display for the output of the CC2640R2 LaunchPad, and it will use BLE Scanner as the phone app that will act as the central device that will connect to the Simple Peripheral device. Note that any other serial terminal and smart phone BLE application can be used. The following default parameters are used for the UART peripheral for display:

UART Param Default Values
Baud Rate 115200
Data length 8 bits
Parity None
Stop bits 1 bit
Flow Control None

For further guidance refer to ** On-chip OAD Software Developer’s Guide Section**