Overview

This section explains the major concepts involved in the OAD process from a high level. The concepts here will be expanded upon further in the following sections. Some concepts, such as the Boot Image Manager (BIM), may vary in their implementation details. Wherever possible, the concepts will be covered in this chapter with their implementation details covered in the following chapters.

OAD Types

There are two methods of implementing a firmware update using over the air download process. The key difference between the two methods is the location of the downloaded image.

On-chip:During On-Chip OAD, the downloaded image is written to internal flash, allowing for a single chip OAD solution.
Off-chip:Off-Chip OAD stores the downloaded image in an external flash part, requiring a two chip OAD solution. The below figure shows a comparison of different OAD methods. Each type of OAD has associated trade offs and benefits which will be discussed in their respective sections.
../../_images/aafig-d1a78a5ba92b45aeb837f603ef6d24fd04ad99ce.png

Despite their differences, both OAD methods share the same firmware image header format.

Table 10. OAD Types Overview.
OAD Type Advantages Limitations
On-chip
  • No external flash required
  • Application size restriction
  • Stack image cannot be upgraded
Off-chip
  • Ability to store multiple / backup images
  • Full application + stack upgrade
  • Maximum application size
  • Low power external flash required

Boot Image Manager (BIM)

The boot image manager (BIM) is a bootloader that runs after reset and copies a new application image either from internal or external flash to the destionation location. The BIM is a very simple application. It only checks whether a new image has been copied to the system. It is the application’s responsibility to receive the new image and to store it using the OAD service.

BIM’s implementation varies slightly for On-chip and Off-chip OAD solutions, thus there is a separate BIM example project for each.

Example Projects

The SDK provides example projects that show the OAD concept in action.

Table 11. OAD example projects in the SimpleLink CC13X0 SDK for EasyLink.
OAD Type BIM Project Application Project
On-chip bim rfWsnNodeIntFlashOadClient
Off-chip bim_extflash rfWsnNodeExtFlashOadClient